Die Variablen in BNT-Click und MeineUnterSub haben zwar dieselben Namen, sind aber de facto verschieden. In der aufgerufenen Prozedur bestimmt allein die Stellung, welchen Wert die Variable erhält.
Allerdings verlangt MeineUnterSub bei dir einen Integer-Wert. Ihr wird aber ein Variant-Wert zugewiesen, da para1 in BTN_Click kein Typ gegeben wurde. Das verträgt sie nicht und gibt eine Fehlermeldung zurück. Warum ausgerechnet diese, ist mir auch nicht klar.
Also entweder
Private Sub BTN_Click() 'auslösendes Event
Dim para1 as integer,para2 as integer
para1=1
para2=2
'weiterer Code
Call MeineUntersub (para1, para2)
'weiterer Code
end sub
Sub MeineUntersub (para1 as integer, para2 as integer)
'Code der para1 und para2 auswertet
'diese Sub soll nichts an die obere Sub übergeben
end sub
oder
Private Sub BTN_Click() 'auslösendes Event
Dim para1,para2 as integer
para1=1
para2=2
'weiterer Code
Call MeineUntersub (para1, para2)
'weiterer Code
end sub
Sub MeineUntersub (para1 , para2 as integer)
'Code der para1 und para2 auswertet
'diese Sub soll nichts an die obere Sub übergeben
end sub
Ich empfehle sogar, die im Prinzip überflüssigen Dimensionierung für gewöhnliche Variablen wegzulassen. Arbeitsspeicher und Rechengeschwindigkeit heutiger Rechner sind so groß, dass in Allgemeinen keine vorherige Reservierung von Speichenplatz erforderlich ist. Das Argument, dass eventuelle Schreibfehler aufgedeckt werden, ist mehr oder weniger Blödsinn!
Gruß
Holger
|