Hallo Liebe Forngemeinde,
wie oben beschrieben würde ich gerne Tabelleblätter unter selbstfestgeletem namen speichern und diese dann über eine combobox auswählen und löschen können.
Ich habe bereits 2 codes rausgescuht die das anstellen sollen das hinzufügen von Tabellenblätter mit namen funktioniert, allerdings kann ich in der Combobox nicht auswählen und löschen da dort keine Tabbellenblätter eingefügt werden.
Userform 2 sieht wie folgt aus:
tb_name --> eingabe des namens des neuen Tabellenblattes
cb_save_as --> command button der die Tabelle hinzufügt
cbox_liste --> auswahl liste für löschen
cb_delete --> command button zum löschen der auswahl
Viele dank für eure Hilfe und freundliche grüße Lorenz
Private Sub UserForm2_Initialize()
init_Cbox_liste
End Sub
Private Sub CB_save_as_Click()
If tb_name = "" Then
MsgBox ("Bitte Tabelle benennenen")
Exit Sub
Else
End If
Dim wsNew As Worksheet
Set wsNew = Worksheets.Add
With wsNew
.Name = tb_name.Value
.Move after:=Sheets(Sheets.Count)
End With
Set wsNew = Nothing
End Sub
Public Sub methode01()
Cbox_liste.Clear
For i = 1 To Worksheets.Count
Cbox_liste.AddItem Worksheets(i).Name
Next
End Sub
Private Sub Cbox_liste_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
Worksheets(Cbox_liste.Value).Select
End Sub
Private Sub cb_delete_Click()
If Me.Cbox_liste.ListIndex > -1 And ThisWorkbook.Worksheets.Count > 1 Then
If MsgBox( _
Prompt:="Möchten Sie das Tabellenblatt """ & Me.Cbox_liste.Value & """ wirklich löschen?", _
Buttons:=vbCritical + vbYesNoCancel, _
Title:="Achtung") _
= vbYes Then
Application.DisplayAlerts = False
Worksheets(Me.Cbox_liste.Value).Delete
Application.DisplayAlerts = True
init_Cbox_liste
Else
Exit Sub
End If
End If
End Sub
Private Sub init_Cbox()
Dim ws As Worksheet
Me.Cbox_liste.Clear
For Each ws In ThisWorkbook.Worksheets
Me.Cbox_liste.AddItem ws.Name
Next ws
End Sub
|