Vinnaren i pepparkakshustävlingen!
2013-11-12, 15:43
  #1
Medlem
Repins avatar
Hej,

jag har en massa data som är logiskt och vackert uppdelad, problemet är att den mesta datan är irrelevant.

I kolumn A finns rubriker, där det finns en rubrik är resten av raden tom, och vice versa:

Kod:
Rubrik 1
              Innehåll 1      Information
              Inehåll 2        Information
Rubrik 2
              osv...

Jag har gjort ett makro som sorterar ut de relevanta rubrikerna, och ger true för dem och false för de irrelevanta. Just nu hamnar true/false i en annan kolumn (det steget kommer jag givetvis kapa senare, men jag behåller det tills jag löst det aktuella problemet).

Det jag vill är alltså att när makrot hittar en rubrik som skall raderas
Kod:
For x = 1 To totalrows

    If Cells(x, 3) = False Then

så ska den radera alla rader ner till nästa rubrik.


Jag sitter inte och jobbar i dokumentet med den riktiga datan, utan har en förneklad modell just nu.
Citera
2013-11-12, 16:12
  #2
Medlem
Repins avatar
okej, lite pinsamt kanske att jag löste det en halvtimme efter att jag postat här.

Istället för att försöka skapa någon sorts range att radera, så raderade jag helt enkelt alla rader som är tomma just där:

Kod:
For x = 1 To totalrows

    If Not IsEmpty(Cells(x, 1)) Then
        If Cells(x, 3) = False Then
            Cells(x, 3).EntireRow.Delete
            Do While IsEmpty(Cells(x, 3))
            Cells(x, 3).EntireRow.Delete
            Loop
        End If
    End If
    
Next

Det fungerar visserligen på grund av att min data har den formen den har iofs. Men man hade nog kunnat ersätta Not IsEmpty med ett annat kriterium
Citera

Stöd Flashback

Flashback finansieras genom donationer från våra medlemmar och besökare. Det är med hjälp av dig vi kan fortsätta erbjuda en fri samhällsdebatt. Tack för ditt stöd!

Stöd Flashback