in Excel-Tabellen

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 derselben Städte.

image

Herausforderung:

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

image

Logik:

Zuerst müssen wir eine Arbeitsmappe erstellen, die für jede Spalte unterschiedliche Blätter enthält. Wir können dies tun, indem wir uns die Überschriften des ersten Blattes 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 an, um die Blätter zu transponieren. Ich erkläre es unten.

Sub TransposeColsToSheets()

'varibles

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

'creating new file

Set wb = Workbooks.Add

'saving the file. Replace the path with your destination.

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

'identfying headers for city names

Set cols = Range(Cells(1, 1), Cells(1, lstCl))

'loop to create sheets

For x = 1 To cols.Count

wb.Sheets.Add.Name = "page" & x

Next

'loop to transpose columns to sheets

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

'saving and closing the result workbook

wb.Save

wb.Close

With Application

.DisplayAlerts = True

.ScreenUpdating = True

End With

End Sub

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

Sobald Sie den Code ausgeführt haben, wird sofort eine Excel-Datei mit 5 Blättern erstellt, wobei jedes Blatt 3 Spalten mit den Daten derselben Stadt enthält.

`link: /wp-content-uploads-2019-12-Transpose-Column-To-sheets.xls [

image 48Transpose Column To Sheets]

Wie funktioniert es?

Im obigen Beispielcode haben wir angenommen, dass die Datei von der ersten Zelle jedes Blattes ausgeht und jedes Blatt die gleiche Anzahl von Spalten enthält.

In den ersten Codezeilen haben wir die Variablen deklariert, die wir für die Prozedur benötigen. Wir haben die Spaltenüberschriften in einer Variablen namens cols gespeichert. Wir haben auch eine XLSX-Datei mit dem Namen result.xlsx * erstellt.

Als nächstes haben wir eine Schleife verwendet, um die gleiche Anzahl von Blättern in result.xlsx wie in Header-Incols zu erstellen.

'loop to create sheets

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 iterieren. 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 geschafft.

Also ja Leute, so können Sie jede Spalte mit VBA auf ein neues Blatt in Excel kopieren. Dies wurde von unserem UserMahmood im Kommentarbereich gefragt.

Ich dachte, es hätte einen Artikel verdient, damit er für uns alle verfügbar ist. Hier hast du es. Ich hoffe es war erklärend genug. Wenn Sie noch Zweifel oder andere Fragen haben, fragen Sie im Kommentarbereich unten nach.

Verwandte Artikel:

Laden Sie die Arbeitsdatei herunter.

link: / allgemeine-themen-in-vba-ausschalten-warnwarnmeldungen-mit-vba-in-microsoft-excel [Warnmeldungen mit VBA in Microsoft Excel 2016 ausschalten] | Um Warnmeldungen zu deaktivieren, die den laufenden VBA-Code unterbrechen, verwenden wir die Application-Klasse.

link: / files-workbook-and-worksheets-in-vba-add-and-save-new-workbook-using-vba-in-microsoft-excel [Neue Arbeitsmappe mit VBA in Microsoft Excel 2016 hinzufügen und speichern] | Zum Hinzufügen und Speichern von Arbeitsmappen mit VBA verwenden wir die Klasse Arbeitsmappen. Workbooks.Add fügt problemlos neue Arbeitsmappen hinzu …​

Beliebte Artikel:

link: / Tastatur-Formel-Verknüpfungen-50-Excel-Verknüpfungen-zur-Steigerung-Ihrer-Produktivität [50 Excel-Verknüpfungen zur Steigerung Ihrer Produktivität] | Werden Sie schneller bei Ihrer Aufgabe. Mit diesen 50 Verknüpfungen können Sie noch schneller in Excel arbeiten.

link: / formeln-und-funktionen-einführung-der-vlookup-funktion [Die VLOOKUP-Funktion in Excel] | Dies ist eine der am häufigsten verwendeten und beliebtesten Funktionen von Excel, mit der Werte aus verschiedenen Bereichen und Tabellen gesucht werden. link: / tips-countif-in-microsoft-excel [COUNTIF in Excel 2016] | Zählen Sie Werte mit Bedingungen, die diese erstaunliche Funktion verwenden.

Sie müssen Ihre Daten nicht filtern, um einen bestimmten Wert zu zählen. Die Countif-Funktion ist wichtig, um Ihr Dashboard vorzubereiten.

link: / excel-formel-und-funktion-excel-sumif-funktion [Verwendung der SUMIF-Funktion in Excel] | Dies ist eine weitere wichtige Funktion des Dashboards. Auf diese Weise können Sie Werte unter bestimmten Bedingungen zusammenfassen.