Spalte mit VBA in Excel-Tabellen transponieren

Inhaltsverzeichnis:

Anonim

Szenario

Angenommen, Sie haben eine Excel-Arbeitsmappe. Es hat 3 Blätter. Ein Blatt enthält 5 Spalten. Jede Spalte enthält die Daten einer anderen Stadt. Jedes Blatt enthält ähnliche 5 Spalten mit unterschiedlichen Daten der gleichen Städte.

Herausforderung:

Wir müssen eine Datei erstellen, die verschiedene Blätter für jede einzelne Spalte enthält. Jedes Blatt sollte die Daten der jeweiligen Spalte enthalten. Am Ende haben wir 5 Blätter mit jeweils 3 Spalten. In gewisser Weise werden Spalten in Blätter umgewandelt.

Logik:

Zuerst müssen wir eine Arbeitsmappe erstellen, die für jede Spalte verschiedene Blätter enthält. Wir können dies tun, indem wir uns die Überschriften des ersten Blatts unserer Originaldatei ansehen.

Als nächstes müssen wir jedes Blatt des Originalblatts durchlaufen, um jede Spalte in die entsprechenden Blätter der neuen Arbeitsmappe zu kopieren.

VBA-Code zum Transponieren von Spalten in Blätter.

Sehen wir uns zuerst den VBA-Code zum Transponieren der Blätter an. Ich erkläre es unten.

Sub TransposeColsToSheets() 'Variablen Dim wb As Workbook Dim twb As Workbook Dim lstRw As Integer Dim lstCl As Integer Dim cols As Range With Application .DisplayAlerts = False .ScreenUpdating = False End With 'Neue Datei erstellen Set wb = Arbeitsmappen erstellen . die Datei. Ersetzen Sie den Pfad durch Ihr Ziel. wb.SaveAs "C:\Users\Manish Singh\Desktop\Excel Tip\result.xlsx" Set twb = ThisWorkbook twb.Sheets(1).Activate lstCl = Cells(1, Columns.Count).End(xlToLeft).Column 'Überschriften für Städtenamen identifizieren Set cols = Range(Cells(1, 1), Cells(1, lstCl)) 'Schleife zum Erstellen von Blättern For x = 1 To cols.Count wb.Sheets.Add.Name = "page" & x Next 'Schleife um Spalten in Blätter zu transponieren For Each sh In twb.Sheets For x = 1 To cols.Count sh.Activate lstRw = Cells(Rows.Count, 1).End(xlUp).Row Range(Cells(1, x), Cells(lstRw, x)).Copy wb.Sheets("page" & x).Activate lstCl = Cells(1, Columns.Count).End(xlToLeft).Column + 1 Range(Cells(1, lstCl ), Cells(1, lstCl)).PasteSpecial xlPasteAll Next x Next sh 'Speichern und Schließen der Ergebnisarbeitsmappe wb.Save wb.Close With Application .DisplayAlerts = True .ScreenUpdating = True End With End Sub 

Sie können die Datei herunterladen, um sie sofort zu verwenden, oder den Code kopieren, um ihn nach Ihren Wünschen anzupassen.

Sobald Sie den Code ausführen, wird sofort eine Excel-Datei mit 5 Blättern erstellt, wobei jedes Blatt 3 Spalten mit den Daten derselben Stadt enthält.
Spalte in Blätter transponieren

Wie funktioniert es?

Im obigen Beispielcode haben wir angenommen, dass die Datei mit der ersten Zelle jedes Blatts beginnt und jedes Blatt dieselbe Anzahl von Spalten enthält.

In den ersten Codezeilen haben wir die Variablen deklariert, die wir in der Prozedur benötigen. Wir haben die Spaltenüberschriften in einer Variablen namens . gespeichert cols.Wir haben auch eine .xlsx-Datei namens . erstellt result.xlsx.

Als nächstes haben wir eine Schleife verwendet, um in result.xlsx die gleiche Anzahl von Blättern wie in header in . zu erstellencols.

'Schleife zum Erstellen von Blättern For x = 1 To cols.Count wb.Sheets.Add.Name = "page" & x Next 

Als nächstes haben wir eine verschachtelte Schleife verwendet. Die erste Schleife besteht darin, Blätter in der Originaldatei zu wiederholen. Nächste Schleife zum Kopieren jeder Spalte und Einfügen in jedes Blatt in der Datei results.xlsx.

Am Ende speichern wir die Arbeitsmappe result.xlsx und schließen sie. Und es ist vollbracht.

Also ja, Leute, so können Sie jede Spalte mit VBA in ein neues Blatt in Excel kopieren. Dies wurde von unserem Benutzer gefragtMahmood im Kommentarbereich. Ich dachte, es verdient einen Artikel, damit es für uns alle verfügbar ist. Hier hast du es. Ich hoffe, es war erklärend genug. Wenn Sie immer noch Zweifel oder eine andere Frage haben, fragen Sie im Kommentarbereich unten nach.

Excel-Tabelle in mehrere Dateien basierend auf Spalten mit VBA aufteilen | Dieses VBA-Code-Split-Excel-Blatt basiert auf eindeutigen Werten in einer angegebenen Spalte. Laden Sie die Arbeitsdatei herunter.

Deaktivieren von Warnmeldungen mit VBA in Microsoft Excel 2016 | Um Warnmeldungen zu deaktivieren, die den laufenden VBA-Code unterbrechen, verwenden wir die Application-Klasse.

Hinzufügen und Speichern einer neuen Arbeitsmappe mit VBA in Microsoft Excel 2016 | Um Arbeitsmappen mit VBA hinzuzufügen und zu speichern, verwenden wir die Klasse Workbooks. Workbooks.Add fügt jedoch problemlos neue Arbeitsmappen hinzu…

Populäre Artikel:

50 Excel-Kurzbefehle zur Steigerung Ihrer Produktivität | Werden Sie schneller bei Ihrer Aufgabe. Mit diesen 50 Tastenkombinationen arbeiten Sie noch schneller mit Excel.

Die SVERWEIS-Funktion in Excel | Dies ist eine der am häufigsten verwendeten und beliebtesten Funktionen von Excel, die verwendet wird, um Werte aus verschiedenen Bereichen und Blättern zu suchen.

ZÄHLENWENN in Excel 2016 | Zählen Sie Werte mit Bedingungen mit dieser erstaunlichen Funktion. Sie müssen Ihre Daten nicht filtern, um einen bestimmten Wert zu zählen. Die Countif-Funktion ist unerlässlich, um Ihr Dashboard vorzubereiten.

So verwenden Sie die SUMIF-Funktion in Excel | Dies ist eine weitere wesentliche Funktion des Dashboards. Dies hilft Ihnen, Werte unter bestimmten Bedingungen zusammenzufassen.