Ich habe 2 Fragen zum Umgang mit Arrays:
1. Auslesen Array mit for each Funktion an Variablentyp Variant gebunden ?
Bsp findet sich in Prozedur "Auslesen_Array"
Ich habe eine Array namens "Test_Array" angelegt, das Jahre enthält. In der Variablendeklaration ist es von Typ Variant angelegt.
mit for each .... kann ich die Elemente des Arrays auslesen.
Wenn ich den Typ des Arrays auf String ändere, klappt der for each Befehl nicht.
Ist "for each" an den Variablentyp Variant gebunden ?
2. Position eines Strings (in meinem Fall ein konkretes Jahr) im Array "Test_Array" finden. Das Test_Array enthält austeigend die Jahre 2010 bis 2020. Ich suche 2022. Im Direkteingabefenster rufe ich dne Prozedur durch call Durchsuchen3 auf. Ich bekomme allerdings einen Run time error 5 in der Zeile Found_Row .... Warum ? Wie kann ich das vermeiden. Ich hätte gerne den Rückgabewert 9 = Jahr 2018. Wenn ein Jahr gesucht wird, dass nicht im Array enthalten ist soll der Rückgabewert Null sein.
Da ich nicht sicher bin, ob das mit dem Hochladen der Datei klappt zur Sicherheit der kleine Quelltext.
Test_Array = Array("2010", "2011", "2012", "2013", "2014", "2015", "2016", "2017", "2018", "2019", "2020")
Sub Durchsuchen3()
Dim Found_Row As Variant
Dim Err As Integer
Dim Search As String
Search = "2018"
Found_Row = (Application.Match(CStr(Search), Test_Array, 0))
-> Anmerkung: hier entsteht ein Run time error 5 Invalide Procedure Call or _
argument
End Sub
Danke im Voraus für Eure HilfeGruß
Lars