Anzeige
Archiv - Navigation
1308to1312
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

Datum per InputBox erhöhenß

Datum per InputBox erhöhenß
07.05.2013 11:39:31
Selma
Hallo Leute,
ich möchte in der aktive Zelle z.B. G3 über InputBox ein Datum z.B. 07.01.2013 eintragen, dann soll in nächsten vier Zellen (nach rechts gesehen) das Datum um ein Tag erhöht werden.
Danach eine Zelle (steht für Samstag und Sonntag) überspringen und in nächste Zelle sprich M3 das Datum fortsetzen.
Das Ganze soll enden, wenn in Zeile 3 der Text "Bemerkungen" erscheint.
https://www.herber.de/bbs/user/85225.xlsx
Also dann steht in...
H3=08.01.2013
I3=09.01.2013
J3=10.01.2013
K3=11.01.2013
M3=14.01.2013
usw.
Wie mache es bitte per VBA?
Besten Dank im Voraus!
Gruß,
Selma

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Datum per InputBox erhöhenß
07.05.2013 11:46:46
EtoPHG
Hallo Selma,
Wieso über eine InputBox und nicht über eine Zelle? Das ist doch nur unnötige Verkomplizierung!
Das Datum kann ganz einfach mit der Formel =G1+1 ab H3 nach rechts erhöht werden.
Das Konstrukt mit SA/SO in einer Spalte macht dir eine sinnvoller Logik zum Abfüllen der Zellen zunichte, weil das Wochenende abhängig vom Startdatum ist.
Was sollte z.B. passieren, wenn du in dein InputBox den 19.1.2013 eingibst?
Warum per VBA und nicht einfach Formeln und bed. Formatierung und v.a. Das Wochenende in 2 Spalten!
Gruess Hansueli

AW: Datum per InputBox erhöhenß
07.05.2013 16:16:45
Selma
Hallo Hansueli,
ich habe es ohne VBA probiert.
Wenn ich das Datum in G3 eingebe und diesen nach rechts ziehe, wird meine Zelle für Sa. / So. überschrieben. Ich brauche nicht zwei Spalten für Sa. und So.
Da es bei mir nicht so funktioniert hat, suche ich nach eine VBA-Lösung.
Gruß,
Selma

Anzeige
Nach dem Sinn
07.05.2013 11:49:14
JACKD
..frag ich jetzt bewusst mal nicht..
Du sagst, du möchtest zb in G3 mittels inputbox ein Datum eintragen.
Du müsstest aber dann schon definieren, welche Zelle das im konkreten Fall ist. Da du zwar mit dem WB-Change ereignis eine Inputbox aufrufen kannst, die kommt dann aber bei jeder Zelle...
Grüße

AW: Datum per InputBox erhöhenß
07.05.2013 11:59:37
Klaus
Hi Selma,
nur das erste Datum per VBA, den Rest per Formel!
H3=G3+1 und so weiter.
Das erste Datum zB so:
Sub DatumInputBox()
Range("G3").Value = CDate(InputBox("Datum?"))
End Sub

Dieses Makro geht davon aus, dass der User unfehlbar ist, immer ein korrektes Datum in korrekter Form eingibt und niemals auf Cancel drückt.
Da User aber nicht so sind, besser mit einer kleinen Fehlerbehandlung:
Sub DatumInputBox()
On Error GoTo hell
Range("G3").Value = CDate(InputBox("Datum?"))
GoTo heaven:
hell:
If MsgBox("Das war kein Datum! Neuer Versuch?", vbYesNo) = 6 Then Call DatumInputBox
heaven:
End Sub
Allerdings finde ich auch das nicht ideal. Für die Datumsauswahl gibt es ein eigened Steuerelement, den DtPicker. Der ist etwas versteckt, den musst du mal raussuchen.
Grüße,
Klaus M.vdT.

Anzeige
AW: Datum per InputBox erhöhenß
07.05.2013 16:29:00
Selma
Hallo Klaus,
ich habe es getestet und es funktioniert.
Also geht auch ohne VBA?! Du hast das Datum in G3 eingetragen und die Zellen nach rects per Formel erweitert?
Danke!
Gruß,
Selma

AW: Datum per InputBox erhöhenß
07.05.2013 20:48:27
Klaus
Hallo Selma,
Also geht auch ohne VBA?!
Da du explizit nach einer INPUTBOX gefragt hast, geht es NICHT ohne VBA.
Der DtPicker hat leider keine LinkedCell-Eigenschaft (oder ich finde sie nicht), daher funktioniert auch dieser - im Gegensatz zu den anderen Steuerelementen - nicht ohne VBA. Wie du auf die Idee kommst, erst nach einer Inputbox und dann nach einer VBA-freien Lösung zu fragen musst du mir noch erklären.
Ein Datum in G3 eintragen geht allerdings ohne VBA (natürlich). Das halte ich auch für praktischer, als über eine Inputbox ...
Wie dir hier schon in diversen Beiträgen gesehen hast, ergibt DATUM+1 in Excel das neue Datum "morgen", analog dazu ergibt DATUM-1 das neue Datum "gestern". Auch DATUM+3650 geht, wenn du mal ein paar Jahre überspringen möchtest. Ist aber nicht anzuraten, da in diesem Extremfall die Schaltjahre dazwischenfunken.
Du kannst sogar DATUM+0,75 rechnen. Dass wäre dann "Heute um 18:00 Uhr", analog dazu ist DATUM+3650,75 natürlich "nächste Dekade minus ein paar Schalttage, um 18:00 Uhr". Wenn du das mit den Kommazahlen nicht glaubst, formatier mal ein Datumsfeld als Uhrzeit ... das gibt dann ein AHA-Erlebniss.
Wenn du unbedingt und auf biegen und brechen eine VBA-freie Lösung brauchst die irgendwie mit einer Box arbeitet, könntest du dich an einer ActiveX-Textbox ohne Code dahinter und der LinkedCell Eigenschaft auseinandersetzen. Das halte ich aber für den grundfalschen Weg für diese Aufgabe und erwähne es nur der akademischen Vollständigkeit halber.
Hast du dich bei der Excel-Levelangabe eventuell verclickt? Ich meine, wir erklären dir hier ein ellenlang ein simples "=A1+1", das nicht mal eine Formel beinhaltet.
Grüße,
Klaus M.vdT.
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige