Ich arbeite an einem Excel-Makro (Schaltfläche), die eine Spalte an der gleichen Stelle in mehreren Arbeitsblättern hinzufügen wird. Außerdem muss diese Spalte über eine Spaltenüberschrift verfügen, die über ein Dialogfeld eingegeben wird.Excel VBA - Hinzufügen neuer Spalten mit Text und Formatierung zu mehreren Arbeitsblättern
Jedes Arbeitsblatt enthält eine genau formatierte Tabelle - der einzige Unterschied sind die Arbeitsblattnamen. Hier
ist das, was ich bisher:
Sub CommandButton2_Click()
Sheets(Array("Sheet1", "Sheet2")).Select
Sheets("Sheet2").Activate
Columns("F:F").Select
Selection.Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromRightOrBelow
Dim myValue As Variant
myValue = InputBox("Enter Thought Leadership Title", "New Thought Leadership", "XXXXX")
Sheets(Array("Sheet1", "Sheet2”)).Select
Range("F5").Value = myValue
End Sub
Dies mir bekommen hat genau das, was ich will für ‚Tabelle1‘ - fügt eine Spalte (F) und gibt einen Header-Namen über das Dialogfeld in der Zelle angegeben F5 beim Kopieren der Formatierung aus der Spalte sofort nach rechts. Alles, was es für Sheet2 tut (und alle anderen, aber aus Platzgründen entfernt), ist das Hinzufügen in einer Spalte, ohne die Formatierung von rechts zu kopieren oder den im Dialogfeld angegebenen Text hinzuzufügen.
Anfänger VBA "Programmierer" und haben so weit durch die Verwendung der Foren hier.
Hoffentlich war ich klar - danke für jede Eingabe.
Sie können versuchen, Ihr Sheet Array 'Sheets (Array (0)) ... und Sheets (Array (1)) zu durchlaufen.' Wenn Sie mehr als zwei Sheets verwenden, verwenden Sie einen Loop wie 'For i = 0 To NumberOfWorksheets' –
Dies ist ein * perfektes * Beispiel dafür, warum Sie die Verwendung von '.Select' vermeiden sollten (https://stackoverflow.com/questions/10714251/how-to-avoid-using-select-in-excel-vba -Makros). *** Ich empfehle dir dringend, das zu lesen und es auf dein Makro anzuwenden. Wenn Sie danach feststecken oder Fehler bekommen, lassen Sie es mich wissen. – BruceWayne