Anzeige
Archiv - Navigation
1056to1060
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

Comboboxauswahl

Comboboxauswahl
05.03.2009 19:25:51
Sophie
Hallo zusammen,
bekomme folgendes nicht gebacken:
Habe eine Userform, die eine Combobox enthält.
Diese wird gefüllt mit drei Auswahlmöglichkeiten und soll beim starten der Userform eine Vorauswahl treffen.
Sprich ich ermittle die aktuelle Uhrzeit und je nachdem in welchem Zeitfenster ich mich befinde wird die Combobox voreingestellt.
Die Zeiten sind von 22:01 Uhr bis 06:00 soll die Combobox die erste Auswahl anzeigen,
06:01 bis 14:00 Uhr die zweite Auswahl und 14:01 bis 22:00 die dritte Auswahl.
Anbei die besagte Datei.
https://www.herber.de/bbs/user/60023.xls
Das Problem ist, daß die Auswahl 2 und 3 richtig angewählt werden, aber bei der Auswahl eins also 06:01 bis 14:00 Uhr nicht erkannt bzw. beachtet wird.
Es ist zum Mäusemelken, bekomme dieses nicht hin. Irgendwo muß ein Haken oder Denkfehler ect. sich eingeschlichen haben.
Hoff Ihr könnt mir helfen.
Dank im Voraus.
Sophie

30
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
die Datei ist leer ;-) oT.
05.03.2009 19:32:26
Tino
AW: die Datei ist leer ;-) aber -UF ist da...
05.03.2009 19:39:52
robert
AW: die Datei ist leer ;-) aber -UF ist da...
05.03.2009 19:42:29
Tino
Hallo,
bei mir nicht?
frisch vom Upload
Userbild
AW: die Datei ist leer ;-) oT.
05.03.2009 19:40:59
Sophie
Hallo Tino,
schau doch bitte mal in den Visual - Basic - Editor. Dann wirst Du auch etwas finden. Eine Userform mit einem Code.
Gruß Sophie
ist heute 1. April?
05.03.2009 19:46:13
Tino
Hallo,
dreimal runtergeladen und drei mal nix, keine Ahnung warum.
Gruß Tino
Formular ist nur da in XL2000 in XL2007 nicht oT
05.03.2009 19:50:15
Matthias
wieso das? oT.
05.03.2009 19:51:10
Tino
keine Ahnung ... oT
05.03.2009 19:52:30
Matthias
Mist! oT.
05.03.2009 19:53:43
Tino
bau es nach hier zum tüfteln ... Du schaffst das
05.03.2009 19:56:37
Matthias
Hi Tino
Hier zu Tüfteln
ein UserForm1
eine Combobox1
Code:

Private Sub UserForm_Initialize()
Dim Uhr As Date
Me.ComboBox1.AddItem "Schicht 1"
Me.ComboBox1.AddItem "Schicht 2"
Me.ComboBox1.AddItem "Schicht 3"
Uhr = #5:59:00 AM#
Select Case Uhr
Case #10:01:00 PM# To #6:00:00 AM#
Me.ComboBox1.ListIndex = 0
Case #6:01:00 AM# To #2:00:00 PM#
Me.ComboBox1.ListIndex = 1
Case #2:01:00 PM# To #10:00:00 PM#
Me.ComboBox1.ListIndex = 2
End Select
End Sub


Gruß Matthias

Anzeige
AW: Mist! oT.
05.03.2009 20:01:09
Tino
Hallo,
dies ist der Grund.
Userbild
Gruß Tino
kennt einer den Grund?
05.03.2009 20:32:14
Tino
Hallo,
ist aber das erste mal, dass xl2007 dies einfach raus kickt, kennt einer den Grund.
Ist es weil die Datei sonst keinerlei Daten enthält?
Gruß Tino
mach hier nochmal auf oT.
05.03.2009 21:47:51
Tino
ich glaub so ...
05.03.2009 20:11:29
Matthias
Hallo

Private Sub UserForm_Initialize()
Dim Uhr As Integer
Me.ComboBox1.AddItem "Schicht 1"
Me.ComboBox1.AddItem "Schicht 2"
Me.ComboBox1.AddItem "Schicht 3"
Uhr = #5:59:00 AM#
Select Case Uhr
Case #10:01:00 PM# To #6:00:00 AM#
Me.ComboBox1.ListIndex = -1
Case #6:01:00 AM# To #2:00:00 PM#
Me.ComboBox1.ListIndex = 0
Case #2:01:00 PM# To #10:00:00 PM#
Me.ComboBox1.ListIndex = 1
End Select
End Sub


Bin aber nicht 100 % sicher
Gruß Matthias

Anzeige
bist Du sicher Integer bei Uhrzeiten? oT.
05.03.2009 20:38:54
Tino
oder mit If
05.03.2009 20:17:57
Tino
Hallo,
oder mach es mit einer If
Teste mal.
Private Sub UserForm_Initialize()
Dim Uhr As Date
Me.ComboBox1.AddItem "Schicht 1"
Me.ComboBox1.AddItem "Schicht 2"
Me.ComboBox1.AddItem "Schicht 3"

Uhr = #6:59:00 AM#

If Uhr > #10:01:00 PM# Or Uhr < #6:00:00 AM# Then
    Me.ComboBox1.ListIndex = 0
ElseIf Uhr > #6:01:00 AM# Or Uhr < #2:00:00 PM# Then
    Me.ComboBox1.ListIndex = 1
ElseIf Uhr > #2:01:00 PM# Or Uhr < #10:00:00 PM# Then
    Me.ComboBox1.ListIndex = 2
End If

End Sub


Gruß Tino

Anzeige
AW: oder mit If
05.03.2009 20:35:24
Sophie
Hallo Tino, Hallo Matthias,
habe Eure Varianten getestet. Funktionieren beide nicht sauber.
Habe Deine Variante Tino noch verfeinert, allerdings ohne Erfolg (= eingefügt).
Gruß
Sophie
AW: oder mit If
05.03.2009 20:39:45
Tino
Hallo,
was funktioniert nicht?
Gruß Tino
versuche mal so
05.03.2009 20:42:59
Tino
Hallo,

Private Sub UserForm_Initialize()
Dim Uhr As Date
Me.ComboBox1.AddItem "Schicht 1"
Me.ComboBox1.AddItem "Schicht 2"
Me.ComboBox1.AddItem "Schicht 3"
Uhr = #5:59:00 AM#
If Uhr >= #10:00:00 PM# Or Uhr = #6:00:00 AM# Or Uhr = #2:00:00 PM# Or Uhr 


Gruß Tino

nur so ne Idee
05.03.2009 20:49:44
Matthias
Hallo
Vieleicht sollte ja eher mit .TimeValue gearbeitet werden und dann die Schicht als Combobox1.Value
direkt über Select Case anzuzeigen.
Gruß Matthias
Anzeige
Nein, mit Select case...
05.03.2009 20:59:56
Renee
Hi Sophie,
So?

Private Sub UserForm_Initialize()
Dim Uhr As Date
Me.ComboBox1.AddItem "Schicht 1"
Me.ComboBox1.AddItem "Schicht 2"
Me.ComboBox1.AddItem "Schicht 3"
Uhr = #5:59:59 PM#
Select Case Uhr
Case #10:01:00 PM# To #11:59:59 PM#, #12:00:00 AM# To #6:00:00 AM#
Me.ComboBox1.ListIndex = 0
Case #6:01:00 AM# To #2:00:00 PM#
Me.ComboBox1.ListIndex = 1
Case #2:01:00 PM# To #10:00:00 PM#
Me.ComboBox1.ListIndex = 2
End Select
End Sub


GreetZ Renée

also bei bei mir klappt das jetzt so :o) ... oT
05.03.2009 21:11:10
Matthias
AW: oder mit If
05.03.2009 21:12:36
Tino
Hallo,
es ist eigentlich egal mit was man arbeitet, eine Überschneidung gibt es immer.
Hier mal mit Double

Private Sub UserForm_Initialize()
Dim Uhr As Double
Me.ComboBox1.AddItem "Schicht 1" 'von 22:00 bis 06:00
Me.ComboBox1.AddItem "Schicht 2" 'von 06:00 bis 14:00
Me.ComboBox1.AddItem "Schicht 3" 'von 14:00 bis 22:00
Uhr = #3:59:00 PM#
If Uhr > #10:00:00 PM# Or Uhr  #6:00:00 AM# And Uhr  #2:00:00 PM# And Uhr 


Gruß Tino

Anzeige
Klar ist es egal, aber man muss das
05.03.2009 21:22:12
Renee
Problem verstehen., Tino
Ein Zeitvergleich in einem Bereich von bis, kann nicht funktionieren, wenn der Bereich vor Mitternacht anfängt und nach Mitternacht aufhört. Es müssen dann immer 2 Bereiche getestet werden nämlich einmal der vor Mitternacht bis Mitternacht und einmal der von Mitternacht bis nach Mitternacht.
Das erreiche ich mit 2 Bereichen im Case bereich1VorMitternacht to bereich1BisMitternacht, bereich2Mitternacht to bereich2NachMitternacht. und du mit dem OR, was vielleicht simpler aussieht aber ggf. schwieriger zu verstehen/lesen ist.
GreetZ Renée
AW: 3 Schichten
05.03.2009 21:28:02
Gerd
Hallo Sophie,
probier mal.

Private Sub UserForm_Initialize()
Dim Uhr As Date
Me.ComboBox1.AddItem "Schicht 1"
Me.ComboBox1.AddItem "Schicht 2"
Me.ComboBox1.AddItem "Schicht 3"
Uhr = #5:59:59 PM#
Select Case Uhr
Case #10:01:00 PM# To #11:59:59 PM#, #12:00:00 AM# To #6:00:59 AM#
Me.ComboBox1.ListIndex = 0
Case #6:01:00 AM# To #2:00:59 PM#
Me.ComboBox1.ListIndex = 1
Case #2:01:00 PM# To #10:00:59 PM#
Me.ComboBox1.ListIndex = 2
End Select
End Sub


Sinn macht 's aber wohl mit Uhr = Time
Gruß Gerd

Anzeige
AW: 3 Schichten
05.03.2009 21:36:40
Sophie
Hallo Renée, Tino und Gerd,
genau das ist es, jetzt funktioniert es super.
Gerd, die Uhrzeit-Variable habe ich nur zum Testen eingefügt, Programm läuft mit Time.
Schönen Dank Euch und noch einen schönen Abend.
Gruß
Sophie
AW: Klar ist es egal, aber man muss das
05.03.2009 21:33:40
Tino
Hallo,
verstehe schon, bei if brauch ich das nicht.
Denke mal genauer drüber nach. ;-)
Größer 22:00:00 Uhr ist alles vor Mitternacht und
Kleiner als 06:00:00 ist alles nach Mitternacht bis 06:00:00
>#10:00:00 PM# = 22:00:00 bis 23:59:59 bei 00:00:00 fängt es wieder bei 0 an
<= #6:00:00 AM# = 00:00:00 bis 06:00:00
Gruß Tino
Anzeige
Wollte nur Sophie einen Kick geben ;-) (owT)
05.03.2009 21:36:03
Renee

ach so Missverständnis, sorry oT.
05.03.2009 21:39:56
Tino
noch ne Idee
05.03.2009 23:02:08
Oberschlumpf
Hi Sophie
Änder mal deine Problemzeile um wie folgt:

Case Is > #10:01:00 PM#, Is 


Tests mit mehreren Werten waren zumindest bei mir erfolgreich.
Hilfts auch bei dir?
Ciao
Thorsten

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige