Ich habe eine Excel-Tabelle mit über 60 Spalten. Jede Spalte enthält Daten aus einer SharePoint-Umfrage. Die Spaltenüberschriften sind die tatsächlichen Umfragefragen, die aus einer SharePoint-Datenverbindung importiert wurden. Ich versuche hier einige Dinge zu tun.Kopieren Sie Spaltendaten in ein neues Arbeitsblatt und durchlaufen Sie die Spalten
Zuerst möchte ich jede Spalte in ein neues Arbeitsblatt kopieren. (Der Grund dafür ist, dass ich die Daten in jeder Spalte zu einem PowerPivot-Datenmodell hinzufügen kann. PowerPivot erkennt das gesamte Arbeitsblatt als eine Tabelle, sodass ich nicht nur "Spalte A" zum Hinzufügen auswählen kann Zu dem Datenmodell fügt es automatisch die gesamte Tabelle mit allen 60 Spalten hinzu).
Da ich nicht zuerst manuell 60 neue Blätter hinzufügen möchte, möchte ich, dass der Code jede Spalte in ein neu erstelltes Arbeitsblatt kopiert. (Die Arbeitsblätter müssen nicht benannt werden, ich könnte das manuell tun, es sei denn jemand hat einen einfachen Weg, dies zu tun!)
Dann möchte ich den Code durch jede Spalte durchlaufen die Kopie durchführen und fügen Sie das neu erstellte Blatt ein.
Ich habe einige Beispiele für den Code hier für mehrere verwandte Themen gefunden, aber ich bin so neu in VBA, dass es mir schwer fällt, alles zusammen zu stellen. Vielen Dank für Ihre Zeit!
Ich habe folgendes versucht, die es tut kopieren Sie, aber ich bin nicht sicher, wie ein neues Blatt und eine Schleife durch die Spalten hinzufügen
Sub CopyColumnToNewSheet()
Dim lastRow As Long
lastRow = Sheets("Sheet1").Range("A" & Rows.Count).End(xlUp).Row
Sheets("Sheet2").Range("A1:A" & lastRow).Value = Sheets("Sheet1").Range("A1:A" & lastRow).Value
End Sub
Willkommen bei SO, Anzug! Hast du irgendwas probiert? Wenn ja, bitte geben Sie den Code an, schauen Sie sich die [tour] (http://stackoverflow.com/tour) und [how to ask] an (http://stackoverflow.com/help/how-to-ask). Freundliche Erinnerung: StackOverflow ist kein "wir Code für Sie" -Dienstanbieter. [Einführung in die VBA] (https://blog.udemy.com/excel-macros-tutorial/) – Sgdva
@SgdvaSub CopyColumnToNewSheet() Dim LastRow As Long LastRow = Sheets ("Sheet1"). Range ("A" Zeilen ("Sheet2"). Bereich ("A1: A" & lastRow) .Wert = Sheets ("Sheet1"). Bereich .Wert End Sub –