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

Datumseingabe erleichtern mit VB

Datumseingabe erleichtern mit VB
udo-d
Hallo liebe Gemeinde,
könnte mir Jemand hierbei bitte aus der Patsche helfen.
möchte in irgend einer Zeile ein bestimmten Spalte
Sprich zB. mit Cells(activecell.row, 7) ... also alle Zellen in Spalte 7
in diese Zellen " Datümer " ( oh Gott , Datum in Plural ? ) eingeben können, und zwar
nur anhand der Tageszahl, den Rest soll er aus Bezugzellen zusammensetzen.
Sprich ich gebe bspw. 12 in die Zelle ein ( nehmen wir an in G13 )
Bezug für den Monat ( zB. JAN ) steht in A1 eine 1
Bezug für das Jahr steht in B1 zB 2009
letztlich sollte nachdem ich dann mit Return bestätige anhand der geschriebenen Eingabe "12"
anschl. dort 12.01.2009 drinne stehen.
Würde es also im SelectionChange Ereigniss zusätzlich mit anführen wollen.
Könntet ihr mir dabei helfen, wär spitze
Liebe Grüße aus Stuttgart
Udo
AW: Datumseingabe erleichtern mit VB
23.09.2009 11:13:18
hary
Hallo Udo
teste mal. Code gehoert in den Code der Tabelle. Nach eintrag in SpalteG und druecken Enter erscheint Datum.

Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
If Target.Column = 7 Then 'nur Spalte7
Target = DateSerial(Cells(1, 2), Cells(1, 1), Target.Value)
End If
End Sub

Gruss Hary
... fast - leider noch ein kleiner Fehler
23.09.2009 11:29:45
udo-d
Hallo Hary,
zunächst liebn Dank für deine Mühe, an einem ähnlichen Ansatz hirn ich auch schon den ganzen Morgen rum.
Kann sagen dass unsere Ansätze eigtl. identsich sind, meiner sah so aus
' Cells(ActiveCell.Row, 7) = DateSerial(Year([A1]), Month([B1]), Day(Cells(ActiveCell.Row, 7).Value))
ABER :
dein Ansatz passt schon mal viel besser , da er das Datum Tag und Monat richtig übernimmt, allerdings
kommt dann ( wie bei meinem Ansatz ) nicht 2009 ( vorausgesetzt in der Bezugszelle A1 ist auch 2009 ) sondern ... , ... , 1900
Versuch grad schon die ganze Zeit über versch. Zellformate ( text , zahl etc. ) aber irgendwie ...
S' will no ned - ;-)
Vielleichd hasch ja nomol a Idee - wär dr dankbar
Udo
Anzeige
... muss noch dazu sagen , dass die Zellen
23.09.2009 11:51:52
udo-d
Hallo Hary,
muss noch dazu sagen dass die Zellen in Spalte G als
Datumswerte formatiert sind ( bzgl. der Möglichkeit die Tab. anhand der Datumseingaben zu sortieren )
und nicht als Textformat ...
Irgendwie schreibt er mir da immernoch 1900 als Jahresdatum rein ?
Hängt das mit dem Format der Bezugszellen zusammen ?
hab auch da schon versucht anstatt nur in A1 dann 2009 reinzuschrb. mal mit 01.01.2009 prob.
geht aber auch nicht ?
Schon komisch ?
Lieben Gruß - udo
AW: ... muss noch dazu sagen , dass die Zellen
23.09.2009 12:55:31
hary
hallo Udo
teste mal die.
https://www.herber.de/bbs/user/64612.xls
Gruss hary
Anzeige
AW: Datumseingabe erleichtern mit VB
23.09.2009 12:52:49
Rudi
Hallo,
Private Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo ErrHandler
If Target.Column = 7 Then 'nur Spalte7
Application.EnableEvents = False
Target = DateSerial(Cells(1, 2), Cells(1, 1), Target.Value)
End If
ErrHandler:
Application.EnableEvents = True
End Sub

Gruß
Rudi
JA !!! Ihr seit spitze !!! Danke Danke Danke ...
23.09.2009 13:02:55
udo-d
Sehr großen Dank an Euch beide und an Eure Mühe
Habt mir sehr geholfen
Lieben Gruß aus Stuttgart
udo
... mir ist noch was Simples aufgefallen
23.09.2009 13:46:39
udo-d
Hallo nochmal,
hatte vorhin gleich den Code von Hary in meine Tab mit implementiert, und
komischer Weise ging er da zunächst nicht.
Nach langem Suchen hab ich den Fehler endlich entdeckt :
Euer Code funkt. wunderbar, an dem lag es nicht, sondern in der Werkzeugleiste der Steuerelemente Toolbox - da ist doch so ein kleines Geodreieck und ein kurzes Kineal abgebildet - Sprich der Button mit dem man die ganzen Worksheet Ereignisse ein & ausschalten kann -
Der war die ganze Zeit auf aus , sprich meine Tab hatte nur dauernd versucht über die Zellformation der jew. Zelle in Spalte G es entspr. anzuzeigen ( die Bezugswerte aus A1 und B1 wurden also nie berücksichtigt ! ) daher auch immer die 1900 hinten.
Erst mit eingeschalteten W.Ereignissen nimmt er die Daten rüber ...
Manchmal ist's so einfach und mann siehts nicht ...
Danke nochmal ohne Eure Hilfe hätt ich noch ewig gebraucht
Udo
Anzeige
AW: ... mir ist noch was Simples aufgefallen
23.09.2009 14:54:14
Rudi
Hallo,
Sprich der Button mit dem man die ganzen Worksheet Ereignisse ein & ausschalten kann - 

Das ist Entwurfsmodus ein-aus.
Logischerweise werden Ereignisprozeduren nicht ausgeführt wenn die Ereignisbehandlung abgeschaltet ist.
Gruß
Rudi

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige