Fehler beim Kompiliern: Objekt erforderlich ??!

  • Excel

Es gibt 4 Antworten in diesem Thema. Der letzte Beitrag () ist von petaod.

    Fehler beim Kompiliern: Objekt erforderlich ??!

    Guten Morgen community bin gerade dabei ein paar Excel Anweisungen zu automatisieren und hänge gerade an einem Problem wo ich kein Problem sehe :D Vielleicht kann mir ja jemand von euch auf die Sprünge helfen. Nebenbei bemerkt... alles was ich von VBA-Programmierung weiß habe ich mir selbst beigebracht und ich bin erst am Anfang also seid nachsichtig mit mir ;)

    Kurze Beschreibung was dieses Makro können sollte ... Ich will damit einen Wert aus einer Zelle holen die ich vorher über eine Inbox deklariert habe und diesen Wert dann kopieren und zu einem anderen Tabellenblatt wechseln... bis hier hin klappt alles... dann will ich durch eine weitere Inbox herausfinden in welche Spalte der Wert eingetragen wird und dann soll es die nächste freie Zeilenzelle in der Spalte suchen und den Wert einfügen...

    Visual Basic-Quellcode

    1. Sub ZellbereichCopyPaste()
    2. Dim RG As Range
    3. ThisWorkbook.Worksheets("Tabelle1").Activate
    4. Set RG = Application.InputBox("Welchen Bereich wollen Sie kopieren?" & Chr(13) & "Eingabemuster: A1 oder A1:B3", "Zellbereich kopieren", Type:=8)
    5. RG.Copy
    6. ThisWorkbook.Activate
    7. Worksheets("Berechnung").Activate
    8. Dim Col As Integer
    9. Set Col = Application.InputBox("In welcher Spalte wollen Sie einfügen?" & Chr(13) & "Hilfe: A = 1;B = 2; C = 3; und so weiter...", "Einfügen in...", Type:=1)
    10. Cells(Rows.Count, Col).End(xlUp).Cells.Offset(1, 0).Value = RG.Paste
    11. End Sub


    edit 29.05.2015 um 9:15 Uhr
    Ich habe es nun herausgefunden :D einfach das Set in Zeile 9 rauslöschen und schon funktioniert es :)

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „sielbick“ ()

    Die Ursache ist auch klar:

    Visual Basic-Quellcode

    1. Dim Col As Integer
    2. Set Col = Application.InputBox(...,1)

    Du versuchst einer Integer-Variablen ein Objekt zuzuweisen.
    Set weist Objekte zu. Zahlen lassen sich damit nicht zuweisen.
    Wenn du eine Nummer zuweisen willst, lass das Set weg
    --
    If Not Program.isWorking Then Code.Debug Else Code.DoNotTouch
    --