Schleifenproblem
16.08.2007 13:40:00
Claudia
ich durchlaufe Zellen in einem Tabellenblatt mit einer Schleife, lese dann ein bestimmtes Wort aus einer Zelle aus, dann setze ich den Zähler auf die Zelle mit dem bestimmten Text +1, um die darunter liegende Zeile zu erhalten. So verfahre ich auch, mit Text-1, um die darüber liegende Zeile zu erhalten.
Nun zum meinem eigentlichen Schleifenproblem, was eigentlich kein grosses ist, aber ich kenne mich leider mit Schleifen noch nicht allzugut aus:
Es kommt der Text "Testphase" mehrmals vor in meinem Tabellenblatt. Also findet er zunächst als Zeile vor dem Suchwort beispielsweise 2 - dann findet er als Zeile hinter dem Suchwort 4. Insgesamt schon nicht schlecht. Lege ich jetzt hier die Schleife herüber, dann fängt er aber den Bereich an mit 2, ich möchte aber, dass er mit 4 anfängt (also mit der Zeile hinter dem gesuchten Text), dann aber erst nach der Zeile vor dem gesuchten nächsten Text sucht und diese festlegt, und den Bereich zwischen 4 und der letzten Zeile vor dem nächsten gesuchten Wort benutzt.
Meine Tabelle:
Überschrift
Testphase
blablabla
blablablub
blaaaa
usw.
Testphase
lsdjfkljsdlf
lsdjflsdjf
lsdfjweio
usw.
Testphase
klsjdklf
lsdjfl
usw.
Testphase
ljk
usw.
Mein Code:
Dim obj As Range
Dim marker As Range
Dim row As String
Dim rowletzte As String
With ThisWorkbook.Worksheets("Tabelle1")
Do While (Cells.SpecialCells(xlCellTypeLastCell).Activate)
For Each obj In ActiveSheet.UsedRange
If obj = "Testphase" Then
row = obj.row + 1
rowletzte = obj.row -1
For Each G In Worksheets("Tabelle1").Range("G" & row & ":G" & rowletzte).Cells
If G.Value Worksheets("Tabelle1").Cells(row, 2) Then G.Value = 0
Next
End If
Next obj
Loop
End With
Er soll also den Bereich zwischen den Wörtern Testphase durchlaufen um später dann einige Bedingungen abzuarbeiten, d.h. momentan fragt er beim ersten Durchlauf als erstes die erste Zeile über dem ersten Wort "Testphase" ab und trägt dies in die Variable rowletzte.
Ich hoffe, mein Problem ist einigermassen verständlich dargestellt. Kann mir hier jemand helfen? Vielen Dank im Voraus.