Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
896to900
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
896to900
896to900
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Schleifenproblem

Schleifenproblem
16.08.2007 13:40:00
Claudia
Hallo,
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.

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Schleifenproblem
16.08.2007 14:42:00
Ingo
Hallo Claudia,
Hier ist ein Muster für ene Schleife. Die Zellen mit "Testphase" stehen in Spalte A. Der Bereich zwischen den gefundenen Wörtern wird in Spalte C rot eingefärbt:

Sub testtt()
Dim rng As Range
Dim bln As Boolean
Dim row_danach As Integer, row_davor As Integer
bln = True
For Each rng In ActiveSheet.UsedRange.Columns(1).Cells
If rng = "Testphase" Then
If bln = True Then
row_danach = rng.Row + 1
bln = Not bln
ElseIf bln = False Then
row_davor = rng.Row - 1
Range("C" & row_danach & ":C" & row_davor).Interior.ColorIndex = 3
row_danach = rng.Row + 1
End If
End If
Next rng
End Sub


mfG
Ingo Christiansen

Anzeige
AW: Schleifenproblem
16.08.2007 15:13:11
Claudia
Hallo Ingo,
vielen Dank! Nun komme ich schon gut weiter - denke ich. Der nächste Schritt ist also nun, meine Anweisungen in den Teil zu schreiben, der im Beispiel rot eingefärbt wird -
Danke, danke.
Claudia Neu

AW: Schleifenproblem
16.08.2007 15:16:00
Claudia
Hallo Ingo,
auf die Idee, mit einer boolschen Variablen zu arbeiten, bin ich da nicht gekommen...
Danke.

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige