ich habe mal wieder ein Problem, bei dem ich mit meinen bescheidenen VBA-Kenntnissen nicht weiterkomme.
Mit nachfolgendem Code kopiere ich das Blatt TestVorlage, benenne es nach dem Inhalt aus Combobox1 und schreibe in die Zelle A3 des neuen Blattes den Inhalt aus der Combobox1.
Ich muss gleich dazusagen, dass der Code mit Hilfe dieses Forums entstanden ist, soviel verstehe ich nicht von VBA.
Ich möchte nun folgendes ereichen:
1. In Combobox1 soll nach der Auswahl nur das Jahr (Format yyyy) angezeigt weren
2. Das neue Blatt soll in Test + Combobox1 (im Format Jahr) umbenannt werden,
also z.B.: Test 2018
Kann mir bitte Jemand helfen.
Danke fürs lesen und die Mühe!
mfg, Andreas
https://www.herber.de/bbs/user/122213.xlsm
Option Explicit
Private Sub ComboBox1_Change()
ComboBox1.Value = Format(ComboBox1.Value, ("dd.mm.yyyy"))
End Sub
Private Sub CommandButton1_Click()
Dim wks As Worksheet
Dim BlattName As String
Dim MyBool As Boolean
Dim NewTabelName As String
Sheets("TestVorlage").Visible = True
Sheets("TestVorlage").Activate
If ComboBox1.ListIndex > -1 Then
'Neuen TabellenName aus Combobox holen und merken
NewTabelName = ComboBox1.Value
BlattName = ComboBox1.Value
'Prüfe ob Blattname schon vorhanden ist
For Each wks In ThisWorkbook.Worksheets
If wks.Name = BlattName Then
MyBool = True
Exit For
End If
Next
If Not MyBool Then
'Tabelle kopieren und hinter der letzten Tabelle einfügen
ActiveSheet.Copy After:=Sheets(Sheets.Count)
'der neuen Tabelle den Name geben
Sheets(Sheets.Count).Name = NewTabelName
With ActiveSheet.Range("A3")
.Value = CDate(ComboBox1.Value)
'.NumberFormat = "YYYY"
End With
Else
MsgBox "Das Blatt [" & BlattName & "] ist schon vorhanden", vbInformation
End If
End If
End Sub
Private Sub UserForm_Initialize()
With Me.ComboBox1
.RowSource = "Satz"
.ListIndex = -1
End With
End Sub