Ich benötige etwas in VB um in einer Reihe das Zeichen „P“ zu finden und anschließend soll es in der selben Reihe nach dem Zeichen letzten vorkommenden „L“ suchen.
Zum Schluss den Abstand zwischen P und L zählen und in einer Zelle(z.B. A6) ausgeben.
Könnte mir dabei jemand helfen? VB ist nicht meine Baustelle…
Danke.
Was verstehst Du unter einer „Reihe“? Eine Zeile, eine Spalte oder eine Zeichenkette, die in einer Zelle steht?
Zum Auffinden von Zeichen in Zeichenketten gibt es den Befehl INSTR. Mit diesem Befehl kannst Du in einer Zeichenkette nach dem Vorkommen von Zeichen suchen. Er gibt 0 zurück, wenn das Zeichen nicht gefunden wurde oder eine Zahl, die die Position des Vorkommens darstellt. Alles weitere findest Du in der EXCEL-VBA-Hilfe.
Gruß Dieter
z.B. Gesucht wird in Zeile „10“ zwischen „B“ und „H“ das erste Zeichen P. Angenommen es wird bei „C“ gefunden, dann wird nach dem letzten „L“ gesucht. Angenommen angenommen bei „F“, dann wird die Differenz der beiden zusammengezählt bei „I“ ausgegeben:
C-D-E-F -> 4
Sub zaehlen()
Dim spalten, ziel, zelle, index
With ActiveSheet.UsedRange
spalten = .Columns.Count
Set ziel = .Resize(, 1).Offset(, spalten)
For Each zelle In .Resize(, 1)
With zelle.Resize(, spalten)
index = index + 1
On Error Resume Next
ziel.Item(index) = .Find(„L“, searchdirection:=xlPrevious).Column - .Find(„P“).Column + 1
On Error GoTo 0
End With
Next zelle
End With
End Sub
Ich benötige etwas in VB um in einer Reihe das Zeichen „P“ zu
finden und anschließend soll es in der selben Reihe nach dem
Zeichen letzten vorkommenden „L“ suchen.
Zum Schluss den Abstand zwischen P und L zählen und in einer
Zelle(z.B. A6) ausgeben.
Warum willst/musst Du das mit VBA ermitteln?
Die folgende Formel in A6 errechnet dir genau diese Differenz: