hallo wenn es irgendeine, die sich mit diesem Thema helfen kannExcel VBA - mein Suchen in meinem selcted Bereich funktioniert nicht
Ich habe eine Reihe von Gruppen 1 bis viele (bis zu 12 Zeilen - eine Zeile nach einer anderen pro Gruppe) der Anfangsteil des Strings als Wiederholung Ich weiß nicht, wie lange sie wiederholt werden, aber immer wenn sie sind, muss ich die relevanten Daten extrahieren, die alles nach dem wiederholten String sind. Jetzt sind nicht alle 12 Zeilen in der Gruppe, manchmal sind es 11 oder weniger, aber sie sind keine leeren Zeilen in der Gruppe von Daten, also was ich tue, sobald ich meine Kopfzeile finde, rufe ich ein Unterprogramm auf, um durch den Datenblock zu gehen und zu tun meine Extraktion, aber wenn ich zurück und verwenden sie die .findnext (v) erhalten wird es zum nächsten Kopf gehen nicht
With big_rng ' this is column A selected
Set v = .Find("Submarket:", LookIn:=xlValues, LookAt:=xlPart)
If Not v Is Nothing Then
firstAddress = c.Row
Do
Call this1(need, c.Row, tech, daily_date)
Set v = .FindNext(v)
need = need + 1
Loop While Not c Is Nothing And c.Address <> firstAddress
End If
End With
als ich this1 nennen, was ich tue einen anderen Bereich ist die Auswahl, weil ich meine weiß nicht, ob Daten, die ich eine weitere Auswahl in der richtigen Reihenfolge verwenden
Cells(i, 1).Select ' I know which row my group starts and I select down
Range(Selection, Selection.End(xlDown)).Select
' check for substrings and copy across if the substring exists e.g.
With Selection
Set d = .Find("Degradation =", LookIn:=xlValues, LookAt:=xlPart)
If Not d Is Nothing Then
spos = InStrRev(Cells(d.Row, 1), "=")
If Mid(Cells(d.Row, 1), spos + 1, 1) = " " Then
output_sht.Cells(n, 5) = Right(Cells(d.Row, 1), Len(Cells(d.Row, 1)) - (spos + 1))
Else
output_sht.Cells(n, 5) = Right(Cells(d.Row, 1), Len(Cells(d.Row, 1)) - spos)
End If
Else
output_sht.Cells(n, 5) = "Error in Data"
End If
wenn dieses Sub Ende meiner ursprünglichen Auswahl verschwunden ist (es war Spalte A: A), und mein .findnext (v) gibt mir die letzte Zeile der vorherige Gruppe nicht die erste Zeile der nächsten Gruppe, wenn man
existiert, wie kann ich über Findnext-Schleife während meiner ursprünglichen Auswahl in Takt zu halten
Danke im Voraus
Robert
Excel verwendet die letzten 'FIND'-Werte, wenn 'FINDNEXT' verwendet wird, also verwendet es die Werte in der' this1' Suche. Ich denke, du wirst ".FINDNEXT" durch ein anderes "FINDEN" ersetzen, indem du das letzte gefundene Objekt als Startpunkt verwendest, aber behalte die erste Adresse so, dass sie weiß, wann sie zum Start zurückkommt. –