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

Forumthread: Werte in anderes Tabellenblatt kopieren per Makro

Werte in anderes Tabellenblatt kopieren per Makro
Litschis
Hallo zusammen,
ich stecke was VBA angeht in den Kinderschuhen und es geht eigentlich nur um das Kopieren von Werten von einem ins andere Tabellenblatt per Makro...eigentlich auch per Recorder möglich, aber ich habe eine Abhängigkeit drind. D.h. wenn man im Textfeld "1" für Gruppe 1 eingibt, sollen nach Betätigung des Buttons "Werte übernehmen", die Werte "a,b,c" in Tabelle 2 in die entsprechende Zeile für Gruppe 1 übernommen werden.
Außerdem möchte ich noch den "Werte zurücksetzten"-Button mit einem MaKro hinterlegen, meine Idee wäre hier

Private Sub CommandButton1_Click()
Range("D4") = ""
Range("D5") = ""
Range("D6") = ""
Range("D7") = ""
Range("D8") = ""
Range("E4") = ""
Range("E5") = ""
Range("E6") = ""
Range("E7") = ""
Range("E8") = ""
Range("F4") = ""
Range("F5") = ""
Range("F6") = ""
Range("F7") = ""
Range("F8") = ""
End Sub

Geht es evtl auch eleganter?...wie gesagt, bin totaler Anfänger ;-)
https://www.herber.de/bbs/user/77118.xls
Lieben Dank,
Litschis
Anzeige

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Werte in anderes Tabellenblatt kopieren per Makro
20.10.2011 16:35:42
Gerd
Hallo L.,
der nicht so wichtige Teil:

Private Sub CommandButton1_Click()
Range("D4:F8") = ""
End Sub

Gruß Gerd
AW: Werte in anderes Tabellenblatt kopieren per Makro
20.10.2011 16:39:31
Litschis
Super, danke Gerd! Wieder was dazu gelernt :-)
AW: Werte in anderes Tabellenblatt kopieren per Makro
20.10.2011 17:55:41
hary
Hallo
Fuer den Button auf Tabelle1.

Private Sub CommandButton1_Click()
If TextBox1 

gruss hary
Anzeige
Werte kopieren?
21.10.2011 13:46:23
Litschis
Hallo Hary,
vielen Dank, es klappt sehr gut! Nur habe ich in meiner Original Datei für die Werte a-c Formeln hinterlegt, ich möchte aber die Werte kopieren, sonst habe ich in Tabelle 2 nur #BEZUG stehen.
Wie müsste ich den Code modifizieren?
Vielen Dank!
Litschis
Läuft :-)
21.10.2011 15:05:44
Litschis
Danke für Eure Hilfe...folgender Code aus meiner Original Datei läuft jetzt ohne Probleme

Private Sub CommandButton2_Click()
If TextBox2 

Anzeige
AW: Läuft :-)
21.10.2011 15:11:48
hary
Hi
wollte gerade schreiben:
ersetz mal Paste:=xlValues durch Paste:=xlPasteValues
gruss hary
AW: Werte in anderes Tabellenblatt kopieren per Makro
25.10.2011 11:11:28
Litschis
Hallo zusammen,
ich habe mein obiges Excel-Bsp durch eine weitere Wertetabelle ergänzt, da ich jetzt zusätzlich eine Spalte per Makro (bzw. Drücken des Buttons "Werte übernehmen") kopieren will.
Die Werte C25:C39 aus Tabelle 1 sollen in Tabelle 2 an die Stelle M15:M29 kopiert werden, da im Textfeld Gruppe 4 eingetragen wurde.
Wie muss ich das bereits verwendete Makro

Private Sub CommandButton1_Click()
If TextBox1 
modifizieren, wenn ich sowohl die Zeile mit den Werten "a-c" als auch die Spalte mit den Werten "aa-oo" an entsprechende Stellen in Tabelle2 kopieren will?
https://www.herber.de/bbs/user/77171.xls
Vielen Dank für eure Hilfe!!!
LG Litschis
Anzeige
gelöst!
25.10.2011 15:57:51
Litschis
Hab's geschafft...habe statt range( ) einfach cells () geschrieben und mit Zahlen gearbeitet. Jetzt sieht es wie folgt aus:
https://www.herber.de/bbs/user/77182.xls
Vielen Dank nochmal für eure Hilfe!
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Werte in ein anderes Tabellenblatt kopieren mit VBA


Schritt-für-Schritt-Anleitung

Um Werte von einem Tabellenblatt in ein anderes zu kopieren, kannst du VBA (Visual Basic for Applications) verwenden. Hier ist eine einfache Schritt-für-Schritt-Anleitung, um dies zu erreichen.

  1. Öffne die Excel-Arbeitsmappe und gehe zu dem Tabellenblatt, von dem du die Werte kopieren möchtest.

  2. Drücke ALT + F11, um den VBA-Editor zu öffnen.

  3. Füge ein neues Modul hinzu:

    • Klicke mit der rechten Maustaste auf "VBAProject (deineDatei.xlsx)" und wähle "Einfügen" > "Modul".
  4. Füge den folgenden VBA-Code ein:

    Sub WerteKopieren()
       Dim Quellblatt As Worksheet
       Dim Zielblatt As Worksheet
    
       Set Quellblatt = ThisWorkbook.Sheets("Tabelle1") ' Quellblatt
       Set Zielblatt = ThisWorkbook.Sheets("Tabelle2")   ' Zielblatt
    
       ' Werte kopieren
       Quellblatt.Range("A1:A10").Copy
       Zielblatt.Range("B1").PasteSpecial Paste:=xlPasteValues
    
       Application.CutCopyMode = False ' Kopiermodus deaktivieren
    End Sub
  5. Schließe den VBA-Editor und gehe zurück zu Excel.

  6. Um das Makro auszuführen, gehe zu "Entwicklertools" > "Makros" und wähle WerteKopieren aus.


Häufige Fehler und Lösungen

  • Fehler: Laufzeitfehler 1004 beim Kopieren.

    • Lösung: Überprüfe, ob die Blattnamen korrekt sind. Sie müssen genau mit dem Namen in Excel übereinstimmen.
  • Fehler: Die Werte erscheinen als #BEZUG.

    • Lösung: Stelle sicher, dass du Paste:=xlPasteValues verwendest, um nur die Werte ohne Formeln zu kopieren.

Alternative Methoden

Falls du kein VBA verwenden möchtest, kannst du Werte auch manuell kopieren:

  1. Markiere den gewünschten Bereich in Tabelle1.
  2. Drücke STRG + C, um ihn zu kopieren.
  3. Wechsle zu Tabelle2 und wähle die Zielzelle aus.
  4. Drücke STRG + V, um die Werte einzufügen.

Diese Methode ist weniger automatisiert, aber einfach für gelegentliche Kopiervorgänge.


Praktische Beispiele

Hier sind einige praktische Beispiele, wie du VBA verwenden kannst, um bestimmte Zellen zu kopieren:

  1. Einzelne Zelle kopieren:

    Zielblatt.Range("A1").Value = Quellblatt.Range("B1").Value
  2. Bereich kopieren und in anderes Tabellenblatt einfügen:

    Quellblatt.Range("C1:C10").Copy
    Zielblatt.Range("D1").PasteSpecial Paste:=xlPasteValues
  3. Werte per Button übertragen: Wenn du einen Button in Excel hast, kannst du den Code an den Button anhängen, um die Werte zu übertragen, wenn der Button gedrückt wird.


Tipps für Profis

  • Nutze Application.ScreenUpdating = False am Anfang deines Makros, um die Bildschirmaktualisierung während der Ausführung zu deaktivieren. Dies beschleunigt die Ausführung erheblich.

  • Verwende Schleifen, um große Datenmengen effizient zu kopieren und zu verarbeiten:

    Dim i As Long
    For i = 1 To 10
       Zielblatt.Cells(i, 1).Value = Quellblatt.Cells(i, 2).Value
    Next i

FAQ: Häufige Fragen

1. Wie kann ich mehrere Zellen gleichzeitig kopieren? Du kannst einen Bereich definieren, z.B. Quellblatt.Range("A1:B10").Copy, und dann in das Zielblatt einfügen.

2. Wie kann ich den Inhalt einer Zelle zurücksetzen? Verwende den Code Zielblatt.Range("A1").Value = "", um den Inhalt einer Zelle zu löschen.

3. Kann ich Daten automatisch in andere Tabellen kopieren? Ja, du kannst Makros erstellen, die auf bestimmte Ereignisse reagieren, z.B. beim Ändern einer Zelle oder beim Klicken eines Buttons.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige