Das insgesamt Ziel ist es, die Zeichen zwischen den Kommas und verwenden Sie sie jeweils in einem anderen Stück Code. Wenn jemand einen optimalen Weg kennt, lass es mich wissen.VBA: Warum gibt meine FOR-Schleife nichts zurück?
Das Problem:
Ich versuche, um die Positionen der Kommas in der Zeichenfolge zu finden.
Der String:
Dim st As String
st = "1642377,001642381,010301642379"
Mein Versuch:
For pos = 1 To Len(st)
If Mid(st, pos, 1) = "," Then
MsgBox ("Position of comma:" & pos)
End If
Next
Derzeit Rückkehr:
Der Code gibt nichts zurück. Die If
-Bedingung gibt nicht wahr zurück.
Erwartetes Ergebnis:
A MsgBox
sollte zweimal auftauchen, die Position des Kommas jedes Mal zeigt.
Jemand hat Ihnen einen besseren Weg, dies zu tun, aber ich schätze, dass Ihre Schleife überhaupt nicht läuft .... Ihr Code zeigt 'Für pos = 1 zu len (st)', aber was ist 'st'? Sie zeigen nicht, wie es deklariert wurde oder wie lange es ist ... Wenn Sie durch den Code gehen, sollten Sie in der Lage sein zu sehen, was passiert. – OpiesDad
@OpiesDad wops, sorry. 'st' ist einfach die Saite. – DarthVoid
Wenn Sie herausfinden möchten, warum Ihre Schleife nicht funktioniert, geben Sie eine vollständige Subdatei mit Deklarationen und Zuweisungen ein. Siehe [MCVE]. Verwenden Sie ['Option Explicit'] (https://msdn.microsoft.com/en-us/library/bw9t3484%28v=vs.84%29.aspx), wenn Sie es noch nicht verwenden. - Wahrscheinlich werden Sie das Problem dabei selbst finden. – Andre