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

188

    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. Jos venäjällä olisi kansan valitsema presidentti, olisiko Ukrainan sotaa?

      Ei varmasti olisi. Sehän on tiedossa, että raskaalla vaalivilpillä putin jatkaa pressana.
      Maailman menoa
      275
      3878
    2. Riikka jytkytti naftan hinnan jo yli 2,3 euroon

      Sannan aikaan esimerkiksi dieseliä selvästi kalliimpaa bensaakin sai 1,3 eurolla. https://www.is.fi/autot/art-200001188
      Maailman menoa
      73
      3466
    3. Vasemmiston feministinaiset puolustavat islamia

      mikä on täysin järjenvastaista, mutta eihän femakoilla paljon järkeä olekkaan, leijuvat siellä omassa kuplassaan. Myös
      Maailman menoa
      145
      2486
    4. Ei se halua mitään!!

      Arkailija koko tyyppi!
      Ikävä
      56
      2276
    5. Jätän tähän viesti kaivatullesi

      jos jotain jäänyt sanomatta. 👇
      Ikävä
      154
      1872
    6. Olet kyllä erittäin huono yhdistelemään pisteitä.

      Etkä vain sinä vaan kaikki teilläpäin.
      Ikävä
      34
      1687
    7. Onko jo liian "vanha" vai mitä mieltä olet? 57-v. saa raakaa tekstiä tv:ssä

      The Summit Suomi tv-ohjelmassa 57-vuotiaan Maritan jaksamista kyseenalaistettiin iän takia. Onko tässä iässä jo liian "v
      50 plus
      30
      1268
    8. Etkö sitten itse

      ole koskaan ylittänyt rajaa?
      Ikävä
      31
      1240
    9. Uskotko että vielä

      Kohtaisimme?
      Ikävä
      23
      1146
    10. Mitä järkeä iskeä

      Varattua ja yrittää saada sitä eroamaan
      Ikävä
      36
      1122
    Aihe