AW: Zahl im Text herausfinden vba
30.12.2008 19:05:00
Harald
Hallo Robert hier meine Lösung
'#######################################################################################
' Prozedure : RechNR_auslesen
' Autor : Harald
' Datum : 30.12.2008 18:58
' Aufgabe : Das Auslesen der Rechnungsnummer aus dem Verwendungszweck eines Kontoauszug
'#######################################################################################
' alles was ich kommentiert habe verstehe ich auch den Rest nicht aber es funzt Dank Nepumuk
Sub RechNR_auslesen()
Dim objRegEx As Object, objMatch As Object, objMatchCollection As Object
Dim strText As String
cRow = [MAX(IF(C1:C65000="",0,ROW(C1:C65000)))] 'letzte Zeile finden auch bei ausgeblendeter _
Zeilen
Nr = Array("205", "206", "207", "208", "209", "210", "211")
For b = 0 To 6
For a = 2 To cRow
'In Spalte 4 steht der Verwendungszweck hier kann alles mögliche stehen Zahlen Text
'wichtig für mich ist aber nur die 6stellige Rechnungsnummer und die fängt an zb 205 _
oder 206 usw.
strText = Cells(a, 4)
Set objRegEx = CreateObject("VBScript.RegExp")
With objRegEx
.MultiLine = True
.Global = True
.IgnoreCase = True
.Pattern = Nr(b) & "\d{3}"
Set objMatchCollection = .Execute(strText)
End With
For Each objMatch In objMatchCollection
'Hier wird die Rechnungsnummer in Spalte 9 eingetragen
Cells(a, 9) = objMatch.Value
' MsgBox "Wert: " & objMatch.Value & " Position: " & objMatch.FirstIndex & " Länge: " _
& objMatch.Length
Next
Next a
Next b
End Sub
mfg
Harald