Zum Hauptinhalt springen

VBA Excel: Wie kopiere ich eine Zelle unter Beibehaltung der Formatierung

VBA (Visual Basic for Applications) ist eine Programmiersprache, die in Microsoft Office einschließlich Excel verwendet wird. Damit können Sie Ihre Tabellenkalkulationsarbeit automatisieren und verbessern, einschließlich des Kopierens von Excel-Zellen unter Beibehaltung der Formatierung.

Wenn Sie eine Zelle mit Standardtools nach Excel kopieren, wird die Zellenformatierung nicht beibehalten. Mit VBA können Sie jedoch eine Zelle so kopieren, dass sie alle Formatierungen beibehält: Hintergrundfarbe, Rahmen, bedingte Formatierung usw. Dies kann nützlich sein, wenn Sie Daten unter Beibehaltung ihres Aussehens kopieren möchten.

In VBA wird die Copy-Methode und die PasteSpecial-Methode verwendet, um eine Zelle zu kopieren und die Formatierung beizubehalten. Zuerst müssen Sie die Zelle mit der Copy-Methode kopieren und dann einfügen, wobei die Formatierung mit der PasteSpecial-Methode beibehalten wird. Mit dem Parameter Paste können Sie genau angeben, welche Zellattribute Sie kopieren möchten (z. B. Werte, Formatierung, Formeln).

VBA-Beispielcode:

Sub CopyWithFormatting()

Range("A1").Copy

Range("B1").PasteSpecial Paste:=xlPasteAll

End Sub

In diesem Codebeispiel wird Zelle A1 mithilfe der Copy- und PasteSpecial-Methoden in Zelle B1 kopiert, wobei der Paste-Parameter auf xlPasteAll festgelegt ist. Der xlPasteAll-Wert bedeutet, dass alle Attribute der Zelle eingefügt werden, einschließlich Werte, Formatierungen, Formeln usw. Wenn Sie nur einige der Attribute einer Zelle kopieren möchten, können Sie andere Werte für den Paste-Parameter verwenden, z. B. xlPasteValues, xlPasteFormats usw.

VBA Excel: Kopieren einer Zelle mit einem Stil

Das Kopieren von Zellen in Excel unter Beibehaltung der Formatierung kann eine schwierige Aufgabe sein. Mit VBA in Excel können Sie eine Zelle jedoch problemlos kopieren und ihren Stil beibehalten.

Eine Möglichkeit besteht darin, die Range-Eigenschaft zu verwenden.PasteSpecial. Mit dieser Eigenschaft können Sie nur bestimmte Attribute einer Zelle kopieren, einschließlich Stile.

Im Folgenden finden Sie VBA-Codebeispiele, die veranschaulichen, wie eine Zelle mit einem Stil kopiert wird:

' Zelle A1 kopieren

' Wert und Stil in Zelle B1 einfügen

' Zwischenablage löschen

Im folgenden Beispiel wird Zelle A1 mit der Copy-Methode kopiert und dann mithilfe der PasteSpecial-Methode und des Parameters xlPasteAll in Zelle B1 eingefügt, der angibt, dass alle Attribute der Zelle einschließlich des Stils kopiert werden sollen.

Nachdem Sie den Code ausgeführt haben, müssen Sie die Zwischenablage mithilfe der Application-Eigenschaft löschen.CutCopyMode.

Jetzt wiederholt Zelle B1 den Inhalt und Stil von Zelle A1 genau.

Abschließend bietet VBA in Excel eine praktische Möglichkeit, Zellen zu kopieren und dabei die Formatierung beizubehalten. Mit der PasteSpecial-Methode mit dem xlPasteAll-Parameter können Sie nicht nur den Zellenwert, sondern auch den Zellenstil kopieren.

Methoden zum Kopieren von Zellen in Excel VBA

In VBA Excel gibt es mehrere Möglichkeiten, Zellen zu kopieren, mit denen Sie die Formatierung und andere Eigenschaften beibehalten können. Im Folgenden sind die gängigsten Methoden zum Kopieren von Zellen aufgeführt:

    Verwenden der Copy-Methode und der PasteSpecial-Methode: Mit dieser Methode können Sie den Inhalt und die Formatierung der Zelle sowie andere Eigenschaften wie Formeln und Werte kopieren. Beispielcode:

Range("A1").CopyRange("B1").PasteSpecial xlPasteAll
Range("A1").Value = Range("B1").Value
Range("A1").Copy Destination:=Range("B1")
Range("A1").CopyRange("B1").PasteSpecial xlPasteFormats

Die Auswahl der Methode zum Kopieren von Zellen hängt vom gewünschten Ergebnis ab. Wenn Sie die Formatierung und andere Eigenschaften beibehalten möchten, verwenden Sie die Copy-Methode und die PasteSpecial-Methode. Wenn nur der Zellenwert benötigt wird, genügt es, die Value-Eigenschaft zu verwenden. Mit der Copy-Methode und der PasteSpecial-Methode mit dem Parameter Formats können Sie nur Formatierungen ohne andere Eigenschaften kopieren.

Kopieren einer Zelle ohne Formatierung

Der VBA-Vorlagencode in Excel macht es einfach, Daten von einer Zelle in eine andere zu kopieren, wird jedoch häufig kopiert und formatiert, was zu einer unangemessenen Anzeige der Daten führen kann. Es gibt jedoch eine Möglichkeit, nur den Wert ohne Formatierung zu kopieren.

Dazu können Sie den folgenden Code verwenden:

  1. Wählen Sie die Zelle aus, die Sie ohne Formatierung kopieren möchten.
  2. Öffnen Sie den VBA-Editor, indem Sie ALT + F11 drücken.
  3. Fügen Sie den folgenden Code in das sich öffnende VBA-Editor-Fenster ein:
Sub Копирование_без_форматирования()' Копирование значения без форматирования из активной ячейкиSelection.CopySelection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _:=False, Transpose:=FalseApplication.CutCopyMode = FalseEnd Sub

4. Drücken Sie Strg + S, um die Änderungen am Code zu speichern.

Um den Wert nun ohne Formatierung aus der ausgewählten Zelle zu kopieren, gehen Sie folgendermaßen vor:

  1. Wählen Sie die Zelle aus, in die Sie Daten ohne Formatierung einfügen möchten.
  2. Wählen Sie die Registerkarte "Entwickler" und klicken Sie auf die Schaltfläche "Makros" (oder verwenden Sie ALT + F8).
  3. Wählen Sie das Makro "Kopieren ohne Formatierung" aus, und klicken Sie auf die Schaltfläche "Ausführen".

Der Wert wird nun ohne Formatierung in die ausgewählte Zelle kopiert, sodass die Daten in verschiedenen Zellen gleich angezeigt werden.

Zelle kopieren und nur den Wert beibehalten

In VBA Excel können Sie eine Zelle einfach kopieren und dabei nur ihren Wert beibehalten, ohne sie zu formatieren. Dazu können Sie die Value-Methode des Range-Objekts verwenden.

Sub КопированиеЗначения()Dim ячейка1 As RangeDim ячейка2 As Range' Указываем ячейку, которую хотим скопироватьSet ячейка1 = Range("A1")' Указываем ячейку, в которую хотим вставить значениеSet ячейка2 = Range("B1")' Копируем значение из одной ячейки в другуюячейка2.Value = ячейка1.ValueEnd Sub

In diesem Beispiel wird der Wert aus Zelle A1 in Zelle B1 kopiert und die Formatierung wird nicht gespeichert.

Mit der Value-Methode können Sie auch Werte von einem Zellbereich in einen anderen kopieren:

Sub КопированиеОбласти()Dim область1 As RangeDim область2 As Range' Указываем область ячеек, которую хотим скопироватьSet область1 = Range("A1:C3")' Указываем область ячеек, в которую хотим вставить значенияSet область2 = Range("D1:F3")' Копируем значения из одной области ячеек в другуюобласть2.Value = область1.ValueEnd Sub

In diesem Beispiel werden die Werte aus dem Zellbereich A1:C3 in den Zellbereich D1:F3 kopiert.

Mit der Value-Methode können Sie also Werte kopieren, ohne die Formatierung zu ändern, was bei der Verarbeitung von Daten in Excel VBA nützlich sein kann.

Kopieren einer Zelle unter Beibehaltung der Formatierung

Wenn Sie eine Zelle mithilfe von VBA nach Excel kopieren, wird standardmäßig nur der Wert der Zelle kopiert, ohne sie zu formatieren. Sie können jedoch mit etwas Code eine Zelle kopieren und dabei die Formatierung beibehalten.

Um eine formatierte Zelle zu kopieren, müssen wir zuerst eine neue Zelle erstellen, in die wir die Daten kopieren werden. Dann können wir die Copy-Methode verwenden, um den Wert der Zelle zu kopieren, und die PasteSpecial-Methode, um ihre Formatierung zu kopieren.

Sub КопированиеЯчейкиСФорматированием()Dim ИсходнаяЯчейка As RangeDim НоваяЯчейка As RangeSet ИсходнаяЯчейка = Range("A1") 'задайте нужную ячейкуSet НоваяЯчейка = Range("B1") 'задайте новую ячейку для копирования значения и форматированияИсходнаяЯчейка.CopyНоваяЯчейка.PasteSpecial Paste:=xlPasteAllApplication.CutCopyMode = FalseEnd Sub

In diesem Beispiel erstellen wir zwei Variablen: Die ursprüngliche Zelle und die neue Zelle, die die ursprüngliche Zelle darstellen, die wir kopieren möchten, und die neue Zelle, in die wir die Daten kopieren möchten. Dann verwenden wir die Copy-Methode, um den Zellenwert der ursprünglichen Zelle zu kopieren. Dann verwenden wir die PasteSpecial-Methode mit dem Paste-Parameter:=xlPasteAll, um die Zellenformatierung in eine neue Zelle zu kopieren. Am Ende installieren wir Application.CutCopyMode = False, um die Auswahl zu entfernen.

Wenn Sie nun diesen Code ausführen, enthält die Zelle Neuer Zellen die Daten und die Formatierung der Zelle UrsprüngLicher Zellen.

Mit diesem Code können Sie die Zelle problemlos kopieren und ihre Formatierung bei Verwendung von VBA in Excel beibehalten.

Kopieren einer Zelle mit einem Stil mit VBA-Code

Sie können den VBA-Code verwenden, um eine Zelle in Excel zu kopieren und dabei ihren Stil und ihre Formatierung beizubehalten. Hier ist ein Beispiel, mit dem Sie diese Operation ausführen können:

Sub CopyCellWithStyle()' Задаем переменныеDim sourceCell As RangeDim targetCell As Range' Указываем ячейку-источникSet sourceCell = Range("A1")' Указываем ячейку-назначениеSet targetCell = Range("B1")' Копируем значение и формат из ячейки-источника в ячейку-назначениеsourceCell.CopytargetCell.PasteSpecial Paste:=xlPasteAllUsingSourceTheme' Очищаем буфер обменаApplication.CutCopyMode = FalseEnd Sub

In diesem Beispiel legen wir die Variablen für die Quellzelle (sourceCell) und die Zielzelle (targetCell) fest. Dann verwenden wir die Copy-Methode, um den Wert zu kopieren und aus der Quellzelle in die Zwischenablage zu formatieren. Dann verwenden wir die Methode PasteSpecial, um den Wert einzufügen und in die Zielzelle zu formatieren, wobei die Dokumentdarstellung beibehalten wird.

Wenn der Kopiervorgang abgeschlossen ist, löschen wir die Zwischenablage mit Application.CutCopyMode = False .

Wenn Sie nun das Makro CopyCellWithStyle ausführen, werden der Wert und die Formatierung aus der Quellzelle in die Zielzelle kopiert, wobei der Stil beibehalten wird.