Kürze Schreibweise für Array gesucht
#1
Hallo liebe VBA Cracks,

ich habe folgenden Code:


Code:
Dim  varF

varf = Array(IsNumeric(Mid(vtr, 1, 2)), "*", IsNumeric(Mid(vtr, 4, 2)), "*", IsNumeric(Mid(vtr, 7, 5)), " ", IsNumeric(Mid(vtr, 12, 2)), "#", IsNumeric(Mid(vtr, 15, 2)), "#", IsNumeric(Mid(vtr, 18, 2)))


Da sich nun Isnumeric + Mid in meinem Array ständig wiederholen, wollte ich mal fragen, ob man die ganze Sache etwas eleganter, d.h. kürzer und übersichtlicher
schreiben könnte. Vielen Dank für eure Hilfe im voraus.
Top
#2
Hallo,

was soll dein Code erledigen? Könntest Du das besser erläutern und am besten den gesamten Code posten?
Gruß Stefan
Win 10 / Office 2016
Top
#3
Hallo Stefan,
ich möchte mit dem Code eine Mustererkennung durchführen:


Code:
'Mustererkennung:
vtr = "22*08*2015 08#25#46" 'String entspricht dem eigentlichen Muster, das untersucht werden soll.
var5 = Array(IsNumeric(Mid(vtr, 1, 2)), "*", IsNumeric(Mid(vtr, 4, 2)), "*", IsNumeric(Mid(vtr, 7, 5)), " ", IsNumeric(Mid(vtr, 12, 2)), "#", IsNumeric(Mid(vtr, 15, 2)), "#", IsNumeric(Mid(vtr, 18, 2)))

For i = 0 To UBound(var5)
If var5(i) = var2(i) Then Debug.Print "Stimmt"
Next

Es geht mir hier nicht um einen Stringvergleich! Der String vtr zeigt hier nur beispielhaft ein Muster /Format an. Die einzelnen Zahlen zwischen den Zeichen * und # können dabei beliebig sein,
statt 22 also auch 99, 87 der so. Aber das "Format" muss stimmen. Darf also bei den ersten beiden Zahlen nicht 3 stellig werden. Ebenso bei 2015 08 hier könnte auch 2080 + Leerzeichen dann 10 stehen. Wie gesagt der Computer soll mit dem entsprechenden Code das Muster erkennen.
Top
#4
Hallo,

nach welchen Muster suchst Du?
Gruß Stefan
Win 10 / Office 2016
Top
#5
Hallo Steffl,

ich glaube, das soll ein Datum-Zeit-String im Format DDMMYYYY hh:mm:ss werden.
Gruß

Edgar

Meine Antworten sind freiwillig und ohne Gewähr!
Über Rückmeldungen würde ich mich freuen.
Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste