VBA Frühere Werte kopieren
Dieses Tutorial zeigt, wie wir die Werte einer Spalte in eine andere innerhalb desselben Blattes oder eines anderen Blattes in Excel mit VBA kopieren können.
Makros in Excel
Es ist einfacher geworden, sich wiederholende Excel-Aufgaben mit in VBA geschriebenen Makros zu erledigen. Wir können Makros schreiben, um eine bestimmte Aufgabe zu erledigen, und der Benutzer kann sie bei Bedarf ausführen.
Es macht es einfacher, komplexe Dinge immer und immer wieder zu tun. Die Makros müssen einmal codiert werden und können unendlich oft verwendet werden. Denken Sie daran, dass wir Makros so schreiben sollten, dass die Benutzerfreundlichkeit verbessert wird.
Versuchen Sie NICHT, Werte in einem Makro fest zu codieren. Es ist ideal, um Eingaben vom Benutzer aufzunehmen, um die Benutzerfreundlichkeit zu verbessern.
Wenn Sie nach VBA-Anweisungen suchen, mit denen Sie in Excel die Werte von einer Spalte in eine andere kopieren können, müssen Sie sich der Definition und Verwendung eines Makros bewusst sein.
Makros in Microsoft Excel sind ein hervorragendes Feature, das Ihre gewünschten Aufgaben wiederholt automatisiert. Kurz gesagt, ein Makro ist eine Aktion oder eine Reihe von Aktivitäten, die der Benutzer aufzeichnet, um sie häufig auszuführen.
Arbeiten von Makros in Microsoft Excel
Wir können Makros in Microsoft Excel auf zwei Arten schreiben. Beide Methoden sind so konzipiert, dass sie für den Benutzer machbar sind. Hier sind die zwei Ansätze für die Arbeit mit Makros in Microsoft Excel:
Ansatz 1: Zeichnen Sie ein Makro auf
Die einfachste Methode, eine Aufgabe wiederholt mit Hilfe eines Makros auszuführen, besteht darin, eines zu erstellen und aufzuzeichnen. All dies können wir nur mit Hilfe einiger Mausklicks und Tastenanschläge tun.
Die Schritte zum Aufzeichnen eines Makros sind ziemlich einfach. Befolgen Sie einfach die unten aufgeführten Anweisungen:
- Öffnen Sie in Microsoft Excel die Registerkarte
Ansicht
. Es muss eine Option fürMakros
angezeigt werden. Wenn Sie auf die OptionMakros
klicken, sollten Sie die Möglichkeit haben, die verschiedenen Makros anzuzeigen, die bereits aufgezeichnet wurden. Darüber hinaus sollten Sie auch ein neues Makro aufzeichnen können. - Klicken Sie auf die Option
Makro aufzeichnen
, und ein Fenster wird angezeigt. - Benennen Sie das Makro und beschreiben Sie es. Sie können eine Verknüpfung für ein bestimmtes Makro erstellen. Wenn Sie die Tastenkombination beispielsweise als Strg + w festlegen, wird das Makro automatisch ausgeführt, wenn diese Tastenkombination aufgerufen wird. Dies ist natürlich optional, wird jedoch als bewährte Methode empfohlen.
- Zeichnen Sie alle Tastenanschläge und Mausklicks auf, die Sie innerhalb des bestimmten Makros wiederholen möchten, und beenden Sie die Aufzeichnung des Makros, sobald Sie die Arbeit beendet haben.
- Wann immer Sie das Makro von der Registerkarte
Ansicht
aus ausführen oder die zuvor definierte Verknüpfung verwenden, führt es dieselbe Aufgabe aus, die im Makro aufgezeichnet wurde.
Zeichnen Sie ein Makro mit absoluten oder relativen Referenzen auf
Standardmäßig wird ein Makro mit absoluten Adressen aufgezeichnet. Wenn Sie also Werte von SpalteA
nach SpalteC
kopieren, wird das aufgezeichnete Makro immer dieselbe Aufgabe ausführen.
Wenn Sie das Makro mit relativen Referenzen aufzeichnen, wirkt es relativ zur ausgewählten Zelle – zum Beispiel zeichnet das Makro das Kopieren von Werten von Spalte A
nach Spalte C
auf.
Wenn Spalte W
ausgewählt wird, um das Makro auszuführen, werden Werte aus Spalte W
kopiert und in Spalte Y
eingefügt. Vergessen Sie auch hier nicht, je nach Bedarf die absolute oder relative Adressierung zu verwenden.
Ansatz 2: Schreiben Sie ein Makro
Wenn Sie bestimmte Aufgaben ausführen möchten, z. B. solche, die Eingaben von den Benutzern erfordern oder Ausgaben für die Benutzer bereitstellen, müssen Sie diese Makros aufschreiben.
Das Aufzeichnen eines Makros erlaubt Ihnen nicht, bestimmte Aufgaben auszuführen und zu verallgemeinern; Daher können Sie mit VBA in Microsoft Excel ein auf Ihre Bedürfnisse zugeschnittenes Makro schreiben.
Die Anweisungen zum Schreiben eines Makros sind ziemlich einfach. Die folgenden Schritte definieren das Verfahren zum Schreiben eines Makros:
-
Wählen Sie in Microsoft Excel auf der Registerkarte
Entwickler
die SchaltflächeMakro
. -
Die Option öffnet ein Makros-Dialogfeld, in dem Sie auf alle VBA-Unterroutinen oder Makros zugreifen können.
-
Klicken Sie auf die Schaltfläche
Visual Basic
, um einen Visual Basic-Editor zu öffnen. -
In diesem Editor können Sie den Code für Ihr Makro schreiben, bearbeiten, testen und ausführen. Denken Sie daran, dass es beim Schreiben eines Makros keine Optionen zum Auswählen absoluter und relativer Adressen gibt.
Wenn der VBA-Code mit bestimmten Werten fest codiert ist, wird er gemäß absoluten Referenzen ausgeführt. Wenn der VBA-Code allgemein geschrieben ist, wird er gemäß relativen Referenzen ausgeführt.
Demonstration von VBA-Copy-Paste-Werten
Wenn Sie Werte aus einer Spalte kopieren und in eine andere Spalte einfügen möchten, die in demselben oder einem anderen Blatt vorhanden ist, kann ein einfacher und einfacher VBA-Code ausreichen.
Der Artikel teilt eine Unterroutine, um die Aufgabe des Kopierens und Einfügens von Werten aus einer Spalte in eine andere unter Verwendung absoluter und relativer Referenzen zu erledigen.
Der Benutzer selbst kann die Hauptfunktion schreiben und die im Artikel erwähnte Unterroutine einbinden, um die Aufgabe des Kopierens und Einfügens von Werten auszuführen.
Drei Lösungen wurden unten erwähnt:
Lösung 1: Werte aus Spalte1
von Blatt1
nach Spalte2
von Blatt2
kopieren
Beispielcode:
Public Sub CopyPasteValues()
Sheets("Sheet1").Columns(1).Copy
Sheets("Sheet2").Columns(2).PasteSpecial xlPasteValues
End Sub
Der obige Code erstellt eine Subroutine CopyPasteValues()
, die Column1
aus Sheet1
auswählt und kopiert. Dann wählt es Spalte2
aus Blatt2
aus und fügt die kopierten Werte ein. Das Attribut xlPasteValues
dient nur dazu, die Werte der Zellen zu kopieren.
Lösung 2: Werte aus SpalteA
von Blatt1
nach SpalteB
von Blatt2
kopieren
Beispielcode:
Public Sub CopyPasteValues()
Sheets("Sheet1").Columns(A).Copy
Sheets("Sheet2").Columns(B).PasteSpecial xlPasteValues
End Sub
Der obige Code ähnelt dem in der ersten Lösung erwähnten Code. Es ist eine Alternative zur ersten Lösung, um dem Benutzer eine Vorstellung von den zahlreichen Optionen zu geben, die wir verwenden können, um auf Spalten in einem Blatt in Excel zuzugreifen.
Lösung 3: Unterprogramm mit relativen Referenzen zum Kopieren von Werten innerhalb eines bestimmten Bereichs
Die dritte Lösung teilt sich eine Unterroutine mit relativen Verweisen, um Werte von einem bestimmten Bereich in einen anderen zu kopieren.
Beispielcode:
Public Sub CopyPasteValues()
Dim arr1, arr2, i As Integer
arr1 = Array("AC", "AD")
arr2 = Array("A", "B")
For i = LBound(arr1) To UBound(arr1)
Sheets("Sheet1").Columns(arr1(i)).Copy
Sheets("Sheet2").Columns(arr2(i)).PasteSpecial xlPasteValues
Next
Application.CutCopyMode = False
End Sub
Der obige Code erstellt eine Unterroutine CopyPasteValues()
, die relative Adressen in der for
-Schleife verwendet; daher werden dafür Variablen verwendet.
arr1
ist der spezifische Bereich inSheet1
, der kopiert werden muss.arr2
ist der spezifische Bereich inSheet2
, wo wir die Werte einfügen werden.- Die Variable
i
ist ein Zähler für diefor
-Schleife.
Die for
-Schleife kopiert die Werte in der Spalte AC
in Sheet1
in die Spalte A
in Sheet2
und setzt die Ausführung fort. Am Ende der for
-Schleife wird Application.CutCopyMode = False
geschrieben, um die spezifischen Wertebereiche abzuwählen, die zum Kopieren auf das andere Blatt ausgewählt sind.
Wir haben also gelernt, dass VBA es Benutzern ermöglicht, Makros in Microsoft Excel zu schreiben, um häufige Aufgaben schnell auszuführen. Wir können Makros aufzeichnen und schreiben. Es ermöglicht Makros auch, unbegrenzte Funktionalitäten in Microsoft Excel bereitzustellen.
Hello, I am Bilal, a research enthusiast who tends to break and make code from scratch. I dwell deep into the latest issues faced by the developer community and provide answers and different solutions. Apart from that, I am just another normal developer with a laptop, a mug of coffee, some biscuits and a thick spectacle!
GitHub