Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

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.
Antworten 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
Antworten 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.
Antworten Top
#4
Hallo,

nach welchen Muster suchst Du?
Gruß Stefan
Win 10 / Office 2016
Antworten 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.
Antworten Top


Gehe zu:


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