Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema MsgBox
BildScreenshot zu MsgBox MsgBox-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema CommandButton
BildScreenshot zu CommandButton CommandButton-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema Userform
BildScreenshot zu Userform Userform-Seite mit Beispielarbeitsmappe aufrufen

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:

 A
309.09.2014
4#ZAHL!

Formeln der Tabelle
ZelleFormel
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"