Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1720to1724
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

VBA - regulärer Ausdruck suchen

VBA - regulärer Ausdruck suchen
06.11.2019 12:35:47
Arnd-Olav
Hallo,
Ich habe eine Tabelle die z.B. von G23 bis M200 geht.
In dieser Tabelle muss ich in jeder Zeile eine Nummer finden und in die Spalte F derselben Zeile kopieren.
Die Nummer beginnt immer mit "2" und ist fünfstellig. Als regulärer Ausdruck dachte ich das wäre "[2][0-9]{4}$"
Lange Rede kurzer Sinn: Das funxt hinten und vorne nicht und es wäre super, wenn jemand diesen Code sozusagen schon im Kopf hätte. Ich hab schon gegoogelt wie ein Weltmeister, aber offenbar nicht genug oder ich bin zu dämlich...
Vielen Dank :(

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA - regulärer Ausdruck suchen
06.11.2019 12:57:37
Nepumuk
Hallo Arnd-Olav,
ich würde das Pattern so schreiben:
"2\d{4}"
Gruß
Nepumuk
AW: VBA - regulärer Ausdruck suchen
06.11.2019 12:59:38
Arnd-Olav
Danke dir, hast du mir nicht letztens auch schon geholfen ? ;)
Weißt du auch, wie ich eine row danach Zeiel für Zeiel durchsuche?
AW: VBA - regulärer Ausdruck suchen
06.11.2019 13:08:47
Nepumuk
Hallo Arnd-Olav,
so:
Public Sub Test()
    Dim objRange As Range
    Dim lngRow As Long, lngColumn As Long
    Set objRange = Range("G23:M200")
    For lngRow = 1 To objRange.Rows.Count
        For lngColumn = 1 To objRange.Columns.Count
            Debug.Print objRange.Cells(lngRow, lngColumn).Address
        Next
    Next
End Sub

Gruß
Nepumuk
Anzeige
AW: VBA - regulärer Ausdruck suchen
06.11.2019 13:25:06
Daniel
Hi
in dem Fall sollten die Standard-Joker noch ausreichen.
On Error Resume Next
for each Zelle in Range("F23:F200")
zelle.Value = Zelle.Offset(0, 1).Resize(1, 7).Find(what:="2?", lookat:=xlwhole, lookin:= _
xlvalues).value
Next
On error goto 0

nur wenn es Zeichenkombinationen gibt, die aus 5 Zeichen bestehen, mit einer "2" beginnen, aber in der Folge auch Buchstaben haben und daher nicht verwendet werden sollen, nur dann funktioniert obiges nicht.
in dem fall dann so, aber auch hier reicht das einfachere LIKE mit dem "#" als Joker für eine Ziffer
for z = 7 to 13
for s = 23 to 200
if Cells(z, s) like "2####" then
cells(z, 6).value = Cells(z, s).value
Exit for
end if
next
next

Gruß Daniel
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige