Vba Excel Daten Aus Anderer Tabelle übernehmen

Hey! Na, schon wieder am Excel-Schreibtisch gefesselt? Keine Sorge, kennen wir alle! Heute quatschen wir mal über VBA und wie du Daten von einem Excel-Sheet ins andere zaubern kannst. Klingt kompliziert? Papperlapapp! Ist einfacher als du denkst. Versprochen!
Stell dir vor, du hast zwei Excel-Tabellen. Eine mit Kundendaten und die andere... sagen wir, mit Bestellungen. Und jetzt willst du die Kundennamen aus der einen Tabelle in die andere übertragen. Von Hand abtippen? Um Gottes Willen, wer hat denn dafür Zeit? Wir sind hier schließlich im 21. Jahrhundert! Also, lass uns VBA anwerfen!
Los geht's: VBA-Code schnippeln
Öffne deinen Excel-Kumpel und drücke ALT + F11. Zack! Der VBA-Editor öffnet sich. Sieht erstmal beängstigend aus, aber keine Panik. Ist nur Code, der brav tut, was du ihm sagst. Fast immer jedenfalls.
Jetzt ein neues Modul einfügen: Einfügen -> Modul. Und dann rein mit dem Code! Hier kommt ein Beispiel, das du natürlich an deine Bedürfnisse anpassen musst:
Sub DatenKopieren()
Dim QuelleTabelle As Worksheet
Dim ZielTabelle As Worksheet
Dim LetzteZeileQuelle As Long
Dim i As Long
' Welche Tabellen sind beteiligt? Hier eintragen!
Set QuelleTabelle = ThisWorkbook.Sheets("Quelle")
Set ZielTabelle = ThisWorkbook.Sheets("Ziel")
' Bis wohin geht die Tabelle in der Quelle?
LetzteZeileQuelle = QuelleTabelle.Cells(Rows.Count, 1).End(xlUp).Row
' Jetzt durch die Zeilen loopen
For i = 2 To LetzteZeileQuelle ' Die 2, weil die erste Zeile ja die Überschrift ist, oder?
' Hier die Daten auslesen und in die Ziel-Tabelle schreiben
ZielTabelle.Cells(i, 1).Value = QuelleTabelle.Cells(i, 1).Value ' Spalte A
ZielTabelle.Cells(i, 2).Value = QuelleTabelle.Cells(i, 2).Value ' Spalte B
' ... und so weiter für alle Spalten, die du brauchst
Next i
MsgBox "Datenübertragung abgeschlossen! *Freu hüpf* "
End Sub
Wow, Code! Nicht erschrecken. Gehen wir's kurz durch, okay?
- QuelleTabelle und ZielTabelle: Hier sagst du VBA, welche Tabellen gemeint sind. Unbedingt die richtigen Namen eintragen! Sonst... tja, sonst passiert Murks.
- LetzteZeileQuelle: Findet heraus, bis zu welcher Zeile in der Quelltabelle Daten stehen. Wichtig, damit VBA weiß, wo Schluss ist.
- For i = 2 To LetzteZeileQuelle: Eine Schleife, die jede Zeile durchgeht. Die 2 ist da, weil wir die Überschrift überspringen wollen. Außer, du willst auch die Überschrift kopieren? Dann ändere die 2 in eine 1.
- ZielTabelle.Cells(i, 1).Value = QuelleTabelle.Cells(i, 1).Value: Das ist die Magie! Hier wird der Wert aus der Quelltabelle (Spalte A) in die Zieltabelle (Spalte A) kopiert. Die Zahlen hinter Cells sind Zeile und Spalte.
Anpassen und Abfeuern!
Okay, jetzt kommt der spannende Teil: Code anpassen! Schau dir deinen Tabellen genau an. Welche Spalten willst du kopieren? Wie heißen deine Tabellenblätter wirklich? (Nicht "Tabelle1" und "Tabelle2", oder? Das wäre ja langweilig!).
Wenn alles angepasst ist, klick irgendwo in den Code und drücke F5. Oder klick auf den "Ausführen"-Button. Dann... Daumen drücken! Wenn alles klappt, erscheint eine kleine Nachricht: "Datenübertragung abgeschlossen! *Freu hüpf* " (Oder so ähnlich, je nachdem, was du als Nachricht eingebaut hast).
Probleme? Keine Panik!
Kriegst du eine Fehlermeldung? Kein Beinbruch! VBA kann manchmal ein bisschen zickig sein. Schau dir die Fehlermeldung genau an. Meistens steht da, wo das Problem liegt. Tippfehler sind die häufigste Ursache. Und natürlich: Google ist dein Freund! Einfach die Fehlermeldung eingeben und du findest garantiert eine Lösung. Versprochen (oder zumindest fast)!
Wichtig: Speichere deine Excel-Datei unbedingt als ".xlsm" ab (Excel-Arbeitsmappe mit Makros). Sonst ist der ganze Code beim nächsten Öffnen futsch! Und das wäre ja mega-ärgerlich.
So, das war's im Groben! Mit diesem Grundgerüst kannst du schon eine Menge anstellen. Und wenn du tiefer einsteigen willst: Es gibt unzählige Tutorials und Foren zum Thema VBA. Viel Spaß beim Ausprobieren!
Und denk dran: Übung macht den Meister! Also, ran an die Tasten und lass die Daten fließen! Bis zum nächsten Mal!



