Zellen von anderer Tabellen kopieren mit Excel VBA
In diesem Tutorial zeige ich Euch wie Ihr Zellen von anderen Arbeitsmappen und Tabellen kopieren könnt. Dabei gibt es nicht nur die Möglichkeit die ganze Zelle zu kopieren sondern auch nur die Werte oder Formate.
Das Startvideo der VBA Tutorial Serie auf YouTube findet Ihr hier
Die Playlist meiner VBA Tutorial Serie auf YouTube findet Ihr hier
Achtung:
Benutzt zum Ăben eine separate Tabelle fĂŒr Testzwecke oder eine Kopie des Originals damit Euch keine Daten verloren gehen.
Video zu diesem Tutorial:
Einfaches Kopieren von Zellen in Excel VBA
Die einfachste Art eine Zelle zu kopieren ist mit Copy. In dem folgenden Beispiel wird bei der aktiven Tabelle die Zelle A1 kopiert und dann in C1 eingefĂŒgt.
Sub ZelleVonTabelleKopierenTutorial() Range("A1").Copy Range("C1") End Sub
Kopieren einer Zelle mit Angabe der Arbeitsmappe und Tabelle
Beim obigen Beispiel ist das Problem dass immer die aktive Tabelle benutzt wird. Manchmal möchte man aber eine ganz bestimmte Arbeitsmappe und Tabelle ansprechen. Im folgenden Beispiel werden wir die Arbeitsmappe und Tabelle festlegen.
Achtet darauf dass Eure Arbeitsmappen auch den Namen Mappe1 und Mappe2 haben. Ansonsten mĂŒsst Ihr das im Script Ă€ndern.
Mappe1 hat von Zelle A1 bis A10 EintrÀge mit farbigen Hintergrund.
Sub DatenVonTabelleKopierenTutorial() Workbooks("Mappe1").Worksheets("Tabelle1").Range("A1:A10").Copy _ Workbooks("Mappe2").Worksheets("Tabelle1").Range("B1") End Sub
Nur Werte oder Formate der Zellen kopieren
Das Coole ist, dass es natĂŒrlich möglich ist nicht nur komplette Zellen zu kopieren, sondern auch nur Werte oder die Formate. DafĂŒr gibt es extra PasteSpecial. Die Möglichkeiten was da genau kopiert werden kann könnt Ihr hier finden: XLPasteTypes.
In diesem Beispiel kopiere ich die Werte und die Formate separat.
Ich habe zusÀtzlich noch die Markierung deaktiviert die immer entsteht wenn man Zellen kopiert. Das geht mit Application.CutCopyMode = False.
AuĂerdem habe ich dann noch ĂŒber AutoFit und Angabe der Spalte A mit Columns(1), eine optimale Spaltenbreite hinzugefĂŒgt.
Sub DatenVonTabelleKopierenTutorial() Workbooks("Mappe1").Worksheets("Tabelle1").Range("A1:A10").Copy Workbooks("Mappe2").Worksheets("Tabelle3").Range("A11").PasteSpecial (xlPasteValues) Workbooks("Mappe2").Worksheets("Tabelle3").Range("B11").PasteSpecial (xlPasteFormats) Application.CutCopyMode = False Workbooks("Mappe2").Worksheets("Tabelle3").Columns(1).AutoFit End Sub