ich habe ein ein Tabellenblatt Verwaltung, darauf befindet sich ein CommanButton1, das ein userform1 aufruft.
Darauf befindet sich ComboBox1 und ComboBox2, sowie CommandButton1.
In ComboBox1 wird die Zeile ausgewählt, wo die neue Zeile eingefügt werden soll.
In ComboBox2 wird die Anzahl der Zeilen ausgewählt die eingefügt werden sollen.
Das ganze soll durchgeführt werden, wenn auf den CommandButton geklickt wird.
Mein Problem ist, das die Tabellenblätter 1 bis 14 alle gleich aussehen. Die eingefügten Zeilen, sollen deshalb auf allen Tabellenblättern eingefügt werden.
Leider bekomme ich es nur auf dem Tabellenblatt Verwaltung hin, kann mir jemand sagen was ich in den Code einfügen muss, damit es auf den Tabellenblättern 1-14 ausgeführt wird?
Private Sub CommandButton1_Click() ' fügt Zeilen ein und überträgt Formeln ' Variablen deklarieren Dim iZeile As Integer ' (erste) Zeile zum Einfügen Dim iAnZeile As Integer ' Anzahl der einzufügenden Zeilen Dim iAnz As Integer ' Schleifenzähler für einzufügende Zeilen Dim iLeSpalte As Integer ' letzte Tabellenspalte Dim arr() As String ' Übertragen der Formeln Dim iSpa As Integer ' Schleifenzähler Spalten ' Variablen dimensionieren iLeSpalte = ActiveCell.SpecialCells _ (xlLastCell).Column ' letzte Spalte ermitteln ReDim arr(iLeSpalte) ' Array auf Anzahl der Spalten dimensionieren iZeile = ComboBox1.Value ' erste Zeile zum Einfügen iAnZeile = ComboBox2.Value ' Anzahl der einzufügenden Zeilen ' Formeln in Array schreiben For iSpa = 1 To iLeSpalte ' laufe von erster bis zur letzten Spalte If Cells(iZeile, iSpa).HasFormula Then ' wenn Zelle eine Formel enthält, dann ... arr(iSpa) = Cells(iZeile, iSpa).Formula ' ... schreibe Formel in Variable Else ' oder ... arr(iSpa) = "" ' ... schreibe Leerstring End If ' Ende der Auswahl Next iSpa ' Schleifenzähler plus 1 ' Formeln in neue Zeile(n) schreiben For iAnz = 1 To iAnZeile ' laufe von 1 bis letzter Zeile Rows(iZeile).Insert Shift:=xlDown ' füge Zeile ein For iSpa = 1 To iLeSpalte ' laufe von erster bis zur letzten Spalte Cells(iZeile, iSpa) = arr(iSpa) ' schreibe Formel(n) in neue Zeile(n) Next iSpa ' Schleifenzähler plus 1 Next iAnz ' Schleifenzähler plus 1 UserForm1.Hide End Sub
Private Sub UserForm_Initialize()
' legt Startparameter fest
' Variablen deklarieren
Dim s As Integer ' Schleifenzähler
Dim iLeZeile As Integer ' letzte Zeile
Dim u As Integer ' Schleifenzähler
iLeZeile = ThisWorkbook.Sheets("Verwaltung").Range("A65536").End(xlUp).Row ' Nummer der _
letzten Zeile
For s = 2 To iLeZeile ' laufe von 2 bis letzte Zeile
With ComboBox1 ' öffne Kombinationsfeld 1
.AddItem s ' schreibe Zeilenummer
End With ' Ende schreiben
Next s ' Schleifenzähler plus 1
For u = 1 To 10 ' laufe von 1 bis 10
With ComboBox2 ' öffne Kombinationsfeld 2
.AddItem u ' schreibe Zahl
End With ' Ende schreiben
Next u ' Schleifenzähler plus 1
End Sub
Viele Grüße und vielen DankKai