Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
996to1000
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

If then else

If then else
06.08.2008 10:27:54
Sven
Guten Morgen,
ich tüftel gerade an einem Code, aber wie es immer so ist, stößt man schnell an seine Grenzen.
In Spalte A1 steht eine Anfangsuhrzeit bsp. 06:00 Uhr
In Spalte B1 steht eine Endzeit bsp. 14:00 Uhr
In Spalte C1 soll dann Früh Spät oder Nacht stehen.
Früh = 06:00 Uhr bis 14:00 Uhr
Spät = 14:00 Uhr bis 22:00 Uhr
Nacht = 22:00 Uhr bis 06:00 Uhr
Der nachfolgende Code war ein kläglicher Versuch. Vielleicht hat ja jemand der Profis eine ähnliche Anforderung und dementsprechend einen Tip für mich.
Vielen Dank

Sub Schicht()
Application.Sheets("Tabelle1").Activate
If CDate(Range("A1")) >= CDate("06:00")  CDate("06:00") Then
Application.Sheets("Tabelle1").Range("C1") = "Früh"
ElseIf CDate(Range("A1")) >= CDate("14:00")  CDate("14:00") Then
Application.Sheets("Tabelle1").Range("C1") = "Spät"
ElseIf CDate(Range("A1")) >= CDate("22:00")  CDate( _
"00:00") 


8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: If then else
06.08.2008 10:48:04
David
VBA ist auch nicht so mein Ding.
Als Formellösung würde es so funzen:
Tabellenblattname: Tabelle2
 

B

C

D

E

F

G

12

Früh

6:00

14:00

 

1:00

Nacht

13

Spät

14:00

22:00

 

 

 

14

Nacht

22:00

6:00

 

 

 


Benutzte Formeln:
G12: =WENN(UND(F12>=$C$12;F12=$C$13;F12 Vielleicht reicht dir das ja auch so, ansonsten musst du evtl. die Formel in VBA "übersetzen".
Rückmeldung wäre nett.
Gruß
David

Anzeige
AW: If then else
06.08.2008 10:53:00
Sven
Erstmal danke für Deine Mühe, aber leider gebe ich Anfangs- und Endzeit ein. Das ganze sieht dann etwas anders aus.
So eine ähnliche Formel habe ich bereits, leider ist diese auch mit Fehlern behaftet. Ich dachte mit einem Code komme ich einfacher davon.
=WENN(UND(F44>ZEITWERT("21:59");I44=6/24;I44=14/24;I44 Gruß

AW: If then else
06.08.2008 11:25:13
David
dann sei nicht so sparsam mit Infos. Definiere doch mal, was bei den einzelnen Zeiten angezeigt werden soll. Kann deine "Such-Range" immer nur innerhalb der Vorgaben liegen oder auch "grenzüberschreitend" sein etc.?
Gruß
David

Anzeige
AW: If then else
06.08.2008 11:38:25
Sven
Wie bereits erwähnt, in den nachfolgenden Zeiträumen soll die entsprechende Schicht angezeigt werden. Trage ich beispielsweise 07:00 (in Spalte A1) und 13:00 (in Spalte B1) ein, dann soll er Früh in Spalte C1 ausgeben. Überschneidungen würde ich erstmal ausblenden wollen, da der Code wahrscheinlich zu aufwendig wird.
Früh = 06:00 Uhr bis 14:00 Uhr
Spät = 14:00 Uhr bis 22:00 Uhr
Nacht = 22:00 Uhr bis 06:00 Uhr

AW: If then else
06.08.2008 11:42:20
David
Wenn keine Überschneidungen möglich sind, brauchst du doch nur die Anfangszeit zu prüfen. Und damit würde meine Formel arbeiten. Alternativ könnte man noch die Ende-Zeit prüfen lassen und das Ergebnis dann z. Bsp. über UND oder ODER ausgeben lassen.
Gruß
David

Anzeige
AW: If then else
06.08.2008 11:49:30
Sven
Da hast Du wohl Recht. Ich probiere das erstmal aus und schaue dann weiter. Mein Problem ist, dass ich wahrscheinlich zu viele Möglichkeiten abdecken möchte und dann irgendwo hängen bleibe.
Danke

AW: If then else
06.08.2008 12:14:00
yusuf
Hi,
versuch mal diesen angepassten Code.
Ungetestet:

Sub Schicht()
Application.Sheets("Tabelle1").Activate
If CDate(Range("A1")) >= CDate("06:00") Or CDate(Range("A1"))  CDate("06:00") Then
Application.Sheets("Tabelle1").Range("C1") = "Früh"
ElseIf CDate(Range("A1")) >= CDate("14:00") Or CDate(Range("A1"))  CDate("14:00") Then
Application.Sheets("Tabelle1").Range("C1") = "Spät"
ElseIf CDate(Range("A1")) >= CDate("22:00") Or CDate(Range("A1"))  CDate("00:00") Or CDate(Range("A1")) 


Gruß
Yusuf

Anzeige
AW: Formel
06.08.2008 15:12:15
hary
Hallo Sven
Hatte dasselbe Problem. Der Fehler liegt in der Formel: Excel rechnet mit Zahlen.
Gib mal in C1 diese Formel ein

=WENN(UND(A1>=0,25;A1


0,25 steht fuer 6 Uhr, 0,58 fuer 14 Uhr. Um die richtigen Zahlen zu bekommen schreibe in die zeile die Uhrzeit rein zb.: 6:00 und wandele sie dann als Zahl um. So bekommst Du die richtigen Zahlen fuer die Formel, anschliessend kannst du sie wieder zurueck wandeln. Wichtig noch(da bin ich auch verzweifelt) wenn Du die Stunden ueber Null Uhr zusammen rechnest brauchst Du die 1(fuer 24Std).
Gruss Hary

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige