Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1144to1148
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Combobox - Datumsformat

Combobox - Datumsformat
Matthias
Hallo Wissende,
ich hab folgendes Problem mit der Combobox.
Ich habe ein Liste von Daten im Datumsformat,
diese sollen in der Combobox angezeigt werden.
Da dies nicht geht, sondern nur das Zahlenformat
des jeweiligen Datums angezeigt wird habe ich folgenden
Code eingesetzt.

Private Sub ComboBox1_Change()
On Error Resume Next
ComboBox1.Text = Format(ComboBox1.List(ComboBox1.ListIndex), "dd/mm/yyyy")
'oder nur Monat und Jahr:
'ComboBox1.Text = Format(ComboBox1.List(ComboBox1.ListIndex), " mm/yyyy")
End Sub

Mit diesem wird nun das Datumsformat angezeigt, aber leider auch in der Linkedcell.
Dort benötige ich aber eine einfache Zahl 1. Datum =1/ 2. Datum =2 usw.
Ich hoffe mir kann einer von euch helfen.
hoffende Grüsse
Matthias
AW: Combobox - Datumsformat
19.03.2010 15:12:38
Ramses
Hallo
"...Dort benötige ich aber eine einfache Zahl 1. Datum =1/ 2. Datum =2 usw. .."
Dann nimm den Bezug zur LinkedCell raus uns schreibe den Listindex der Combobox per VBA in die Zelle.
Range("DeineZelle") = Me.Combobox1.ListIndex
Wozu das ganze dann aber gut sein soll erschliesst sich mir nicht
Gruss Rainer
AW: Combobox - Datumsformat
19.03.2010 15:55:52
Matthias
Hallo Rainer,
erst mal danke für deine Antwort, aber das funktioniert nicht,
wahrscheinlich mache ich was falsch.
In der linketcell möchte ich schon eine Zahl stehen haben,
also eine 1 für den ersten Eintrag, eine 2 für den zweiten Eintrag usw.
Warum ich das brauch? Ich möchte auf diese Zelle mit der Index-Formel aufsetzen.
Private Sub Combobox1_change()
On Error Resume Next
ComboBox1.Text = Format(ComboBox1.List(ComboBox1.ListIndex), "dd/mm/yyyy")
'oder nur Monat und Jahr:
'ComboBox1.Text = Format(ComboBox1.List(ComboBox1.ListIndex), " mm/yyyy")
Range(A1) = Me.ComboBox1.ListIndex
End Sub
Schöne Grüsse
Matthias
Anzeige
Mach es wie ich dir vorgeschlagen habe...
19.03.2010 16:17:53
Ramses
Hallo
... und du hast deine Zahlen dort drin
Gruss Rainer
AW: Mach es wie ich dir vorgeschlagen habe...
19.03.2010 16:31:42
Matthias
Hallo
danke für deine Antwort,
aber ich hab das Gefühl, als wolltest du mir nicht wirklich
helfen.
Danke
Schwachsinn...
19.03.2010 16:45:34
Ramses
Hallo
"...aber ich hab das Gefühl, als wolltest du mir nicht wirklich helfen..."
Wenn du nicht in der Lage bist meinen Vorschlag umzusetzen ist das nicht mein Problem,... und Hellsehen kann ich auch nicht.
Du zeigst einen Code wie du in der Combobox nach Auwahl eines Wertes das Format änderst. Da gehe ich davon aus, dass du so eine Lappalie wie den ListIndex in die Zelle kriegst
Private Sub ComboBox1_Change()
Range("DeineLinkedCell-Adresse")=Me.Combobox1.ListIndex + 1
End Sub
In der Eigenschaft "LinkedCell" der Combobox darf nichts mehr drin stehen !!
Ich hoffe das ist nun klar genug für Dich
Gruss Rainer
Anzeige
AW: Mach es wie ich dir vorgeschlagen habe...
19.03.2010 16:32:49
Matthias
Hallo,
danke für deine Hilfe,
aber kann es sein, dass du mir nicht wirklich helfen willst?
Aber hallo...
19.03.2010 16:55:42
Renee
Mister Matthias,
Was sind den das für Töne ?
Ich habe das Gefühl, dass du dir nicht wirklick helfen willst! Denken ist erlaubt, aber wir werden es dir nicht ersparen!
Range("A1") = Me.ComboBox1.ListIndex
GreetZ Renée
AW: Aber hallo...
20.03.2010 12:49:13
Matthias
Hallo,
ich wollte hier niemanden auf die Füsse treten und ich kann
wirklich euer Helfen schätzen. Sicher kommt es auch immer
auf den Empfängerhorizont an.
Aber mein Problem ist noch nicht gelöst. Ich werde mal die Datei
hochladen. Die linkedcell wird jetzt gefüllt aber nur einmal.
https://www.herber.de/bbs/user/68673.xls
Gruss
Matthias
Anzeige
AW: =Combo.Value o.r.T.
20.03.2010 14:37:27
Gerd
Gruß Gerd
AW: =Combo.Value o.r.T.
20.03.2010 15:44:38
matthias
hallo Gerd,
ich verstehe nur bahnhof
=Combo.Value o.r.T.
mag sein, dass das ein lösung ist, aber wo, wie
Gruss
Matthias
Datum statt Text, Change in Change!
20.03.2010 17:05:03
Renee
Hi Matthias,
Du hast mehrere Problmeme mit diesem Konzept.
1. Ist es nicht gerade benutzerfreundlich 2mal den gleichen Wert in einem Dropdown zu haben. Für welchen darf, soll, muss sich den der Benutzer entscheiden ? Und was erwartet ihn wenn er den anderen wählt und wie weiss er welchen er vorher gewählt hat? Anscheinend sind immer 2Messungen pro Datum vorhanden und du willst vermutlich nachher deine Diagrammdaten anpassen. Das alles könnte man ohne VBA machen, wenn die Daten eindeutig wären. Als z.B. eine Spalte mit der Formel =TEXT(W1;"tt.MM.jj")&WENN(REST(ZEILE();2)=1;" M1";" M2") würde aus deinen Datumswerten eindeutige Zellwerte und Text machen und du hättest dann...
2. Dein Problem mit dem "Datum in der Combobox umwandeln" nicht mehr!
3. Dein Code reagiert auf das Ändern des ComboBox-Inhalte (Change-Ereignis). Da du aber in diesem Code den Inhalt wieder veränderst, wird das Ereignis gleich nochmals angestossen. Deine Änderung führt dazu das du immer den ListIndex -1 (nämlich deinen eingetragenen Text) in der Zelle hast und nicht den, den du ausgewählt hast.
Also, wenn schon denn schon:
Public bChange As Boolean
Private Sub ComboBox1_Change()
If bChange Then Exit Sub
bChange = True
Range("A1") = ComboBox1.ListIndex
ComboBox1.Text = Format(ComboBox1.List(ComboBox1.ListIndex), "dd/mm/yyyy")
bChange = False
End Sub
GreetZ Renée
Anzeige
AW: Datum statt Text, Change in Change!
20.03.2010 18:03:26
fcs
Hallo Renee, Hallo Mathias,
es geht hier auch ohne die Hilfsvariable, indem man bei Listindex=-1 das Makro abricht. Dann wird beim 2. Ducrchlauf nach Setzen des Werts per Makro der Wert in Zelle A1 nicht erneut geändert.
Gruß
Franz
Private Sub ComboBox1_Change()
If ComboBox1.ListIndex = -1 Then Exit Sub
Range("A1") = ComboBox1.ListIndex
ComboBox1.Value = Format(ComboBox1.Value, "DD.MM.YYYY")
End Sub

AW: Datum statt Text, Change in Change!
20.03.2010 19:40:16
Matthias
Hallo Renèe,
danke für deine Mühe. Ich bekomme ein Debuggen in
folgender Zeile.
ComboBox1.Text = Format(ComboBox1.List(ComboBox1.ListIndex), "dd/mm/yyyy")
Du hast es gut erkannt, ich möchte, dass ein User sich das Datum auswählen kann
und sich dann die Grafik dementsprechend ändert. Ja und es gibt zwei Datenbereiche
pro Datum. Ich werde es aber dann so abändern, dass nur ein Datum pro Tag zur
Verfügung steht.
Schöne Grüsse
Matthias
Anzeige
Nimm den Vorschlag von fcs! (owT)
22.03.2010 08:31:24
fcs!

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige