Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

If then else

Forumthread: 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") 


Anzeige

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ß

Anzeige
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

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

Anzeige
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

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

Anzeige
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
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige