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:
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/