Seite 1 von 1

VBA-Frage

Verfasst: Fr Dez 14, 2018 2:44 pm
von Wolke
Ich möchte in Excel den Inhalt einer Zelle per Button in eine bestimmte Zelle (hier im Beispiel G12) auf einer bestimmten Mappe ("Zielmappe") kopieren.
Folgenden Code habe ich dafür probiert, bekomme jedoch immer eine Fehlermeldung:

Code: Alles auswählen

Sub kopieren()

    Selection.Copy
    Sheets("Zielmappe").Select
    cells(12, G). Select
    ActiveSheet.Paste

End Sub
Könnte mir da jemand helfen? Vielen Dank im Voraus.

EDIT nufan: Code-Tags

Re: VBA-Frage

Verfasst: Fr Dez 14, 2018 3:06 pm
von Xin
FAQ: Frage formulieren

"Eine Fehlermeldung" ist keine hilfreiche Problembeschreibung. :-)

Re: VBA-Frage

Verfasst: Fr Dez 14, 2018 8:44 pm
von Wolke
Entschuldige.
Die Fehlermeldung lautet:
"Laufzeitfehler 1004, Anwendungs- oder objektdefinierter Fehler"

Re: VBA-Frage

Verfasst: Sa Dez 15, 2018 11:35 am
von cloidnerux
Google sagt, dass das meist ein Fehler ist mit den Zugriffen, daher dein "ActiveSheet.Paste" bezieht sich evt auf das Sheet, auf dem dein Script gestartet ist und nicht deine "Zielmappe". Oder irgendwas ist Schreibgeschützt.

Re: VBA-Frage

Verfasst: So Dez 16, 2018 7:29 am
von Wolke
Die Zielmappe wird bei der Ausführung des Codes aufgerufen, auch die jeweilige Zelle in der "Startmappe" wird kopiert (es erscheint der charakteristische Rahmen um die Zelle), nur der Inhalt nicht in die Zelle G12 geschrieben, sondern stattdessen taucht o.g. Fehlermeldung auf. Schreibgeschützt ist die Mappe auch nicht. :(
Es scheitert im Prinzip am Schreiben des Zelleninhalts in die Zelle G12 auf der Zielmappe.

Re: VBA-Frage

Verfasst: So Dez 16, 2018 1:54 pm
von nufan
Hallo Wolke!
Ich kann deinen Fehler bei mir reproduzieren, allerdings bin ich kein VBA-Experte.

Ich konnte aber eine funktionierende Variante über die "Makro aufzeichnen" Funktion erstellen:

Code: Alles auswählen

Sub kopieren()
    Selection.Copy
    Sheets("Zielmappe").Select
    Range("G12").Select
    ActiveSheet.Paste
End Sub
Der Unterschied liegt also in der Verwendung der "Range" Funktion anstelle von "Cells".

Re: VBA-Frage

Verfasst: Mo Dez 17, 2018 6:40 am
von Wolke
Vielen Dank. Probiere ich gleich aus. :)

Re: VBA-Frage

Verfasst: Mo Dez 17, 2018 4:15 pm
von nufan
Ich habe mir deinen ursprünglichen Code nochmal angesehen. Das Problem am "Cells"-Aufruf ist, dass der Spaltenindex nicht unter Anführungszeichen gesetzt ist. So sieht der korrekte Aufruf aus:

Code: Alles auswählen

Cells(12, "G").Select

Re: VBA-Frage

Verfasst: Mi Dez 19, 2018 1:53 pm
von Wolke
Dankeschön. Was mich hier wundert - zwei Codes, gleiche Funktion...?

Re: VBA-Frage

Verfasst: Mi Dez 19, 2018 2:05 pm
von nufan
Sie sind ähnlich, aber doch nicht gleich:
Cells usually reference a single cell at a time, while Range references a group of cells at once.
Quelle: https://www.makeuseof.com/tag/excel-cel ... tions-vba/