ich habe in Excel-VBA eine Funktion erstellt, um unterschiedliche Arrays nach unterschiedlichen Variablen filtern zu können - je nachdem, wie ich es grad brauche.
Am Ende benötige ich nur die Info: "ist vorhanden" oder "ist nicht vorhanden".
Beim Ausführen erhalte ich jedoch den Laufzeitfehler 13 "Typen unverträglich".
Um dem auf den Grund zu gehen, habe ich innerhalb der Funktion testweise ein weiteres Array erstellt - und hier tritt der Fehler nicht auf.
Also liegt es wohl an den unterschiedlichen Deklarationen des Arrays - in meinem Screenshot (s.u.) kann man die unterschiedlichen Typen von "Bereich" und "test" erkennen.
Ich habe keine Ahnung, was genau ich ändern muss, damit der Fehler nicht mehr auftritt.
Ehrlich gesagt bin ich außerdem sehr verwirrt darüber, dass es überhaupt Abweichungen bei der Deklaration gibt ... ich hätte das gar nicht erwartet.
Aber ich habe auch nicht viel Ahnung von VBA und "wurschtel" mich nur so durch.
Kann mir jemand helfen, mein Problem zu lösen?
Noch besser: Kann der- oder diejenige mir außerdem noch erklären, warum VBA die Arrays so unterschiedlich anlegt?
[Zur Info: Ich bin eigentlich eine Host-COBOL-Programmiererin und deshalb mit diesen vielen unterschiedlichen Datentypen überhaupt nicht vertraut. Mir kann man eher mit 88er Stufen kommen. Dann verstehe ich, worum es geht. ;-)]
Danke für eure Mühe :-)
Katrin
****************************
Hier alle imho notwendigen Informationen zu meinem Problem:
(Wenn ihr doch noch mehr wissen müsst, einfach Bescheid geben.)
(1) Deklaration des Arrays:
Public arrPrüfHO(3) As String
(2) Füllen des Arrays:
a = w_p.Range(Prüf_HO).Value
For subs = 1 To arrPrüfHOrows
arrPrüfHO(subs) = a(subs, 1)
Next subs
(3) Aufruf der Funktion:
If IsValid(arrHO(1), arrPrüfHO) = False Then
(4) Screenshot beim Durchlauf der Funktion inklusive der Überwachungsausdrücke: