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
      68
      4017
    2. 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
      83
      3316
    3. Pakkoruotsista luopumalla kymmenien miljoonien säästöt

      Pakkoruotsin opiskelun kustannuksista ei ole juurikaan tehty kustannusselvityksiä, mutta joidenkin arvioiden mukaan siit
      Maailman menoa
      89
      3099
    4. Mitä muutoksia tekisit

      kaivatullesi? Miten on? Muista olla REHELLINEN 📸
      Ikävä
      97
      2928
    5. 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
      2634
    6. Seksuaalinen ahdistelu, naisten vähättely ja törkeä käytös naisia kohtaan kukkii rakennustyömailla

      Tällainen lienee ihan tavallisista kaikilla "äijävaltaisilla" työpaikoilla. Kaikki miesvaltaiset alat eivät ole toksise
      Maailman menoa
      229
      2462
    7. Miten Yxäri iskettiin?

      Voisin tässä unta odotellessani kertoa, miten mieheni lähestyi minua. Tunsimme entuudestaan. Hän kyseli minulta aina j
      Sinkut
      210
      2355
    8. Kerro minulle

      Miksi teit niinkuin teit? Miksi kielsit tunteesi minua kohtaan. Miksi et halunnut että tiedän oikeasti mitä tunnet. Etkö
      Ikävä
      72
      2332
    9. Rakkaalle J miehelle.

      Hitto mulla on sua ikävä. Haluisin heti nyt tulla sun syliin ja suudella sua.ja, ja ja... Hirveä ikävä.
      Ikävä
      92
      2249
    10. Kristinuskossa Isän ja Pojan ja Pyhän Hengen nimessä

      Jeesuksen kehoitus kastamiseksi Isän ja Pojan ja PH:n nimeen. Matt 28:19: "Menkää siis ja tehkää kaikki kansat minun
      Kaste
      402
      2178
    Aihe