VBA Transponieren

Wir haben die Transponierungsfunktion im Excel-Arbeitsblatt gesehen, wenn wir eine Datentabelle in das Arbeitsblatt einfügen. Die Transponierung ändert die Position von Zeilen und Spalten, dh Zeilen werden zu Spalten und Spalten werden zu Zeilen in einer Datentabelle, da es sich nun um ein Arbeitsblatt handelt Funktion in VBA verwenden wir es mit der Application.worksheet-Methode in VBA.

Wie transponiere ich in VBA?

Das Wechseln von Zeilen und Spalten ist eine der Datenmanipulationstechniken, die fast alle Benutzer in Excel ausführen. Das Konvertieren horizontaler Daten in vertikale und vertikale Daten in horizontale Daten wird in Excel als „Transponieren“ bezeichnet. Ich bin sicher, dass Sie mit dem Transponieren in einem regulären Arbeitsblatt vertraut sein müssen. In diesem Artikel zeigen wir Ihnen, wie Sie die Transponierungsmethode in der VBA-Codierung verwenden.

Wir können in VBA mit zwei Methoden transponieren.

  1. Transponieren mit der TRANSPOSE-Formel.
  2. Transponieren mit der speziellen Methode Einfügen.

Beim Transponieren tauschen wir Zeilen in Spalten und Spalten in Zeilen aus. Wenn sich die Daten beispielsweise in einem 4 x 3-Array befinden, werden sie zu einem 3 x 4-Array.

Sehen wir uns einige Beispiele an, um Spalten in Zeilen in VBA zu transponieren.

# 1 - VBA-Transponierung mit der TRANSPOSE-Formel

Ähnlich wie wir TRANSPOSE in Excel verwenden, können wir auch die TRANSPOSE-Formel in VBA verwenden. Wir haben keine TRANSPOSE-Formel in VBA, daher müssen wir sie unter der Arbeitsblatt-Funktionsklasse verwenden.

Ein Beispiel finden Sie im folgenden Datenbild.

Wir werden versuchen, dieses Array von Werten zu transponieren. Befolgen Sie die folgenden Schritte, um die Daten zu transponieren.

Schritt 1: Starten Sie die Unterprozedur

Code:

 Sub Transpose_Example1 () End Sub 

Schritt 2: Zuerst müssen wir entscheiden, wo wir die Daten transponieren wollen. Dabei habe ich mich entschieden, von Zelle D1 nach H2 zu transponieren. Geben Sie also den VBA-Code als Bereich („D1: H2“) ein. Wert =

Code:

 Sub Transpose_Example1 () Range ("D1: H2"). Value = End Sub 

Schritt 3: Nun benötigen wir im oben genannten Bereich den Wert der Bereiche A1 bis B5. Um zu dieser geöffneten Klasse "Arbeitsblattfunktion" zu gelangen, wählen Sie die Formel "Transponieren".

Schritt 4: Geben Sie in Arg 1 den Datenquellenbereich an, dh den Bereich („A1: D5“) .

Code:

 Sub Transpose_Example1 () Range ("D1: H2"). Value = WorksheetFunction.Transpose (Range ("A1: D5")) End Sub 

Ok, wir sind mit der TRANSPOSE-Formelcodierung fertig. Führen Sie nun den Code aus, um das Ergebnis im Zellbereich von D1 bis H2 anzuzeigen.

Wie wir im obigen Bild gesehen haben, wurde der Zellenbereich von Spalten in Zeilen konvertiert.

# 2 - VBA-Transponierung mit der speziellen Methode Einfügen

Wir können auch mit der Paste Special-Methode transponieren. Berücksichtigen Sie die gleichen Daten auch für dieses Beispiel.

Das erste, was wir tun müssen, um zu transponieren, ist das Kopieren der Daten. Schreiben Sie den Code also als Bereich („A1: B5“). Kopieren Sie

Code:

 Sub Transpose_Example2 () Range ("A1: B5"). Copy End Sub 

Als nächstes müssen wir entscheiden, wo wir die Daten einfügen wollen. In diesem Fall habe ich D1 als gewünschte Zielzelle ausgewählt.

Code:

Sub Transpose_Example2 () Bereich ("A1: B5"). Kopierbereich ("D1"). End Sub

Sobald die gewünschte Zielzelle ausgewählt ist, müssen wir "Spezielle Methode einfügen" auswählen.

Mit Paste Special können wir alle Aktionen ausführen, die wir mit regulären Paste Special-Methoden in einem Arbeitsblatt haben.

Ignorieren Sie alle Parameter und wählen Sie den letzten Parameter, dh Transponieren, und machen Sie dies als WAHR.

Code:

 Sub Transpose_Example2 () Bereich ("A1: B5"). Kopierbereich ("D1"). PasteSpecial Transpose: = True End Sub 

Dadurch werden auch die Daten wie bei der vorherigen Methode transponiert.

Auf diese Weise können wir die TRANSPOSE-Formel oder die Paste Special-Methode verwenden, um die Daten zu transponieren und Zeilen in Spalten und Spalten in Zeilen zu wechseln.

Dinge, an die man sich erinnern sollte

  • Wenn Sie die TRANSPOSE-Arbeitsblattfunktion verwenden, müssen Sie eine Anzahl von Zeilen und Spalten berechnen, um die Daten zu transponieren. Wenn wir 5 Zeilen und 3 Spalten haben, werden beim Transponieren 3 Zeilen und 5 Spalten.
  • Wenn Sie bei der Verwendung von Paste Special dieselbe Formatierung wünschen, müssen Sie das Argument Paste Type als "xlPasteFormats" verwenden.

Sie können diese VBA Transpose Excel-Vorlage hier herunterladen - VBA Transpose Excel-Vorlage