Microsoft Excel

Herbers Excel/VBA-Archiv

Fehlermeldung "Argument ist nicht optional"

Betrifft: Fehlermeldung "Argument ist nicht optional" von: Marcl
Geschrieben am: 30.08.2004 07:22:23

Guten Morgen Excelforum,
ich habe einem anderen Forumsbesucher in OfficeForen beim Umschreiben eines Makros geholfen. Allerdings bin nun auch ich mit meinen Kenntnissen (die nicht sehr groß sind) am Ende.
Habe folgenden Makronamen von ihm bekommen:

Sub Daily_DEFECT_update(ByVal Target As Range)
.....
End Sub


Das Ding wollte ich mit einem anderen Makro starten

Sub start()
....
Call Daily_DEFECT_update
End Sub


nachdem ich das ganze Makro kompilieren wollte, kommt o.g. Fehlermeldung.
Was habe ich falsch gemacht??????

Gruß
Marcl
  


Betrifft: AW: Fehlermeldung "Argument ist nicht optional" von: Dan
Geschrieben am: 30.08.2004 08:02:23

Hallo Marc,
die subrutine "Sub Daily_DEFECT_update(ByVal Target As Range)" erwartet ein Parameter (ByVal Target As Range). Es ist ein Range Object, mit dem dann die Sub arbeitet. Also wenn man die Sub ruft, muss man den Argumet liefern, z.B. so :

dim rngBereich as range
set rngBereich = worksheets(1).usedrange

die sub rufen mit dem Argument rngBereich
call Daily_DEFECT_update(rngBereich)

oder ohne Call - ohne Klammern so :
Daily_DEFECT_update rngBereich
der Parameter Target wird also mit dem usedrange des Worksheets(1) initialisiert
Hats einbischen gelolfen :-) ?
Du kanns noch im Help nachchauen, und woerter wie Call, ByVal, Sub oder so suchen.
Gruss Dan, CZ.


 

Beiträge aus den Excel-Beispielen zum Thema "Fehlermeldung "Argument ist nicht optional""