Zeile in Excel in mehrere Tabellenblätter per Como

Von: , 12.11.2010 16:41 Uhr

Hallo zusammen,

ich habe in Excel einen Jahreskalender, den ich für die Urlaubsplanung nutze. Nun habe ich das Problem, dass ich zwischendrin mal eine Zeile einfügen muss um diesen zu erweitern. Es gibt insgesamt 15 Tabellenblätter.Ich möchte im Tabellenblatt Jan eine Zeile markieren und mit einem Klick auf einen Commandbutton soll nun eine leere Zeile unterhalb der markierten Zeile eingefügt werden. Weiterhin soll diese Zeile in weitere 12 Tabellenblätter eingefügt werden. Alle Tabellenblätter sind mit Formeln ausgestattet die sich teilweise auf das Blatt Jan bezien. Die Tabellen müßten sich natürlich auch nach unten hin aktualisieren.Das ganze soll mit einem zweiten Button auch andersrum funktionieren dh. es soll die markierte Zeile im Blatt Jan gelöscht werden und in den weiteren 12 blättern ebenfals. Auch hier sollten sich die Formeln dann anpassen.

Leider bin ich in VBA noch nicht so fit kann mir Jemand helfen?

1 Antworten zu dieser Frage

  1. Antwort von nach 2 Stunden 1 hilfreich
    Re: Zeile in Excel in mehrere Tabellenblätter per Como

    Habe zwar schon lange nichts mehr in VBA programmiert, aber denke es sollte so gehen:

    'Button Zeile_Einfügen_CmdButton wurde geklickt
    Private Sub Zeile_Einfügen_CmdButtonClick()
    'ermitteln der aktivierten Zeile:
    'erste Zelle des selektierten Bereichs wird gesucht: Bsp: $C$25
    Zellen_Name = ActiveCell.Rows.Address
    'nun den Namen aufteilen in Spalte und Zeile
    'Spalte_Zeile(0) = leer, Spalte_Zeile(1) = Spalte als Buchstabe, Spalte_Zeile(2) = Zeile asl Zahl
    spalte_Zeile = Split(Zellen_Name, "$")
    'Unterhalb der gefunden Zeile eine Zeile einfügen (deshalb +1)
    'Die anderen Zeilen werden automatisch nach unten geschoben
    'Falls die Zeilen nicht fix mit $Spalte$Zeile festgelegt sind, ändern sich dir Verknüfungen automatisch
    ThisWorkbook.Worksheets("Tabelle1").Rows(spalte_Zeile(2) + 1).Insert
    'Jetzt an der selben Stelle in den anderen Blättern die Zeile einfügen:
    ThisWorkbook.Worksheets("Tabelle2").Rows(spalte_Zeile(2) + 1).Insert
    ThisWorkbook.Worksheets("Tabelle3").Rows(spalte_Zeile(2) + 1).Insert
    ....
    'Kannst die einzelnen Blätter auch per Index ansprechen:
    'For i = 0 To 12
    'ThisWorkbook.Worksheets(i).Rows(spalte_Zeile(2) + 1).Insert
    'Next
    End Sub
    'Button Zeile_Löschen_CmdButton wurde geklickt
    Private Sub Zeile_Löschen_CmdButtton_Click()
    'ermitteln der aktivierten Zeile:
    'erste Zelle des selektierten Bereichs wird gesucht: Bsp: $C$25
    Zellen_Name = ActiveCell.Rows.Address
    'nun den Namen aufteilen in Spalte und Zeile
    'Spalte_Zeile(0) = leer, Spalte_Zeile(1) = Spalte als Buchstabe, Spalte_Zeile(2) = Zeile asl Zahl
    spalte_Zeile = Split(Zellen_Name, "$")
    'die selektieren Spalten in allen Blättern löschen
    'Die anderen Zeilen werden automatisch nach unten geschoben
    'Falls die Zeilen nicht fix mit $Spalte$Zeile festgelegt sind, ändern sich dir Verknüfungen automatisch
    ThisWorkbook.Worksheets("Tabelle1").Rows(spalte_Zeile(2)).Delete
    ThisWorkbook.Worksheets("Tabelle2").Rows(spalte_Zeile(2)).Delete
    ThisWorkbook.Worksheets("Tabelle3").Rows(spalte_Zeile(2)).Delete
    ...
    'Kannst die einzelnen Blätter auch per Index ansprechen:
    'For i = 0 To 12
    '    ThisWorkbook.Worksheets(i).Rows(spalte_Zeile(2)).Delete
    'Next
    End Sub
    


    Hoffe ich konnte Dir helfen
    Gruß Iben

Jetzt auf diese Frage antworten.