Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: VBA Zelle kopieren und einfügen

VBA Zelle kopieren und einfügen
07.08.2018 17:24:01
Friedrich
Hallo liebe Forumsmitglieder
leider sind meine VBA-Kenntnisse begrenzt und ich scheitere an folgendem Problem:
In einer Tabelle, die mittels VBA gefüllt wird benötige ich eine solche Funktion:
Sheets("Tabelle1").Range("A31") = Sheets("Tabelle2").Range("A33")
die auch sauber funktioniert. Die Zellbezüge stehen mir aber nur in der Z1S1-Schreibweise zur Verfügung.
Mein Versuch:
Sheets("Tabelle1").Range(Cells(1, 31)) = Sheets("Tabelle2").Range(Cells(1, 33)
klappt leider nicht.
Was mache ich falsch?
Vielen Dank im voraus
Cocco
Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA Zelle kopieren und einfügen
07.08.2018 17:29:13
onur
Es reicht:
Sheets("Tabelle1").Cells(1, 31) = Sheets("Tabelle2").Cells(1, 33)

Range soltest du nur bei MEHR als einer Zelle (und dann auch noch korrekt) benutzen.
AW: VBA Zelle kopieren und einfügen
07.08.2018 17:48:58
Werner
Hallo Onur und Cocco,
die Vertauschung dürfte wohl den Temperaturen geschuldet sein.
Sheets("Tabelle1").Cells(31, 1) = Sheets("Tabelle2").Cells(33, 1)
@Cocco:
der erste Wert ist die Zeilennummer, der zweite Wert die Spaltennummer.
Gruß Werner
Anzeige
AW: VBA Zelle kopieren und einfügen
07.08.2018 17:58:11
Friedrich
Danke Werner,
ich war schon am Verzweifeln. Jetzt klappt es.
Das ist ein kompliziertes Projekt, das ich nur zum Aufrechterhalten meiner Gehirnfunktionen begonnen habe. Früher, mit EXCEL 4.0 war alles einfacher. (nicht ernst gemeint)
Gerne u. Danke für die Rückmeldung. o.w.T.
07.08.2018 17:59:27
Werner

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Zelle kopieren und einfügen mit VBA in Excel


Schritt-für-Schritt-Anleitung

Um eine Zelle in Excel mit VBA zu kopieren und einzufügen, kannst du die folgende Vorgehensweise nutzen:

  1. Öffne den VBA-Editor mit ALT + F11.

  2. Füge ein neues Modul ein: Rechtsklick auf "VBAProject (dein Dokument)" > Einfügen > Modul.

  3. Kopiere und füge den folgenden Code in das Modul ein:

    Sub ZelleKopierenUndEinfuegen()
       Sheets("Tabelle1").Cells(1, 31) = Sheets("Tabelle2").Cells(1, 33
    End Sub
  4. Schließe den VBA-Editor und führe das Makro aus: ALT + F8, wähle ZelleKopierenUndEinfuegen und klicke auf "Ausführen".

Dieser Code kopiert den Inhalt von Zelle A33 in Tabelle2 und fügt ihn in Zelle AE1 in Tabelle1 ein.


Häufige Fehler und Lösungen

  • Fehler: "Typen unverträglich"

    • Lösung: Stelle sicher, dass die Zellen, die du kopieren möchtest, einen kompatiblen Datentyp haben.
  • Fehler: "Objektvariable oder With-Blockvariable nicht festgelegt"

    • Lösung: Überprüfe, ob die angegebenen Tabellenblätter existieren und korrekt benannt sind.
  • Fehler: "Index außerhalb des gültigen Bereichs"

    • Lösung: Vergewissere dich, dass die Zellen, auf die du zugreifst, innerhalb der Grenzen deiner Tabellen liegen.

Alternative Methoden

Neben der direkten Zuweisung gibt es auch andere Möglichkeiten, Zelleninhalte zu kopieren und einzufügen:

  • Kopieren und Einfügen als Wert:

    Sub ZelleKopierenAlsWert()
       Sheets("Tabelle1").Cells(1, 31).Value = Sheets("Tabelle2").Cells(1, 33).Value
    End Sub
  • Bereich kopieren und einfügen:

    Sub BereichKopierenUndEinfuegen()
       Sheets("Tabelle2").Range("A1:A10").Copy
       Sheets("Tabelle1").Range("B1").PasteSpecial Paste:=xlPasteValues
    End Sub

Praktische Beispiele

  1. Kopieren von mehreren Zellen:

    Sub MehrereZellenKopieren()
       Sheets("Tabelle1").Range("A1:A10").Value = Sheets("Tabelle2").Range("B1:B10").Value
    End Sub
  2. Kopieren und Einfügen einer gesamten Spalte:

    Sub SpalteKopierenUndEinfügen()
       Sheets("Tabelle1").Columns("A").Value = Sheets("Tabelle2").Columns("B").Value
    End Sub

Diese Methoden sind nützlich, wenn du große Datenmengen effizient verarbeiten möchtest.


Tipps für Profis

  • Verwende Application.CutCopyMode = False, um den Kopiermodus nach dem Einfügen zu beenden.

  • Wenn du mit großen Datenmengen arbeitest, erwäge, das Bildschirm-Update während des Makros zu deaktivieren:

    Application.ScreenUpdating = False
    ' Dein Code hier
    Application.ScreenUpdating = True
  • Nutze With-Anweisungen, um den Code leserlicher und effizienter zu gestalten.


FAQ: Häufige Fragen

1. Wie kann ich den Inhalt einer Zelle als Wert einfügen? Um den Inhalt als Wert einzufügen, verwende den .Value-Eigenschaft, z.B.:

Sheets("Tabelle1").Cells(1, 1).Value = Sheets("Tabelle2").Cells(1, 1).Value

2. Kann ich auch Formate beim Kopieren und Einfügen beibehalten? Ja, du kannst auch Formate beibehalten, indem du PasteSpecial verwendest:

Sheets("Tabelle2").Range("A1").Copy
Sheets("Tabelle1").Range("B1").PasteSpecial Paste:=xlPasteFormats

Nutze diese Anleitungen, um deine Excel VBA Fähigkeiten im Kopieren und Einfügen von Zellen zu verbessern!

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige