habe in meiner tabelle in menüleiste funktionen hinterlegt, welche mir von den jeweiligen originalblättern eine jeweilige kopie erstellen und dabei mittels userform den namen abfragen.
da hierbei die namensvergabe einem gewissen schema folgt, dachte ich mir nun, wenn ich das erste blatt anlegen lasse, dann müsste es doch möglich sein, das dazu gehörige zweite blatt automatisch anlegen zu lassen, ohne das ich dies manuell machen muss.
anbei code und datei zum besseren verständnis!
und dann noch eine andere frage, in dem zweiten blatt beziehe ich mich auf zellen in dem ersten tabellenblatt, gibt es die möglichkeit, wenn ich mir neue blätter anlege, mit Formeln jeweils auf das davorliegende, bzw. darauffolgende blatt zu verweisen.
https://www.herber.de/bbs/user/10432.xls
Sub Auto_Open()
Set ML = Application.CommandBars("Worksheet Menu Bar")
Set U1 = ML.Controls.Add(Type:=msoControlPopup, Before:=10)
U1.Caption = "&Projekt"
U1.Tag = "MeinMenü"
Set Punkt = U1.Controls.Add(Type:=msoControlButton)
With Punkt
.Caption = "&Kosten"
.OnAction = "Kosten"
.Style = msoButtonIconAndCaption
.FaceId = 2103
End With
Set Punkt = U1.Controls.Add(Type:=msoControlButton)
With Punkt
.Caption = "&Verrechnung"
.OnAction = "Verrechnung"
.Style = msoButtonIconAndCaption
.FaceId = 2103
End With
End Sub
Sub Auto_Close()
Set ML = Application.CommandBars("Worksheet Menu Bar")
On Error Resume Next ' Fehlerbehandlung
ML.FindControl(Tag:="MeinMenü").Delete
End Sub
Sub Kosten()
On Error GoTo fehler
Sheets("Kosten").Copy Before:=Sheets(3)
With Sheets(3)
.Name = InputBox("Bezeichnung für Kosten")
.Visible = True
End With
Exit Sub
fehler:
MsgBox "Ungültiger Blattname - Blatt wurde nicht umbenannt"
Sheets(3).Visible = True
End Sub
Sub Verrechnung()
On Error GoTo fehler
Sheets("Verrechnung").Copy Before:=Sheets(3)
With Sheets(3)
.Name = InputBox("Bezeichnung für Verrechnung")
.Visible = True
End With
Exit Sub
fehler:
MsgBox "Ungültiger Blattname - Blatt wurde nicht umbenannt"
Sheets(3).Visible = True
End Sub