Combobox im Format Datum
Betrifft: Combobox im Format Datum
von: Andreas
Geschrieben am: 09.09.2014 12:37:14
Hallo Forum,
mit nachfolgendem Code lege ich nach Comboboxauswahl eine Kopie des aktiven Blattes an. Als Blattname wird der Comboboxinhalt genutzt. Außerdem wird der Comboboxinhalt noch in Zelle A1 des neuen Blattes geschrieben.
Allerdings soll das neue Blatt im Datumsformat 09.09.2014 benannt werden. Über
Private Sub ComboBox1_Change()
ComboBox1.Value = Format(ComboBox1.Value, ("dd.mm.yyyy"))
End Sub
funktioniert es nicht, da wird gar kein Blatt angelegt (kopiert).
Kann mir bitte Jemand helfen.
Option Explicit
Private Sub CommandButton1_Click()
Dim wks As Worksheet
Dim BlattName As String
Dim MyBool As Boolean
Dim NewTabelName As String
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("A1")
.NumberFormat = "dd"
.Range("A1").Value = ComboBox1.Value
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 = "Userform!A3:A66"
.ListIndex = -1
End With
End Sub
Danke fürs lesen und die Hilfe!
mfg, Andreas
Betrifft: AW: Combobox im Format Datum
von: Rudi Maintaire
Geschrieben am: 09.09.2014 12:59:47
Hallo,
Comboboxen enthalten immer Text.
versuchs mal mit
ComboBox1.Value = Format(CDate(ComboBox1.Value), "dd.mm.yyyy")
Gruß
Rudi
Betrifft: AW: Combobox im Format Datum
von: Andreas
Geschrieben am: 09.09.2014 13:11:01
Hallo Rudi,
danke für die schnelle Antwort. Funktioniert leider nicht. Habe deinen Code in "Private Sub ComboBox1_Change()" eingefügt.
Der untere Code
Private Sub CommandButton1_Click()
funktioniert nur, wenn ich das "ComboBox1_Change()" - Ereignis komplett auskommentiere. Auch bei deiner Variante keine Änderung.
mfg, Andreas
Betrifft: was steht denn in "Userform!A3:A66" ?
von: Matthias L
Geschrieben am: 09.09.2014 13:04:42
Hallo
Übrigens, das ist nicht nötig:
With ActiveSheet.Range("A1")
.NumberFormat = "dd"
.Range("A1").Value = ComboBox1.Value
End With
wenn schon
With dann konsequent.
With ActiveSheet.Range("A1")
.NumberFormat = "dd"
.Value = ComboBox1.Value
End With
In meinem Test wurde das Datum korrekt als Blattname gesetzt.
Was steht denn in "Userform!A3:A66" ?
Gruß Matthias
Betrifft: AW: was steht denn in "Userform!A3:A66" ?
von: Andreas
Geschrieben am: 09.09.2014 13:15:28
Hallo Matthias,
danke für die schnelle Antwort. In Zelle A3 steht die Funktion:
=HEUTE()
und in den anderen Zellen die Formel:
{=A3+KKLEINSTE(WENN((WOCHENTAG(A3+(ZEILE(INDIREKT("1:"&1*9))-1))<6)*ISTNV(VERGLEICH(A3+(ZEILE( _
INDIREKT("1:"&1*9)));Feiertage;0));ZEILE(INDIREKT("1:"&1*9)));1)}
mfg, Andreas
Betrifft: #Zahl!
von: Matthias L
Geschrieben am: 09.09.2014 13:31:21
Hallo
Wenn ich Deine Formeln so eingebe sieht der Rest unter A3 so aus:
Formeln der Tabelle |
Zelle | Formel | A3 | =HEUTE() | A4 | {=A3+KKLEINSTE(WENN((WOCHENTAG(A3+(ZEILE(INDIREKT("1:"&1*9))-1))<6)*ISTNV(VERGLEICH(A3+(ZEILE(INDIREKT("1:"&1*9)));Feiertage;0));ZEILE(INDIREKT("1:"&1*9)));1)} |
|
Enthält Matrixformel: Umrandende { } nicht miteingeben, sondern Formel mit STRG+SHIFT+RETURN abschließen! |
Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4
Gruß Matthias
Betrifft: AW: #Zahl!
von: Andreas
Geschrieben am: 09.09.2014 13:40:49
Hallo Matthias,
für die Formel in A4 wird noch der Bereich "Feiertage" benötigt. Ein Zellbereich in dem die Feiertage des Jahres (tt.mm.jj) aufgelistet sind und über Namensmanager der Bereichsname "Feiertage" zugewiesen wird.
mfg, Andreas
Betrifft: keine Probleme !
von: Matthias L
Geschrieben am: 09.09.2014 14:06:02
Hallo
Ich kann die Blätter erstellen, ohne Fehler.
Was genau geht denn bei Dir nicht?
Gruß Matthias
Betrifft: AW: keine Probleme !
von: Andreas
Geschrieben am: 09.09.2014 14:15:34
Hallo Matthias,
bei mir wird nach Auswahl des Datums in der Combobox der Wert als fortlaufende Zahl (also die Zahl des Datums) angezeigt. Das Tabellenblatt wird dann auch mit der fortlaufenden Zahl des Datums benannt.
mfg, Andreas
https://www.herber.de/bbs/user/92547.xlsm
Betrifft: Dein Problem ist erkannt.
von: Matthias L
Geschrieben am: 09.09.2014 14:41:38
Hallo
Weil der ComboBox1.ListIndex -1 ist.
Somit springt der Code sofort aufs End IF
Da Du RowSource benutzt will die Box exakt einen Wert daraus haben sonst ist der ListIndex -1
https://www.herber.de/bbs/user/92549.xlsm
Gruß Matthias
Betrifft: AW: Dein Problem ist erkannt.
von: Andreas
Geschrieben am: 09.09.2014 14:51:33
Hallo Matthias,
vielen Dank für deine Hilfe und Mühe! Jetzt klappt es super.
Nen schönen Tag noch.
mfg, Andreas
Betrifft: Danke für die Rückmeldung :-) owT
von: Matthias L
Geschrieben am: 09.09.2014 14:53:08
Beiträge aus den Excel-Beispielen zum Thema "Combobox im Format Datum"