warum Iam bekomme ich excel-VBA "Objekt erforderlich" Fehlermeldung, wenn ich geliefert haben, ist ein Objekt?

Mein Haupt-makro Aufrufe 4 sub-Makros und führt dann eine einzige Zeile code, der generiert dann das "Objekt erforderlich" Fehlermeldung. Ich kann nicht herausfinden, warum, denn ich bin die Versorgung eines Objekts (zumindest glaube ich, dass ich bin).

Mein code sieht wie folgt aus:

Sub main_macro()
    Call Mac1
    Call Mac2
    Call Mac3
    Call Mac4
    Range("B" & input1.Row).Value = Range("C" & scenario1.Row)     <-- this generates the error
End Sub

Sub Mac1()
   Dim input1 As Range
End Sub

Sub Mac2()
   Dim scenario1 As Range
End Sub

Sub Mac3()
   Set input1 = Range("A:A").Find("location1", LookIn:=xlValues, LookAt:=xlWhole)
End Sub

Sub Mac4()
   Set scenario1 = Range("A:A").Find("location2", LookIn:=xlValues, LookAt:=xlWhole)
End Sub
  • Anstatt Sie alle Makros und ruft Sie, fügen Sie Ihren code aus, jeweils in der main-makro. Variablen sind im Geltungsbereich nur innerhalb einer sub, es sei denn, Sie Unterschreiben eine "Globale" variable.
  • Ja, ich hatte eigentlich alles in 1 makro, mit zu beginnen, aber wie mache ich, das VIELE Male, ich habe die "Prozedur zu groß" Fehler, so dass ich beschloss, es zu brechen up.
  • sieht aus wie das hinzufügen der "public" - Deklaration am Anfang des Moduls behoben. Danke!
  • Ist das nicht, was ich damit sagen? 🙂 Auch ist es wichtig, dass, Sie behandeln die Ausgabe richtig, wenn Sie mit .Find wie unten gezeigt.
InformationsquelleAutor GideonShalev | 2012-05-20
Schreibe einen Kommentar