Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema MsgBox
BildScreenshot zu MsgBox MsgBox-Seite mit Beispielarbeitsmappe aufrufen

Laufzeitfehler '449', Argument ist nicht optional

Betrifft: Laufzeitfehler '449', Argument ist nicht optional von: Joerg
Geschrieben am: 20.09.2004 15:55:47

Hallo,
ich versuche aus einem Dropdown Menü verschiedenen Module laufen zu lassen, jenachdem welche Option im Dropdown Menü ich anklicke, läuft ein anderes Modul ab.

Private Sub Worksheet_Change(ByVal Target As Range)

Range("A2:A16").Font.ColorIndex = 2
   If Target.Address <> "$A$6" Then Exit Sub

Run Target.Value

End Sub


Die folgenden Subs stehen in Module.
Wenn folgendes Sub aufgerufen wird funktioniert das auch einwandfrei.

Sub Inhalt_löschen()
MsgBox "Ich bin Inhalt_löschen"
End Sub

Doch bei dem folgendem Modul erhalte ich immer die Fehlermeldung : Laufzeitfehler '449', Argument ist nicht optional


Sub Inhalt_einfügen(ByVal Target As Range)
MsgBox "Ich bin Inhalt_einfügen"
' If Target.Count > 1 Then Exit Sub
If Target.Column = 1 Then
Range(Cells(Target.Row, 3), Cells(Target.Row, 8)).PasteSpecial Paste:=xlPasteValues
End If
End Sub


Wer kann mir weiterhelfen ?

Danke Joerg
  


Betrifft: AW: Laufzeitfehler '449', Argument ist nicht optional von: Ulf
Geschrieben am: 20.09.2004 16:22:33

Du musst der Unterprozedur eine Variable für Target übergeben. Der Begriff Target
wird schon von Excel verwendet und sollte deshalb nicht als Variable genommen werden.

Ulf


  


Betrifft: AW: Laufzeitfehler '449', Argument ist nicht optional von: ypsilon
Geschrieben am: 20.09.2004 16:23:05

hi Joerg,
Application.EnableEvents = False
Range(Cells(Target.Row, 3), Cells(Target.Row, 8)).PasteSpecial Paste:=xlPasteValues
Application.EnableEvents = True
und du musst logischerweise etwas zum einfügen in der zwischenablage haben
cu Micha


 

Beiträge aus den Excel-Beispielen zum Thema "Laufzeitfehler '449', Argument ist nicht optional"