AW: Zeileneinfügen in verknüpften Tabellen
01.07.2013 16:09:56
fcs
Hallo Andreas,
das nachfolgende Makro fügt im Stammblatt unter der Zeile mit der aktiven Zelle im "Stammblatt" eine eine Leerzeile und in den KDPL-Blättern eine Zeile mit den entsprechenden Formeln ein.
Nach Ausführung des Makros kannst du dann die Daten im Stammblatt eingeben oder in die Leerzeile kopieren.
Gruß
Franz
Sub NeueDatenzeile_einfuegen()
Dim wksStamm As Worksheet, wksKDPL As Worksheet
Dim Zeile As Long
Zeile = ActiveCell.Row
Set wksStamm = ActiveWorkbook.Worksheets("Stammblatt")
With wksStamm
If ActiveSheet.Name = wksStamm.Name And Zeile > 1 Then
If MsgBox("Neue Datenzeile unterhalb von Zeile " & Zeile & " einfügen?", _
vbQuestion + vbOKCancel, "Neuen Artikel einfügen") = vbOK Then
.Rows(Zeile + 1).Insert
.Rows(Zeile).Copy Destination:=.Rows(Zeile + 1)
.Rows(Zeile + 1).ClearContents
For Each wksKDPL In ActiveWorkbook.Worksheets
Select Case Left(wksKDPL.Name, 4)
Case "KDPL"
With wksKDPL
.Rows(Zeile + 1).Insert
.Rows(Zeile).Copy Destination:=.Rows(Zeile + 1)
End With
End Select
Next
End If
Else
MsgBox "Makro bitte nur starten, wenn """ & wksStamm.Name _
& """ das aktive Blatt ist" & vbLf _
& "und nicht Zeile 1 aktiv ist!"
End If
End With
End Sub
Sub Datenzeile_loeschen()
Dim wksStamm As Worksheet, wksKDPL As Worksheet
Dim Zeile As Long
Set wksStamm = ActiveWorkbook.Worksheets("Stammblatt")
Zeile = ActiveCell.Row
With wksStamm
If MsgBox("Artikel: " & .Cells(Zeile, 1).Text & " " & .Cells(Zeile, 2).Text & vbLf _
& "in Zeile " & Zeile & " löschen?", _
vbQuestion + vbOKCancel, "Neuen Artikel einfügen") = vbOK Then
.Rows(Zeile).Delete
For Each wksKDPL In ActiveWorkbook.Worksheets
Select Case Left(wksKDPL.Name, 4)
Case "KDPL"
With wksKDPL
.Rows(Zeile).Delete
End With
End Select
Next
End If
Else
MsgBox "Makro bitte nur starten, wenn """ & wksStamm.Name _
& """ das aktive Blatt ist" & vbLf _
& "und nicht Zeile 1 aktiv ist!"
End If
End With
End Sub