|
|
Thema:
|
Excel 97, 2000, 2002 |
|
Eine sehr oft an mich gestellt Frage dreht sich um
den Inhalt, wie man Daten aus einer Tabelle möglichst schnell und
elegant auf eine andere Tabelle übertragen kann. Somit haben Sie die
Möglichkeit eine Sicherung auf einer anderen Tabelle anzulegen, um
beispielsweise vor grösseren Änderungen notfalls noch auf die Kopie
zugreifen zu können.
Diese Aufgabe lösen Sie, indem Sie folgendes Makro einsetzen:
Sub WerteÜbertragen()
Dim Blatt1 As Worksheet
Dim Blatt2 As Worksheet
Dim i As Integer
Dim e As Integer
Set Blatt1 = Sheets("Tabelle1")
Set Blatt2 = Sheets("Tabelle2")
Blatt1.Select
For i = 1 To ActiveSheet.UsedRange.Rows.Count
For e = 1 To
ActiveSheet.UsedRange.Columns.Count
Blatt2.Cells(i, e) =
Blatt1.Cells(i, e)
Next e
Next i
End Sub
Im ersten Schritt definieren Sie die benötigten Variablen. Danach
weisen Sie mit der Anweisung Set jeweils das Quell- sowie das
Zieltabellenblatt zu. Diese Vorgehensweise ermöglicht Ihnen später,
dass Sie bei der Datenübertragung nicht von einem Tabellenblatt auf
das andere und zurück springen müssen. In der ersten Schleife
ermitteln Sie die Anzahl der gefüllten Zeilen des
Quelltabellenblatts. In der zweiten Schleife ermitteln Sie die Anzahl
der gefüllten Spalten des Quelltabellenblattes. Innerhalb der zweiten
Schleife übertragen Sie nun die einzelnen Zellen.
Diesen Vorgang können Sie aber auch automatisieren. So könnten Sie
beispielsweise dafür sorgen, dass vor dem Speichern einer
Arbeitsmappe dieses Makro automatisch abläuft. Um diese Aufgabe
umzusetzen, gehen Sie wie folgt vor:
- Wechseln Sie mit der Tastenkombination Alt+F11
in die Entwicklungsumgebung von Excel.
- Im Projekt-Explorer klicken Sie den Eintrag
"DieseArbeitsmappe" doppelt an.
- Erfassen Sie danach folgendes Ereignismakro:
Private Sub
Workbook_BeforeSave(ByVal SaveAsUI _
As Boolean, Cancel As Boolean)
WerteÜbertragen
End Sub
Das Makro "WerteÜbertragen" wird automatisch immer dann
ausgeführt, wenn Sie die Arbeitsmappe speichern.
|
|