rivin poisto ja sen merkitys

welivexeli

Kysymys1:
Pitäisi tehdä makro, jolla verrataan erään solun (A4) arvoa A-sarakkeen soluihin A7-A500 ja kun vastaava löytyy, niin koko kyseinen rivi pitäisi deletoida. Eli jos A4=A7:A500 deletoi se rivi, josta löytyy vastaava arvo, kuin A4.

Kysymys2:
Taulukon yllä on 3 kpl VLOOKUP ja 1 kpl SUM- funktioita. Jos taulukosta poistaa tai siihen lisää rivejä, niin rivinumerointi elää siitäkin huolimatta, että funktiossa on suorat suluviittaukset, eli $ rivinumeroinneissa, alla esimerkit. Onko mahdollista säilyttää rivinumerointi, vaikka rivejä poistuu tai lisääntyy?
=VLOOKUP(A6;$A$9:$A$501;1;FALSE)
=SUM($C$9:$C$501)


Olisin kiitollinen jos näihin saisi jotain apua;

6

186

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • Kyssäri1

      moduuliin...

      Option Explicit

      Function EtsiJaSiirrä(Hakuehto As Variant, HakuAlue As Range) As Range

      Dim solu As Range
      Dim EkaOsoite As String
      Worksheets("Sheet1").Activate
      With HakuAlue
      Set solu = .Find( _
      What:=Hakuehto, _
      LookIn:=xlValues, _
      LookAt:=xlWhole, _
      SearchOrder:=xlByRows, _
      SearchDirection:=xlNext, _
      MatchCase:=False, _
      SearchFormat:=False)
      If Not solu Is Nothing Then
      Set EtsiJaSiirrä2 = solu
      EkaOsoite = solu.Address
      Do
      Set EtsiJaSiirrä2 = Union(EtsiJaSiirrä2, solu)
      Set solu = .FindNext(solu)
      Loop While Not solu Is Nothing And solu.Address EkaOsoite
      End If
      End With
      End Function

      Sub Testi2()
      Dim Löydetty As Range
      Dim solu As Range
      On Error GoTo virhe
      Set Löydetty = EtsiJaSiirrä(Range("A4"), Range("A7:A500"))
      Löydetty.EntireRow.Delete
      Exit Sub
      virhe:
      MsgBox "hakuehdoilla ei löytynyt tietoja!", vbInformation
      End Sub

      Kyssäri2

      =VLOOKUP(A6;INDIRECT("A9:A501");1;FALSE)
      =SUM(INDIRECT("C9:C501"))


      Keep EXCELing
      @Kunde

    • welivexeli

      Kiitos kunde. Tuo moduuli onkin viikon juttu, että pääsee tuohon sisälle, testaan kyllä pian. Mutta hassua on tuo INDIRECTin toimivuus matemaattisessa funktiossa. Ymmärsin niin, että siinä asiat käsitetään tekstitiedostoina, enkä saa sitä toimimaan millään... mitä en ole nyt ymmärtänyt?

    • welivexeli

      OKEY. Kylläpä nuo toimikin pienellä viilauksella... kiitos vielä. Kun nyt olen päässyt makuun, niin olisi vielä ihan pikkuinen kysymys. Olen muotoillut painonapin, jossa makro hakee kentistä A6 - D6 syötetyt arvot, kopioi ne, lisää rivin, liittää sinne, tyhjentää syöttökentät ja järjestelee rivit päiväyksen mukaan. Kaikki toimii hienosti, mutta moduuliin pitäisi saada ehto, jolla estetään tyhjien rivien syöttäminen, eli. Painetaan nappia...

      Jos soluissa A6 - D6 on jotain tee nämä; (kopioi, lisää rivi, liitä, tyhjennä)

      Muutoin vaan järjestele.


      Olen yrittänyt kaikkea ifelse jne. mutta en ole saanut muotoa oikein, jolla toimisi. Voisiko tähän vielä saada apua, vaan siis ehto puuttuu?

    • weli'hermo'vexeli

      OKEY taas. Menee vähän yksinpuheluksi, mutta sain viimeisenkin ongelman ratkaistua, kun aikani väänsin ehtoja.

      Aloitin suojaamaan alustavasti taulukkoa niin, että vaan 4 solua on vapaat, eli toimivat syöttökenttinä. palautuipa taas nämä ikävät tosiasiat mieleen, että suojaus on aivan naurettavan kömpelö... eipä siellä alla pyöri mikään muutos taulukossa! Millä nyt estän tumpeloinnit?

      • tossapa vastaus kyssäreihin...

        Sub Suojaa()
        ' poistaa taulukon suojauksen salasanalla
        ActiveSheet.Unprotect "kunde"
        ' tsekkaa onko alue tyhjä
        If Application.WorksheetFunction.CountA(Range("A6:D6")) > 0 Then
        MsgBox "alueella on tietoa"

        Else
        MsgBox "alue on tyhjä"
        End If
        ' suojaa taulukon salasanalla
        ActiveSheet.Protect "kunde"
        End Sub

        Keep EXCELing
        @Kunde


    • welivexeli

      KIITOS, eipä oikestaan ole käynyt mielessäkään moinen. Nättiä, nöyrin anteeksipyyntö excelin kömpelyyden mainitsemisesta... itse olen aika kömpelö :)

    Ketjusta on poistettu 0 sääntöjenvastaista viestiä.

    Luetuimmat keskustelut

    1. Asiakkaalle ei myyty energiajuomaa - tuomio tuli syrjinnästä

      Vaikka oli ilmeisesti täysi-ikäinen. Tosin ei lapsiakaan saisi syrjiä, koska oppivat helposti itsekin syrjimään, jos koh
      Maailman menoa
      40
      2414
    2. Kuhmossa rallit alkoi ennen aikojaan

      Paettiin polliisia törkeästi? Se tuo rallikiima on näemmä saavuttanu paikalliset tommi mäkiset kiljupäissään auton rat
      Kuhmo
      37
      1988
    3. Miksi aina pitää kilpailla parhaudesta?

      Mua ärsyttää se, että kaikki kilpailut ja visailut keskittyvöt aina siihen, kuka on paras missäkin. Tänäkin aamuna tuli
      Sinkut
      60
      1765
    4. 41000 kavallettu rahaa

      uutisoi Kaleva ja iltasanomat vuosina 2020-2022 välisenä aikana hävinnyt toi summa tuomittu nainen 1971 syntynyt.
      Pyhäjärvi
      51
      1649
    5. Pakkoruotsista luopumalla kymmenien miljoonien säästöt

      Pakkoruotsin opiskelun kustannuksista ei ole juurikaan tehty kustannusselvityksiä, mutta joidenkin arvioiden mukaan siit
      Maailman menoa
      52
      1639
    6. Tuleeko tästä

      Enää mitään. Voiko mitään enää korjata?
      Ikävä
      111
      1563
    7. Kaste tulisi tehdä apostolisella tavalla Ap. t. 2:38 mukaan

      Apostolit eivät kastaneet kolminaisuuden nimellä vaan Jeesuksen alkuperäisen käskyn mukaisesti: Ap. t. 2:38 Niin Pietar
      Kaste
      69
      1535
    8. Mitä muutoksia tekisit

      kaivatullesi? Miten on? Muista olla REHELLINEN 📸
      Ikävä
      91
      1473
    9. Fantasioista

      Suurimmalla osalla meistä on jonkinlaisia eroottisia fantasioita. Miten sinä suhtaudut fantasioihin? Ruokitko niitä vai
      Sinkut
      132
      1349
    10. Luterilaisen kirkon koko kastekaava on väärä

      Uudessa testamentissa on kaksi täysin ristiriidassa olevaa kastekäskyä Matt 28:19 ja Ap. t. 2:38. Matteuksen evankeluimi
      Kaste
      41
      1314
    Aihe