excel: “Argumenttyp ByRef unverträglich”

vba und die variablendeklaration… au weia. diese fehlermeldung kommt sicher jedem mal unter, der sich etwas mit vba beschaeftigt.

so hat man das mal gelernt mit der mehrfachdeklaration von variablen:

'Variablen deklarieren
Dim MyStartDate, MyEndDate, MyTempDate, MyDate As Date

nun z.b. eine funktion, welche als uebergabeparameter ein datum erwartet. wenn man dieser funktion nun die mit einem datum befuellten variable “MyTempDate” uebergibt, bekommt man die oben abgebildete fehlermeldung. und warum?

dazu muss man wissen, dass vb alle variablen, die nicht explizit mit einem bestimmten datentyp deklariert wurden, als “variant” deklariert. das tolle deklarieren von mehreren variablen in einer zeile funktioniert naemlich garnicht! dann hat ist der typ der o.g. variable “MyTempDate” naemlich “variant”.
um dem problem aus dem weg zu gehen, sollte man einfach alle variablen einzeln deklarieren. ist mehr arbeit, braucht mehr platz… aber funktioniert.

'Variablen deklarieren
Dim MyStartDate As Date
Dim MyEndDate  As Date
Dim MyTempDate As Date
Dim MyDate As Date

28. May 2012 by sd
Categories: Uncategorized | Tags: , | 1 comment

One Comment

  1. Danke sehr,
    diese Erkenntnis hat mich gerade ne 1/2 Std gekostet, wiedermal typische VB-‘Logik’…

Leave a Reply

Required fields are marked *