Zellwerte mit RegEx vergleichen
23.06.2016 13:29:14
Anton
folgende AM: https://www.herber.de/bbs/user/106459.xlsm
In Tabelle1 Spalte A soll ein Muster gesucht werden. Falls das Muster nicht gefunden wird soll die komplette Zeile gelöscht werden. Wenn gefunden, soll das Muster in Tabelle2 Spalte B gesucht werden und mit Offset die zugehörige URL als Zellwert der ursprünglich gefunden Zelle in Tabelle1 Spalte A geschrieben werden.
Hier mein Ansatz:
Sub ZellenVergleichen()
Dim lngZeile As Long
Dim lngZeileMax As Long
Dim zelle As Range
Dim objRegEx As New RegExp
Dim objMatch As MatchCollection
With objRegEx
.Global = False
.Pattern = "\d{5}."
End With
With Tabelle1
lngZeileMax = .Cells(.Rows.Count, 1).End(xlUp).Row
For lngZeile = 1 To lngZeileMax
Set objMatch = objRegEx.Execute(.Range("A" & lngZeile).Value)
If objMatch.Count 0 Then
For Each zelle In Tabelle2.UsedRange.Columns(2)
If zelle.Value = objMatch(0) Then
zelle.Offset(0, -1).Copy .Cells(lngZeile, 1).Value
End If
Next zelle
Else
.rows(lngZeile).delete
End If
Next lngZeile
End With
End Sub
Ist der Ansatz so ok oder habt ihr vielleicht Verbesserungsvorschläge. Evtl. könnte man die Spalte A&B in Tabelle2 in einen Array einlesen und dann vergleichen. Danke für eure Unterstützung.
VG Anton
Anzeige