VBA-Werte einfügen

Excel VBA-Werte einfügen

Kopieren & Einfügen ist nicht der beste Job der Welt !!! Das Kopieren und Einfügen mit einer speziellen Option erfordert jedoch einige Kenntnisse in VBA. Dies ist kein einfacher Vorgang wie das einfache Kopieren und Einfügen. Eine der wichtigsten speziellen Methoden zum Einfügen ist das Einfügen von Werten in VBA.

Wie füge ich Werte in Excel mit VBA ein?

Sie können diese VBA-Einfügewert-Excel-Vorlage hier herunterladen - VBA-Einfügewert-Excel-Vorlage

Beispiel 1 - Verwenden von Paste Special

Ein Beispiel finden Sie im folgenden Arbeitsblatt.

In Zelle B6 haben wir die Formel angewendet, um die Gesamtverkaufswerte von B2- bis B5-Zellen zu berechnen. Wenn ich nun die Zelle B6 in C6 kopiere und einfüge, erhalte ich nicht den Wert 22.761, sondern die entsprechende Formel.

Um dasselbe in VBA auszuführen, benötigen wir Codierungskenntnisse. Wir zeigen Ihnen, wie Sie Werte mit VBA einfügen. Befolgen Sie die folgenden Schritte.

Schritt 1: Kopieren Sie die Zelle B6.

Verwenden Sie zum Kopieren der Zelle B6 den Code als Bereich („B6“). Kopieren

Schritt 2: Wählen Sie die Zielzelle aus. In diesem Fall C6-Zelle.

Wie Sie nach der Kopie sehen können, werden Sie nach "Ziel" gefragt. Dies ist nichts anderes als der Ort, an dem Sie einfügen möchten. Wählen Sie daher das „Ziel“ als Bereich („C6“).

Code:

 Sub Paste_Values ​​() Range ("B6"). Copy Range ("C6") End Sub 
Schritt 3: Führen Sie den Code aus

Führen Sie diesen Code aus, wir erhalten die B6-Kopie in C6.

Wir haben hier nur die Formel.

Schritt 4: Führen Sie eine spezielle Einfügemethode durch.

Um eine spezielle Methode zum Einfügen auszuführen, schauen wir uns die folgende Syntax der speziellen Methode zum Einfügen an.

In der Einfügemethode haben wir mehrere Methoden. Basierend auf der Operation, die wir ausführen, müssen wir den Typ entsprechend auswählen.

Um dies zu verstehen, teilen wir den Code in zwei Zeilen auf.

Zuerst kopiert man Zelle B6.

Schreiben Sie nun in die nächste Zeile die Zielzelle als Bereich ("C6").

Um nun auf Paste Special Method zuzugreifen, setzen Sie einen Punkt und geben Sie den Buchstaben „P“ ein.

Wählen Sie in den oben genannten Optionen die Methode „Spezial einfügen“.

Nachdem Sie die Methode ausgewählt haben, drücken Sie die Leertaste, um die verschiedenen Einfügemethoden anzuzeigen.

Wählen Sie in dieser Vielzahl von Optionen "xlPasteValues".

Nachdem Sie die Option ausgewählt haben, drücken Sie die Tabulatortaste, um sie automatisch auszuwählen.

Code:

 Sub Paste_Values ​​() Range ("B6"). Copy Range ("C6"). PasteSpecial xlPasteValues ​​End Sub 

Schritt 5: Führen Sie den Code aus

Führen Sie nun den Code aus, wir sollten nur den Wert der Zelle B6 in die Zelle C6 bringen.

Wenn Sie das Arbeitsblatt nach dem Ausführen des Codes bemerken, befindet es sich immer noch nur im Kopiermodus.

Dadurch wird der Schnittkopiermodus deaktiviert, nachdem die spezielle Einfügemethode ausgeführt wurde.

Beispiel 2 - Spezial mit Schleifen einfügen

Das Einfügen von Spezialfunktionen ist einfach, erfordert jedoch ein fortgeschrittenes Niveau an Codierungsfähigkeiten, um dies als Teil eines großen Codes zu verwenden.

Ein Beispiel finden Sie im folgenden Bild.

Im obigen Bild des Arbeitsblatts in Spalte "F" haben wir die Gesamtspalte, dh in den Zellen F2, F5, F8, F11 und F14.

Jetzt muss ich jede Gesamtzelle aus der jeweiligen Zelle kopieren und in die Spalte „H“ mit den jeweiligen Zellen einfügen.

Mit dem folgenden Code können wir dies mit VBA-Schleifen tun.

Code:

 Sub Paste_Values1 () Dim k As Integer Dim j As Integer j = 2 Für k = 1 bis 5 Zellen (j, 6) .Copy Cells (j, 8) .PasteSpecial xlPasteValues ​​j = j + 3 Next k End Sub 

Dieser Code mit der speziellen Option Einfügen führt die Aufgabe aus, jede Gesamtzelle zu kopieren und in die Spalte „H“ mit den entsprechenden Zellen einzufügen.

Beispiel 3 - Vom Arbeitsblatt in ein anderes kopieren

To paste values from one worksheet to another, we need to mention both the worksheet names. Below is an example of that.

 Sub Paste_Values2() Worksheets("Sheet1").Range("A1").Copy Worksheets("Sheet2").Range("A15").PasteSpecial xlPasteValues End Sub