Supportnet / Forum / Tabellenkalkulation
Uhrzeit und Datum
Frage
Hallo!
Ist es in Excel möglich, dass ich nur die Uhrzeit in einer Zelle eingebe, mir aber das dazugehörige Datum mitangezeigt wird?
Also bei Eingabe von 22:30 soll 05.06. - 22:30 angezeigt werden. Über das Datumformat zeigt Excel leider 00.01.1900 an. Kann mir jemand helfen?
Danke!.
Antwort 1 von KJG17
Hallo Petra,
in Excel erfolgt bei dir die Zählung von Datum und Uhrzeit ausgehend vom 01.01.1900 = '1', der 06.06.08 hat danach den Wert '39605'.
Zeitangaben werden als Dezimalwerte dieser Datumswerte erfasst. Wenn du also nur 22:30 eingibst, entspricht das Excel-Intern dem Dezimalwert 0,9735, also 23:30 Uhr am 00.01.1900.
Für den 06.06.08 23:30 Uhr müsste der hinter Datum+Uhrzeit stehende Dezimalwert 39605,9735 lauten, aber woher sollte Excel das wissen, wenn du mit 23:30 nur die Werte hinter dem Komma eingibst?
Gruß
Kalle
in Excel erfolgt bei dir die Zählung von Datum und Uhrzeit ausgehend vom 01.01.1900 = '1', der 06.06.08 hat danach den Wert '39605'.
Zeitangaben werden als Dezimalwerte dieser Datumswerte erfasst. Wenn du also nur 22:30 eingibst, entspricht das Excel-Intern dem Dezimalwert 0,9735, also 23:30 Uhr am 00.01.1900.
Für den 06.06.08 23:30 Uhr müsste der hinter Datum+Uhrzeit stehende Dezimalwert 39605,9735 lauten, aber woher sollte Excel das wissen, wenn du mit 23:30 nur die Werte hinter dem Komma eingibst?
Gruß
Kalle
Antwort 2 von nighty
hi all
ein beispiel
gruss nighty
einzufuegen
alt*f11/projektexplorer/deinetabelle
ein beispiel
gruss nighty
einzufuegen
alt*f11/projektexplorer/deinetabelle
Private Sub worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
Cells(Target.Row, Target.Column) = Date & "-" & Cells(Target.Row, Target.Column)
Application.EnableEvents = True
End SubAntwort 3 von schnallgonz
Salvete
@nighty
Liegt es an meinem Steinzeit-Excel97?
Mit Deinem Code wird bei mir z.B. aus 20:21
06.06.2008-0,847916666666667
Erst nach Formatzuweisung funzt es
Wie man die Sekundendarstellung abklemmt, weiß ich nicht.
mfg
schnallgonz
@nighty
Liegt es an meinem Steinzeit-Excel97?
Mit Deinem Code wird bei mir z.B. aus 20:21
06.06.2008-0,847916666666667
Erst nach Formatzuweisung funzt es
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
Cells(Target.Row, Target.Column).NumberFormat = "dd/mm/jjjj - hh:mm"
Cells(Target.Row, Target.Column) = Date & " - " & Cells(Target.Row, Target.Column)
Application.EnableEvents = True
End Sub
Ergebnis dann 06.06.2008 - 20:21:00Wie man die Sekundendarstellung abklemmt, weiß ich nicht.
Cells(Target.Row, Target.Column) = Day(Date) & "." & Month(Date) & ". - " & Cells(Target.Row, Target.Column) bringt zwar das Datum ohne Jahr, aber nur einstellig, trotz Formatzuweisung.mfg
schnallgonz
Antwort 4 von nighty
hi schnallgonz :-)
die leidige kompatibilitaet :-))
erstellt mit excel 2000 ,zelle als standard formatiert
gut das es noch andere beispiele bzw von dir gibt :-))
gruss nighty
die leidige kompatibilitaet :-))
erstellt mit excel 2000 ,zelle als standard formatiert
gut das es noch andere beispiele bzw von dir gibt :-))
gruss nighty
Antwort 5 von Petra0403
Entschuldigung!
Ich habe ein paar Tage nicht nachgesehen und siehe da - ihr ward trotzdem fleißig. Habs gleich mal ausprobiert und ich bin schon fast zufrieden. Schon mal vielen Dank.
Ich dachte aber, dass ich nun über eine Hilfsspalte B (=A1 - wenn in A das Datum mit Uhrzeit steht) diese Spalte B als Zahl formatiere und damit rechnen (Sortieren) kann. Leider zeigt mir nach =A1 in B1 das Datum doppelt an( mit Uhrzeit)
Gruß Petra
Ich habe ein paar Tage nicht nachgesehen und siehe da - ihr ward trotzdem fleißig. Habs gleich mal ausprobiert und ich bin schon fast zufrieden. Schon mal vielen Dank.
Ich dachte aber, dass ich nun über eine Hilfsspalte B (=A1 - wenn in A das Datum mit Uhrzeit steht) diese Spalte B als Zahl formatiere und damit rechnen (Sortieren) kann. Leider zeigt mir nach =A1 in B1 das Datum doppelt an( mit Uhrzeit)
Gruß Petra
Antwort 6 von schnallgonz
Salve Petra,
Du kannst die Datumspalte auch sortieren, ohne sie in einer Hilfspalte als Zahl zu formatieren.
Man sollte aber das Ereignis auf die Spalte beschränken, in welcher die
Uhrzeit eingegeben wird.
Sonst wird bei jeder Eingabe das Datum erneut geschrieben.
Versuch es mal mit diesem Code, falls die Uhrzeit in Spalte A eingegeben wird:
mfg
schnallgonz
Du kannst die Datumspalte auch sortieren, ohne sie in einer Hilfspalte als Zahl zu formatieren.
Man sollte aber das Ereignis auf die Spalte beschränken, in welcher die
Uhrzeit eingegeben wird.
Sonst wird bei jeder Eingabe das Datum erneut geschrieben.
Versuch es mal mit diesem Code, falls die Uhrzeit in Spalte A eingegeben wird:
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
'falls Eingabe in Spalte A
If Target.Column = 1 Then
Cells(Target.Row, 1).NumberFormat = "dd/mm/jjjj - hh:mm"
Cells(Target.Row, 1) = Date & " - " & Cells(Target.Row, 1)
End If
Application.EnableEvents = True
End Submfg
schnallgonz
Antwort 7 von Petra0403
Danke Schnallgonz,
Das Sortieren scheint zu klappen. Was mich stört ist das Jahr und die Sekunden, wegen der Spaltenbreite und das ich bei Bedarf kein anderes Datum eingeben kann. Ist da noch was zu machen? Also mein großes Ziel ist es, dass sich die Tabelle
nach den Zeiten in Spalte B automatisch sortiert - aber eben von 05:00 - wieder 05:00 Uhr. Gleichzeitig will ich aber auch Eingaben sparen, also nicht immer das ganze Datum mit eingeben. Steht aber mal ein Datum mit Uhrzeit drin, soll es an folgenden Tagen in der Sortierreihenfolge weiter so bleiben, wie es ist - also sich nicht automatisch am nächsten Tag verändern! Ich bin so froh, dass ihr mir helft.
Das Sortieren scheint zu klappen. Was mich stört ist das Jahr und die Sekunden, wegen der Spaltenbreite und das ich bei Bedarf kein anderes Datum eingeben kann. Ist da noch was zu machen? Also mein großes Ziel ist es, dass sich die Tabelle
nach den Zeiten in Spalte B automatisch sortiert - aber eben von 05:00 - wieder 05:00 Uhr. Gleichzeitig will ich aber auch Eingaben sparen, also nicht immer das ganze Datum mit eingeben. Steht aber mal ein Datum mit Uhrzeit drin, soll es an folgenden Tagen in der Sortierreihenfolge weiter so bleiben, wie es ist - also sich nicht automatisch am nächsten Tag verändern! Ich bin so froh, dass ihr mir helft.
Antwort 8 von schnallgonz
Hallo,
wie ich schon schrieb, mit Excel97 bekomme ich weder das Jahr noch die Sekunden weg.
Welche Excelversion verwendest Du?
Ein automatisches Sortieren ist schlecht, bei jeder Eingabe oder wie?
Besser per Klick auf einen Button, oder?
Ein einmal eingetragener Wert verändert sich nicht.
Ein Problem ist, dass Du einen Wert in Spalte A nicht ändern kannst,
deshalb brauchst Du das Ereignis "Datumbeistellung" wahlweise, man muss es per Button ein- und ausschalten können.
Ist gar nicht so schwer:
Du legst eine Umschaltfläche in Deinem Tabellenblatt an
(Symbolleiste "Steuerelement Toolbox")
Dort, wo schon das Worksheet_Change Ereignis steht, kopierst Du folgenden Code:
In ein normales Modul kopierst Du diese Zweizeiler:
Diese schreiben im Wechsel in Zelle IV1 eine 1 für Hilfe an oder eine 0 für Hilfe aus (Du kannst auch eine andere Zelle bestimmen).
Dazu das wie folgt abgewandelte Ereignis
und Du kannst per Knopfdruck die Hilfe ein- und ausschalten.
Problem Jahreszahl und Sekunden ist damit noch nicht gelöst.
Vielleicht geht es in einer neueren Excelversion besser, man
könnte zur Not per VBA die Jahreszahl und die Sekunden löschen.
Das sollte aber eleganter funktionieren.
Siehe meine Antwort3, auch bei entsprechender Formatzuweisung und Code nur für Tag und Monat bringt excel immer das volle Datum.
Heute fällt mir dazu nichts mehr ein
mfg
schnallgonz
wie ich schon schrieb, mit Excel97 bekomme ich weder das Jahr noch die Sekunden weg.
Welche Excelversion verwendest Du?
Ein automatisches Sortieren ist schlecht, bei jeder Eingabe oder wie?
Besser per Klick auf einen Button, oder?
Zitat:
Steht aber mal ein Datum mit Uhrzeit drin, soll es an folgenden Tagen in der Sortierreihenfolge weiter so bleiben, wie es ist - also sich nicht automatisch am nächsten Tag verändern
Verstehe ich nicht.Steht aber mal ein Datum mit Uhrzeit drin, soll es an folgenden Tagen in der Sortierreihenfolge weiter so bleiben, wie es ist - also sich nicht automatisch am nächsten Tag verändern
Ein einmal eingetragener Wert verändert sich nicht.
Ein Problem ist, dass Du einen Wert in Spalte A nicht ändern kannst,
deshalb brauchst Du das Ereignis "Datumbeistellung" wahlweise, man muss es per Button ein- und ausschalten können.
Ist gar nicht so schwer:
Du legst eine Umschaltfläche in Deinem Tabellenblatt an
(Symbolleiste "Steuerelement Toolbox")
Dort, wo schon das Worksheet_Change Ereignis steht, kopierst Du folgenden Code:
Private Sub ToggleButton1_Click()
Dim TB As ToggleButton
Set TB = ToggleButton1
If TB.Value = True Then
TB.Caption = "HilfeAn"
DatumHilfeAn
Else
TB.Caption = "HilfeAus"
DatumHilfeAus
End If
End SubIn ein normales Modul kopierst Du diese Zweizeiler:
Sub DatumHilfeAn()
Sheets("Tabelle3").Select
Cells(1, 256).Value = 1
End Sub
Sub DatumHilfeAus()
Sheets("Tabelle3").Select
Cells(1, 256).Value = 0
End SubDiese schreiben im Wechsel in Zelle IV1 eine 1 für Hilfe an oder eine 0 für Hilfe aus (Du kannst auch eine andere Zelle bestimmen).
Dazu das wie folgt abgewandelte Ereignis
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
'falls Eingabe in Spalte A
If Target.Column = 1 And Cells(1, 256).Value = 1 Then
Cells(Target.Row, 1).NumberFormat = "dd/mm/jjjj - hh:mm"
Cells(Target.Row, 1) = Date & " - " & Cells(Target.Row, 1)
End If
Application.EnableEvents = True
End Subund Du kannst per Knopfdruck die Hilfe ein- und ausschalten.
Problem Jahreszahl und Sekunden ist damit noch nicht gelöst.
Vielleicht geht es in einer neueren Excelversion besser, man
könnte zur Not per VBA die Jahreszahl und die Sekunden löschen.
Das sollte aber eleganter funktionieren.
Siehe meine Antwort3, auch bei entsprechender Formatzuweisung und Code nur für Tag und Monat bringt excel immer das volle Datum.
Heute fällt mir dazu nichts mehr ein
mfg
schnallgonz
Antwort 9 von Petra0403
Hallo!
Ich benutze Excel 2003.
Eine automatische Sortierung bei Eingabe wäre mir am liebsten.
Mit dem Zitat meine ich nur, dass sich das heute eingegebene Datum morgen nicht automatisch mit ändert! Hab ich heute überprüft - es klappt.
Das mit dem "per Button ein- und ausschalten können" verstehe ich nicht so richtig. Willst du damit erreichen: bei "Hilfe ein" sind Änderungen in Spalte A möglich und bei "Hilfe aus" nicht? Klappt dann aber bei mir nicht. Der Button wechselt zwar die Anzeige Hilfe ein/Hilfe aus - aber in der Datei bleibt alles beim Alten. Wenn ich in Spalte A etwas lösche, dann bleibt stur das Datum stehen.
Das Löschen von ganzen Zeilen ist aber auch wichtig. Die abgearbeitete Dinge erhalten eine Endzeit in Spalte B und diese gesamten Zeilen werden dann um 05:00 Uhr des nächsten Tages gelöscht. Anschließend sollen sich die Lücken in der richtigen Sortierreihenfolge wieder schließen.
Gruß Petra
Ich benutze Excel 2003.
Eine automatische Sortierung bei Eingabe wäre mir am liebsten.
Mit dem Zitat meine ich nur, dass sich das heute eingegebene Datum morgen nicht automatisch mit ändert! Hab ich heute überprüft - es klappt.
Das mit dem "per Button ein- und ausschalten können" verstehe ich nicht so richtig. Willst du damit erreichen: bei "Hilfe ein" sind Änderungen in Spalte A möglich und bei "Hilfe aus" nicht? Klappt dann aber bei mir nicht. Der Button wechselt zwar die Anzeige Hilfe ein/Hilfe aus - aber in der Datei bleibt alles beim Alten. Wenn ich in Spalte A etwas lösche, dann bleibt stur das Datum stehen.
Das Löschen von ganzen Zeilen ist aber auch wichtig. Die abgearbeitete Dinge erhalten eine Endzeit in Spalte B und diese gesamten Zeilen werden dann um 05:00 Uhr des nächsten Tages gelöscht. Anschließend sollen sich die Lücken in der richtigen Sortierreihenfolge wieder schließen.
Gruß Petra
Antwort 10 von schnallgonz
Hallo,
Dass es bei Dir nicht funzt, liegt wahrscheinlich an
Das automatische Sortieren nach jeder Eingabe kannst Du selbst einrichten:
Zeichne mit dem Makrorecorder die gewünschte Sortieraktion auf und kopiere diesen Code in das Change-Ereignis in die Zeile nach "End If"
mfg
schnallgonz
Zitat:
Willst du damit erreichen: bei "Hilfe ein" sind Änderungen in Spalte A möglich und bei "Hilfe aus" nicht?
so soll es sein.Willst du damit erreichen: bei "Hilfe ein" sind Änderungen in Spalte A möglich und bei "Hilfe aus" nicht?
Dass es bei Dir nicht funzt, liegt wahrscheinlich an
Sheets("Tabelle3").SelectHier musst Du Deinen Blattnamen eintragen.Das automatische Sortieren nach jeder Eingabe kannst Du selbst einrichten:
Zeichne mit dem Makrorecorder die gewünschte Sortieraktion auf und kopiere diesen Code in das Change-Ereignis in die Zeile nach "End If"
mfg
schnallgonz
Antwort 11 von Petra0403
Danke für die Antwort!
Auf Tabelle 1 hatte ich schon geändert - geht aber trotzdem nicht. Hilfe ein oder aus beim löschen bleibt immer das Datum stehen.
Gruß Petra
Auf Tabelle 1 hatte ich schon geändert - geht aber trotzdem nicht. Hilfe ein oder aus beim löschen bleibt immer das Datum stehen.
Gruß Petra
Antwort 12 von schnallgonz
Hallo Petra,
erstmal der Code ohne das "Dilettanten-Select" ;-)
Bei mir funzt es,
hast Du
Falls es daran nicht liegen sollte, schick mir eine PN, dann können wir die Datei per mail austauschen, es wird irgendein Übertragungs- oder Eingabefehler sein.
Vertrauliche Daten solltest Du vorher entsorgen.
mfg
schnallgonz
erstmal der Code ohne das "Dilettanten-Select" ;-)
Sub DatumHilfeAn()
Sheets("Tabelle1").Cells(1, 256).Value = 1
End Sub
Sub DatumHilfeAus()
Sheets("Tabelle1").Cells(1, 256).Value = 0
End SubBei mir funzt es,
hast Du
If Target.Column = 1 And Cells(1, 256).Value = 1 Then im Change-Ereignis ergänzt (Antwort8)?Falls es daran nicht liegen sollte, schick mir eine PN, dann können wir die Datei per mail austauschen, es wird irgendein Übertragungs- oder Eingabefehler sein.
Vertrauliche Daten solltest Du vorher entsorgen.
mfg
schnallgonz
Antwort 13 von Petra0403
Guten Tag du treuer Helfer!
Ich hab mich an Antwort 12 gehalten und jetzt klappt es!
Wenn da nicht die Jahreszahl und die Sekunden wären.
Du hattest die Notvariante mit VBA angedeutet.
Wäre mir eigentlich egal, Hauptsache ich kann die Spaltengröße schön klein halten.
Hilfst du mir?
mfG und Danke
Ich hab mich an Antwort 12 gehalten und jetzt klappt es!
Wenn da nicht die Jahreszahl und die Sekunden wären.
Du hattest die Notvariante mit VBA angedeutet.
Wäre mir eigentlich egal, Hauptsache ich kann die Spaltengröße schön klein halten.
Hilfst du mir?
mfG und Danke
Antwort 14 von Petra0403
Hallo Schnallgonz!
Habe gerade das mit deinem Sortiervorschlag umgesetzt.
Klappt einwandfrei.
Kann ich den Button "HilfeAn" auch verschieben? Ich hab den jetzt an einer ungünstigen Stelle platziert, weil ich dachte, dass ich ihn genau wie den Sortierbutton verschieben kann - geht aber nicht.
Was muß ich ändern, wenn ich statt Spalte A die Spalte B zum Sortieren nehmen möchte.
Weil ich gerade mal beim Fragen bin: Kann man in Excel die Spaltenüberschriften nur einmal (oben) angeben, sie aber auf allen Blätter mit ausdrucken?
Nochmal mfG Petra
Habe gerade das mit deinem Sortiervorschlag umgesetzt.
Klappt einwandfrei.
Kann ich den Button "HilfeAn" auch verschieben? Ich hab den jetzt an einer ungünstigen Stelle platziert, weil ich dachte, dass ich ihn genau wie den Sortierbutton verschieben kann - geht aber nicht.
Was muß ich ändern, wenn ich statt Spalte A die Spalte B zum Sortieren nehmen möchte.
Weil ich gerade mal beim Fragen bin: Kann man in Excel die Spaltenüberschriften nur einmal (oben) angeben, sie aber auf allen Blätter mit ausdrucken?
Nochmal mfG Petra
Antwort 15 von schnallgonz
Hallo
das ist doch schon mal gut.
Zur Jahreszahl und den Sekunden:
irgendwie macht Excel hier nicht genau das, was man ihm sagt.
Die Sekunden kann man per VBA einfach löschen, die Jahreszahl
zwar auch, aber dann hast Du kein Datum mehr.
Bemerkenswert ist, dass Excel die Eingabe erst als Datum erkennt,
wenn sie quasi erneut bestätigt wird, man also in die Eingabezeile
geht und <<Enter>> drückt.
Simuliert man diese Tasteneingaben, bekommt man das Ergebnis,
das Du möchtest.
Hier der neue Code für das Changeereignis.
Kopiere ihn anstelle des bisherigen und fertig.
(Dem ein oder anderen wird sich der Magen umdrehen, aber bei
mir funzt es)
Noch etwas:
das mit der 1 und 0 in "IV1" ist auch eine Krücke.
falls Du Spalten einfügen willst, geht das nicht, weil dann
der Wert 1 oder 0 in der letzten Spalte steht.
dann müßte man eine Zelle weiter links wählen oder in
einer Hilfstabelle und natürlich den Code auf den neuen Bezug anpassen.
mfg
schnallgonz
Zitat:
Ich hab mich an Antwort 12 gehalten und jetzt klappt es!
Ich hab mich an Antwort 12 gehalten und jetzt klappt es!
das ist doch schon mal gut.
Zur Jahreszahl und den Sekunden:
irgendwie macht Excel hier nicht genau das, was man ihm sagt.
Die Sekunden kann man per VBA einfach löschen, die Jahreszahl
zwar auch, aber dann hast Du kein Datum mehr.
Bemerkenswert ist, dass Excel die Eingabe erst als Datum erkennt,
wenn sie quasi erneut bestätigt wird, man also in die Eingabezeile
geht und <<Enter>> drückt.
Simuliert man diese Tasteneingaben, bekommt man das Ergebnis,
das Du möchtest.
Hier der neue Code für das Changeereignis.
Kopiere ihn anstelle des bisherigen und fertig.
(Dem ein oder anderen wird sich der Magen umdrehen, aber bei
mir funzt es)
Private Sub worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
'falls SpalteA aktiv und "IV1" = 1
If Target.Column = 1 And Cells(1, 256).Value = 1 Then
'Format setzen
Cells(Target.Row, 1).NumberFormat = "d/m/ h:mm"
'aktuelles Datum zur Eingabe = Uhrzeit hinzu
Cells(Target.Row, 1) = Date & " " & Cells(Target.Row, 1)
'IV1 auf 0, um Zelle zu bestätigen
Cells(1, 256).Value = 0
'Focus zurück zur Startzelle; erforderlich, weil
'Markierung nach Eingabe nach unten verschoben wird = Standard
ActiveCell.Offset(-1, 0).Activate
'jetzt Eingabe bestätigen
SendKeys "{F2}", True
SendKeys "{ENTER}", True
'IV1 auf 1 zurückstellen
Cells(1, 256).Value = 1
End If
Application.EnableEvents = True
End SubNoch etwas:
das mit der 1 und 0 in "IV1" ist auch eine Krücke.
falls Du Spalten einfügen willst, geht das nicht, weil dann
der Wert 1 oder 0 in der letzten Spalte steht.
dann müßte man eine Zelle weiter links wählen oder in
einer Hilfstabelle und natürlich den Code auf den neuen Bezug anpassen.
mfg
schnallgonz
Antwort 16 von schnallgonz
Hi,
ich hätte vor dem Antworten aktualisieren sollen...
Der Code aus Antwort 15 bringt das, was Du möchtest,
noch ohne Sortieranweisung.
Zu Deinen 3 letzten Fragen:
Button verschieben
das geht natürlich:
Rechtklick neben eine Symbolleiste, <<Steuerelement-Toolbox>> wählen
in dieser Symbolleiste auf das Dreieck klicken,
jetzt bist Du im Entwurfsmodus, d.h. wenn Du mit der Maus auf den
Button geht, wird der Zeiger zum Kreuz;
draufklicken und verschieben, abschließend Entwurfsmodus beenden
mit erneutem Klick auf das Dreieck
SpalteB anstatt A als Sortierkriterium
Im Code vom Makrorecorder steht u.a.:
Spaltenüberschriften auf jeder Druckseite
Menü <<Datei>> <<Seite einrichten>>
Reiter <<Tabelle>> dort ins Feld <<Drucktitel>> klicken und dann
in die Überschriftenzeile klicken
es erscheint dann $1:$1 falls Du die erste Zeile wählst
Vielleicht sehen die menüs in Excel2003 etwas anders aus,
dann suche nach Drucktitel in der Hilfe
Und nochmal der Tipp
bevor Du mit dem Code experimentierst, Daten zuerst sichern!
mfg
schnallgonz
ich hätte vor dem Antworten aktualisieren sollen...
Der Code aus Antwort 15 bringt das, was Du möchtest,
noch ohne Sortieranweisung.
Zu Deinen 3 letzten Fragen:
Button verschieben
das geht natürlich:
Rechtklick neben eine Symbolleiste, <<Steuerelement-Toolbox>> wählen
in dieser Symbolleiste auf das Dreieck klicken,
jetzt bist Du im Entwurfsmodus, d.h. wenn Du mit der Maus auf den
Button geht, wird der Zeiger zum Kreuz;
draufklicken und verschieben, abschließend Entwurfsmodus beenden
mit erneutem Klick auf das Dreieck
SpalteB anstatt A als Sortierkriterium
Im Code vom Makrorecorder steht u.a.:
Selection.Sort Key1:=Range("A1").......Anstatt "A1" setzt Du "B1"Spaltenüberschriften auf jeder Druckseite
Menü <<Datei>> <<Seite einrichten>>
Reiter <<Tabelle>> dort ins Feld <<Drucktitel>> klicken und dann
in die Überschriftenzeile klicken
es erscheint dann $1:$1 falls Du die erste Zeile wählst
Vielleicht sehen die menüs in Excel2003 etwas anders aus,
dann suche nach Drucktitel in der Hilfe
Und nochmal der Tipp
bevor Du mit dem Code experimentierst, Daten zuerst sichern!
mfg
schnallgonz
Antwort 17 von Petra0403
Hi!
Du hast mir echt schon weiter geholfen. Meine Fragen hast du ganz super beantwortet. Ich danke dir sehr dafür.
Leider scheint das mit dem neuen Code nicht ganz zu klappen.
Starte ich meine Datei neu (mit dem neuen Code) und mache ein paar Testeingaben, dann klappt es super, aber sowie ich mal auf meinen Sortierbutton klicke, dann sortiert er alles prima, aber danach erscheint bei einer neuen Zeiteingabe wieder das Datum von 00.01.1900 mit der eingegebenen Zeit. Schließe ich ohne zu speichern und öffne die Datei wieder geht erst alles wieder OK, klicke ich aber zum Beispiel auch auf den HilfeAN/Aus Button ist der Erfolg wieder futsch - auch hier das Datum von 00.01.1900. Siehst du hier noch einen Weg?
Ich hab mich schon so nah an meinem Ziel gesehen. Ohne dich hätte ich das nie hinbekommen.
Kann man die Sortierung vielleicht auch noch automatisch mit einbinden. So das, wenn ich die fertigen Zeilen lösche, die freien Zeilen automatisch wieder verschwinden, bzw. wenn mal eine Sache nachgeschrieben wird (also eine frühere Zeit als die letzte), sie dann automatisch an die richtige Stelle springt?
Aber eigentlich wäre ich auch so schon ganz zufrieden, wenn der obige Fehler nicht mehr auftritt.
Gruß Petra
Du hast mir echt schon weiter geholfen. Meine Fragen hast du ganz super beantwortet. Ich danke dir sehr dafür.
Leider scheint das mit dem neuen Code nicht ganz zu klappen.
Starte ich meine Datei neu (mit dem neuen Code) und mache ein paar Testeingaben, dann klappt es super, aber sowie ich mal auf meinen Sortierbutton klicke, dann sortiert er alles prima, aber danach erscheint bei einer neuen Zeiteingabe wieder das Datum von 00.01.1900 mit der eingegebenen Zeit. Schließe ich ohne zu speichern und öffne die Datei wieder geht erst alles wieder OK, klicke ich aber zum Beispiel auch auf den HilfeAN/Aus Button ist der Erfolg wieder futsch - auch hier das Datum von 00.01.1900. Siehst du hier noch einen Weg?
Ich hab mich schon so nah an meinem Ziel gesehen. Ohne dich hätte ich das nie hinbekommen.
Kann man die Sortierung vielleicht auch noch automatisch mit einbinden. So das, wenn ich die fertigen Zeilen lösche, die freien Zeilen automatisch wieder verschwinden, bzw. wenn mal eine Sache nachgeschrieben wird (also eine frühere Zeit als die letzte), sie dann automatisch an die richtige Stelle springt?
Aber eigentlich wäre ich auch so schon ganz zufrieden, wenn der obige Fehler nicht mehr auftritt.
Gruß Petra
Antwort 18 von schnallgonz
Hallo Petra,
kein Grund aufzugeben.
Ursache dürfte das Sortieren sein. Die Frage ist, ob die Tabelle Überschriften enthält oder nicht, also ob die Zeile 1 mitsortiert wird oder nicht.
Wird sie mitsortiert, verschwindet auch die 1 aus IV1 und damit wird das Ereignis abgeklemmt, d.h das Datum wird nicht beigestellt siehe Antwort 2
Man kann das Sortieren der ersten Zeile unterbinden, indem man Excel sagt, dass die Tabelle eine Überschrift enthält, siehe fetten Codeabschnitt:
Hat Deine Tabelle eine Überschrift, sollte es wie beschrieben funktionieren, sonst müßte man den Ein-Ausschalter anders positionieren.
Soll das automatische Sortieren nur bei "Hilfe ein" laufen, füge obige Codezeile vor dem "End If" ein, sonst nach dem "End If" folgendes:
Aber: jeder Jeck ist anders
Deshalb:
nächster Versuch
mfg
schallgonz
kein Grund aufzugeben.
Ursache dürfte das Sortieren sein. Die Frage ist, ob die Tabelle Überschriften enthält oder nicht, also ob die Zeile 1 mitsortiert wird oder nicht.
Wird sie mitsortiert, verschwindet auch die 1 aus IV1 und damit wird das Ereignis abgeklemmt, d.h das Datum wird nicht beigestellt siehe Antwort 2
Man kann das Sortieren der ersten Zeile unterbinden, indem man Excel sagt, dass die Tabelle eine Überschrift enthält, siehe fetten Codeabschnitt:
Selection.Sort Key1:=Range("A2"), Order1:=xlAscending, Header:=xlYes, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottomWie ich sagte, die IV=1 Variante ist eine Krücke.Hat Deine Tabelle eine Überschrift, sollte es wie beschrieben funktionieren, sonst müßte man den Ein-Ausschalter anders positionieren.
Soll das automatische Sortieren nur bei "Hilfe ein" laufen, füge obige Codezeile vor dem "End If" ein, sonst nach dem "End If" folgendes:
If Target.Column = 1 Then
Selection.Sort Key1:=Range("A2"), Order1:=xlAscending, Header:=xlYes, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
End IfMich persönlich würde das Sortieren nach jedem "Enter" kirre machen: Du änderst z.B. in Zeile 210 etwas und schwupp wird alles sortiert und A210 findet man z.B. in A10, d.h. man hat kaum Gelegenheit, die Eingabe zu kontrollieren.Aber: jeder Jeck ist anders
Deshalb:
nächster Versuch
mfg
schallgonz
Antwort 19 von Petra0403
Hi treuer Freund!
Ich habe natürlich eine Überschrift (4 Zeilen). Die Tabelle sieht folgendermaßen aus (Spalte A bleibt meist leer, muß aber mitsortiert werden. Sortierkriterium ist die Spalte B in der auch das gewünschte Format erscheinen soll, damit die Sortierung von 05:00 - 05:00 Uhr und auch unter Berücksichtigung verschiedener Tage klappt.)
---B--------C-----D-----E-----F------G-----------H--------------I
Beginn/Ende/Süd/Nord/Ort /Arbeiten/Störungen/Ursachen
Solange in Spalte C keine Endzeit eingetragen ist, wird nur sortiert nach B. Wenn eine Endzeit in C eingetragen wird, soll um 05:00 Uhr die gesamte Datei in ein anderes Verzeichnis zur Sicherung kopiert und danach alle beendeten Zeilen gelöscht werden. Durch das Sortieren - du hast recht automatisch wäre ungünstig - verschwinden dann ja alle Leerzellen und es stehen nur noch Dinge drin, die noch nicht abgearbeitet sind.
Kann man den Hilfe Ein/Ausschalter (IV=1/0) nicht auf ein anderes Tabellenblatt legen, welches dann einfach ausgeblendet wird (zur Sicherheit)?
So richtig komme ich mit deinem letzten Vorschlag nicht klar.
Sowie ich eine Überschrift einfüge ist schon alles vorbei.
Ich schreibe nur in A1 bis I1 etwas hinein und schon ändert sich das Format wieder zu 01.00.1900. wenn ich eine neue Zeit probiere.
Auch ohne Überschrift, wenn ich nur Hilfe Ein/aus betätige - danach geht es nicht mehr?????
Du sagtest nächster Versuch - hab ich noch einen?
Danke
Petra
Ich habe natürlich eine Überschrift (4 Zeilen). Die Tabelle sieht folgendermaßen aus (Spalte A bleibt meist leer, muß aber mitsortiert werden. Sortierkriterium ist die Spalte B in der auch das gewünschte Format erscheinen soll, damit die Sortierung von 05:00 - 05:00 Uhr und auch unter Berücksichtigung verschiedener Tage klappt.)
---B--------C-----D-----E-----F------G-----------H--------------I
Beginn/Ende/Süd/Nord/Ort /Arbeiten/Störungen/Ursachen
Solange in Spalte C keine Endzeit eingetragen ist, wird nur sortiert nach B. Wenn eine Endzeit in C eingetragen wird, soll um 05:00 Uhr die gesamte Datei in ein anderes Verzeichnis zur Sicherung kopiert und danach alle beendeten Zeilen gelöscht werden. Durch das Sortieren - du hast recht automatisch wäre ungünstig - verschwinden dann ja alle Leerzellen und es stehen nur noch Dinge drin, die noch nicht abgearbeitet sind.
Kann man den Hilfe Ein/Ausschalter (IV=1/0) nicht auf ein anderes Tabellenblatt legen, welches dann einfach ausgeblendet wird (zur Sicherheit)?
So richtig komme ich mit deinem letzten Vorschlag nicht klar.
Sowie ich eine Überschrift einfüge ist schon alles vorbei.
Ich schreibe nur in A1 bis I1 etwas hinein und schon ändert sich das Format wieder zu 01.00.1900. wenn ich eine neue Zeit probiere.
Auch ohne Überschrift, wenn ich nur Hilfe Ein/aus betätige - danach geht es nicht mehr?????
Du sagtest nächster Versuch - hab ich noch einen?
Danke
Petra
Antwort 20 von Petra0403
Ich hab den Fehler gefunden!
1. Spalte IV war falsch formatiert - dadurch stand dort immer 01.00.1900 - hab ich auf Standard geändert
2. hast du ja gefunden, aber wie kann ich 3 oder 4 Zeilen Überschrift einschließen? Bei mir klappt nur 1. Ab der 2. Zeile wird die schon mitsortiert.
Ich glaube es geht vorwärts. Dank deiner professionellen Hilfe.
mfG Petra
1. Spalte IV war falsch formatiert - dadurch stand dort immer 01.00.1900 - hab ich auf Standard geändert
2. hast du ja gefunden, aber wie kann ich 3 oder 4 Zeilen Überschrift einschließen? Bei mir klappt nur 1. Ab der 2. Zeile wird die schon mitsortiert.
Ich glaube es geht vorwärts. Dank deiner professionellen Hilfe.
mfG Petra
Antwort 21 von Petra0403
Kleine Bitte zwischendurch.
Ich hätte bei der Uhrzeit gern die Stunde mit führender 0. Jetzt erscheint immer 13.06. - 3:20.? ist das machbar?
Petra
Ich hätte bei der Uhrzeit gern die Stunde mit führender 0. Jetzt erscheint immer 13.06. - 3:20.? ist das machbar?
Petra
Antwort 22 von schnallgonz
Hallo Petra,
wir machen Fortschritte, freut mich :-)
Deine Zwischendurchbitte:
folgende Zeile sorgt für zweistellige Werte für alles, nichtnur die Uhrzzeit
Soll etwas einstellig werden, einfach einen Buchstaben löschen
d = day m=month h = hour m = minute
Sehr gute Idee, dann kann man auch "A1" nehmen, das Blatt nenne
ich "Schalter", der Code sieht dann so aus:
So, bleibt das Thema Sortieren:
Im jetzigen Zustand überläßt Du es Excel, den Datenbereich zu erkennen.
4 Zeilen als Überschrift, da muss man Excel sagen, wo die zu sortierenden Daten liegen.
Du nutzt die Spalten A:I und wieviel Zeilen?
Ich nutze für solche Zwecke Namen, die gewünschten Bereichen zugeordnet werden.
Dazu markierst Du den Datenbereich incl der letzten Überschrift, also Zeile4, die letzte Zeile sollte leer sein (erkläre ich gleich).
Dann Menü <<Einfügen--Namen--Festlegen...>> , ich habe als Namen "DatenZeitSort" gewählt.
Beim Erweitern der Daten muss beachtet werden, dass der "Datenbankbereich" angepasst wird.
Das geht am einfachsten, wenn vor der Eingabe die letzte Zeile markiert und eine neue Zeile eingefügt wird.
Dadurch wird der benannte Bereich automatisch um eine Zeile erweitert.
Zur Erinnerung könnte man die erste Zeile ausserhalb des benannten Bereichs farblich markieren.
Ich hoffe, ich habe nichts vergessen.
mfg
schnallgonz
wir machen Fortschritte, freut mich :-)
Deine Zwischendurchbitte:
folgende Zeile sorgt für zweistellige Werte für alles, nichtnur die Uhrzzeit
Soll etwas einstellig werden, einfach einen Buchstaben löschen
d = day m=month h = hour m = minute
Cells(Target.Row, 1).NumberFormat = "dd/mm/ hh:mm"Zitat:
Kann man den Hilfe Ein/Ausschalter (IV=1/0) nicht auf ein anderes Tabellenblatt legen, welches dann einfach ausgeblendet wird (zur Sicherheit)?
Kann man den Hilfe Ein/Ausschalter (IV=1/0) nicht auf ein anderes Tabellenblatt legen, welches dann einfach ausgeblendet wird (zur Sicherheit)?
Sehr gute Idee, dann kann man auch "A1" nehmen, das Blatt nenne
ich "Schalter", der Code sieht dann so aus:
Private Sub worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
'falls SpalteA aktiv und Zella "A1" im Blatt "Schalter" = 1
If Target.Column = 1 And Worksheets("Schalter").Cells(1, 1).Value = 1 Then
'Format setzen
Cells(Target.Row, 1).NumberFormat = "dd/mm/ hh:mm"
'aktuelles Datum zur Eingabe = Uhrzeit hinzu
Cells(Target.Row, 1) = Date & " " & Cells(Target.Row, 1)
'IV1 auf 0, um Zelle zu bestätigen
Cells(1, 256).Value = 0
'Focus zurück zur Startzelle; erforderlich, weil
'Markierung nach Eingabe nach unten verschoben wird = Standard
ActiveCell.Offset(-1, 0).Activate
'jetzt Eingabe bestätigen
SendKeys "{F2}", True
SendKeys "{ENTER}", True
'IV1 auf 1 zurückstellen
Cells(1, 256).Value = 1
End If
Application.EnableEvents = True
End SubGleichzeitig muss dann auch der Bezug für den Button geändert werden:Sub DatumHilfeAn()
Sheets("Schalter").Cells(1, 1).Value = 1
End Sub
Sub DatumHilfeAus()
Sheets("Schalter").Cells(1, 1).Value = 0
End SubSo, bleibt das Thema Sortieren:
Im jetzigen Zustand überläßt Du es Excel, den Datenbereich zu erkennen.
4 Zeilen als Überschrift, da muss man Excel sagen, wo die zu sortierenden Daten liegen.
Du nutzt die Spalten A:I und wieviel Zeilen?
Ich nutze für solche Zwecke Namen, die gewünschten Bereichen zugeordnet werden.
Dazu markierst Du den Datenbereich incl der letzten Überschrift, also Zeile4, die letzte Zeile sollte leer sein (erkläre ich gleich).
Dann Menü <<Einfügen--Namen--Festlegen...>> , ich habe als Namen "DatenZeitSort" gewählt.
Sub DatenSortieren()
'sortiert Bereich "DatenZeitSort" nach Spalte B
Application.Goto Reference:="DatenZeitSort"
Selection.Sort Key1:=Range("B5"), Order1:=xlAscending, Header:=xlYes, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
End Sub
Beim Erweitern der Daten muss beachtet werden, dass der "Datenbankbereich" angepasst wird.
Das geht am einfachsten, wenn vor der Eingabe die letzte Zeile markiert und eine neue Zeile eingefügt wird.
Dadurch wird der benannte Bereich automatisch um eine Zeile erweitert.
Zur Erinnerung könnte man die erste Zeile ausserhalb des benannten Bereichs farblich markieren.
Ich hoffe, ich habe nichts vergessen.
mfg
schnallgonz
Antwort 23 von Petra0403
Schönen guten Tag Schnallgonz!
Erstmal eine Verbeugung - du bist echt Klasse.
Ich glaube wir sind fast am Ziel. Ich habe jetzt eine Zeile Überschrift und die Zeiten, so wie ich sie haben will und nach denen sortiert werden soll, stehen in Spalte A. So klappt alles genau, wie ich mir das gewünscht habe. Du hast es echt drauf.
Mein Wunsch ist aber die Sortierzeiten in Spalte B. Was muß ich ändern um die Spalte zu ändern. Außerdem hab ich noch Probleme mit den 4 Zeilen für die Überschrift. Füge ich 1 Zeile ein kommt der Debugger und die Zeile "ActiveCell.Offset(-1, 0).Activate" ist gelb markiert. Schließe ich den Debugger, hab ich wieder das 1900 Problem.
Das mit den Sortieren geht auch nicht.
Ich markiere den Bereich =Tabelle1!$A$2:$I$200, gehe auf Menü- Einfügen-Namen und habe dann die Möglichkeit Definieren, Einfügen, Erstellen, Übernehmen, Beschriftung. Ich hab mich für Definieren entschieden bei "Namen in der Arbeitsmappe" "DatenZeitSort" eingetragen und meinem Sortierbutton das Makro DatenSortieren zugewiesen. Klicke ich drauf, wird aber nur der Bereich markiert aber nichts sortiert.
Erstmal wünsch ich dir aber ein schönes Wochenende
mfg Petra
Erstmal eine Verbeugung - du bist echt Klasse.
Ich glaube wir sind fast am Ziel. Ich habe jetzt eine Zeile Überschrift und die Zeiten, so wie ich sie haben will und nach denen sortiert werden soll, stehen in Spalte A. So klappt alles genau, wie ich mir das gewünscht habe. Du hast es echt drauf.
Mein Wunsch ist aber die Sortierzeiten in Spalte B. Was muß ich ändern um die Spalte zu ändern. Außerdem hab ich noch Probleme mit den 4 Zeilen für die Überschrift. Füge ich 1 Zeile ein kommt der Debugger und die Zeile "ActiveCell.Offset(-1, 0).Activate" ist gelb markiert. Schließe ich den Debugger, hab ich wieder das 1900 Problem.
Das mit den Sortieren geht auch nicht.
Ich markiere den Bereich =Tabelle1!$A$2:$I$200, gehe auf Menü- Einfügen-Namen und habe dann die Möglichkeit Definieren, Einfügen, Erstellen, Übernehmen, Beschriftung. Ich hab mich für Definieren entschieden bei "Namen in der Arbeitsmappe" "DatenZeitSort" eingetragen und meinem Sortierbutton das Makro DatenSortieren zugewiesen. Klicke ich drauf, wird aber nur der Bereich markiert aber nichts sortiert.
Erstmal wünsch ich dir aber ein schönes Wochenende
mfg Petra
Antwort 24 von schnallgonz
Hallo Petra,
erstmal Danke für das Lob,
Leider bin ich gar nicht so klasse, wie Du vielleicht meinst.
Ich habe z.B. bei der Anpassung mit dem Schalter nur eine Codezeile geändert und
2 vergessen...
Abhilfe und Sortierzeiten Spalte B siehe hier:
im fett formatierten Teil stehen die Änderungen;
vorher alle auf 1 für Spalte A, jetzt 2 = B
ich vergessen hatte anzupassen, ich hoffe hiermit funktioniert es jetzt.
"DatenSortieren" aus Antwort 22 steht auf Sortieren nach SpalteB.
Stehen dort Werte? Falls noch nicht, dann kann nichts sortiert werden. Oder stimmt die Buttonzuweisung nicht?
Hier nochmal der Code mit einer Schlußzeile, welche die Markierung
nach Makroende aufhebt.
Wenn Du 4 Überschriftenzeilen hast, markiere für die Namenzuweisung nicht A2:I200
sondern A4:I200
mfg
schnallgonz
erstmal Danke für das Lob,
Leider bin ich gar nicht so klasse, wie Du vielleicht meinst.
Ich habe z.B. bei der Anpassung mit dem Schalter nur eine Codezeile geändert und
2 vergessen...
Abhilfe und Sortierzeiten Spalte B siehe hier:
im fett formatierten Teil stehen die Änderungen;
vorher alle auf 1 für Spalte A, jetzt 2 = B
Private Sub worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
'falls SpalteA aktiv und Zelle "A1" im Blatt "Schalter" = 1
If Target.Column = 2 And Worksheets("Schalter").Cells(1, 1).Value = 1 Then
'Format setzen
Cells(Target.Row, 2).NumberFormat = "dd/mm/ hh:mm"
'aktuelles Datum zur Eingabe = Uhrzeit hinzu
Cells(Target.Row, 2) = Date & " " & Cells(Target.Row, 2)
'Zelle "A1" im Blatt "Schalter" auf 0, um Zelle zu bestätigen
Worksheets("Schalter").Cells(1, 1).Value = 0
'Focus zurück zur Startzelle; erforderlich, weil
'Markierung nach Eingabe nach unten verschoben wird = Standard
ActiveCell.Offset(-1, 0).Activate
'jetzt Eingabe bestätigen
SendKeys "{F2}", True
SendKeys "{ENTER}", True
'Zelle "A1" im Blatt "Schalter" auf 1 zurückstellen
Worksheets("Schalter").Cells(1, 1).Value = 1
End If
Application.EnableEvents = True
End SubDie unterstrichenen Codezeilen sind diejeingen, dieich vergessen hatte anzupassen, ich hoffe hiermit funktioniert es jetzt.
"DatenSortieren" aus Antwort 22 steht auf Sortieren nach SpalteB.
Stehen dort Werte? Falls noch nicht, dann kann nichts sortiert werden. Oder stimmt die Buttonzuweisung nicht?
Hier nochmal der Code mit einer Schlußzeile, welche die Markierung
nach Makroende aufhebt.
Wenn Du 4 Überschriftenzeilen hast, markiere für die Namenzuweisung nicht A2:I200
sondern A4:I200
Sub DatenSortieren()
'sortiert Bereich "DatenZeitSort" nach Spalte B
Application.Goto Reference:="DatenZeitSort"
Selection.Sort Key1:=Range("B5"), Order1:=xlAscending, Header:=xlYes, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
'B5 auswählen, um Markierung von DatenZeitSort aufzuheben
Range("B5").Select
End Submfg
schnallgonz
Antwort 25 von Petra0403
Hi!
Es ist vollbracht. Ich bin echt zufrieden mit dir. Du warst immer kompetent und immer zuverlässig. Alles klappt wie ich es mir gewünscht habe. Danke, Danke, Danke.
Eine kleine Frage hätte ich aber noch. Wenn ich mal eine Zeit ändern will, erscheint manchmal das Format so, wie ich es will (15.06. 14:11), aber manchmal schiebt sich einfach das Jahr dazwischen (15.06.2008 14:11). Das sprengt dann natürlich die vorgegebene Spaltenbreite. Komisch ist eben, mal geht es und mal geht es nicht (bei gleicher Eingabe).
Aber ich bin auch so sehr zufrieden mit dir.
Schön, dass es Leute, wie dich gibt, die anderen helfen.
Mit freundlichen Grüßen Petra
Es ist vollbracht. Ich bin echt zufrieden mit dir. Du warst immer kompetent und immer zuverlässig. Alles klappt wie ich es mir gewünscht habe. Danke, Danke, Danke.
Eine kleine Frage hätte ich aber noch. Wenn ich mal eine Zeit ändern will, erscheint manchmal das Format so, wie ich es will (15.06. 14:11), aber manchmal schiebt sich einfach das Jahr dazwischen (15.06.2008 14:11). Das sprengt dann natürlich die vorgegebene Spaltenbreite. Komisch ist eben, mal geht es und mal geht es nicht (bei gleicher Eingabe).
Aber ich bin auch so sehr zufrieden mit dir.
Schön, dass es Leute, wie dich gibt, die anderen helfen.
Mit freundlichen Grüßen Petra
Antwort 26 von schnallgonz
N'abend,
schön dass ich Dir weiterhelfen konnte.
Manchmal entwickelt Excel Eigenheiten, die sich nach einem Programmneustart geben, vielleicht gehören die merkwürdigen Formatwechsel dazu.
Ich habe gerade alle möglichen Varianten probiert, bei mir tritt kein Formatwechsel auf.
Vielleicht kannst Du mit der Zeit die Ursache eingrenzen, immer
dieselben Zellen, nur bei bestimmten Eingaben usw.
Falls es bei Ausnahmen bleibt, schlage ich für's erste vor, einen weiteren Button anzulegen,
der das gewünschte Format für die gerade markierte Zelle einstellt:
Falls es nochmal hängt, keine Scheu, einfach nochmal fragen, es gab schon längere Threads.
mfg
schnallgonz
schön dass ich Dir weiterhelfen konnte.
Manchmal entwickelt Excel Eigenheiten, die sich nach einem Programmneustart geben, vielleicht gehören die merkwürdigen Formatwechsel dazu.
Ich habe gerade alle möglichen Varianten probiert, bei mir tritt kein Formatwechsel auf.
Vielleicht kannst Du mit der Zeit die Ursache eingrenzen, immer
dieselben Zellen, nur bei bestimmten Eingaben usw.
Falls es bei Ausnahmen bleibt, schlage ich für's erste vor, einen weiteren Button anzulegen,
der das gewünschte Format für die gerade markierte Zelle einstellt:
Sub DatumRep()
ActiveCell.NumberFormat = "dd/mm/ hh:mm"
End SubVielleicht hilft es auch, diese Zeile wie folgt im Ereigniscode einzusetzen:...
'Markierung nach Eingabe nach unten verschoben wird = Standard
ActiveCell.Offset(-1, 0).Activate
ActiveCell.NumberFormat = "dd/mm/ hh:mm"
'jetzt Eingabe bestätigen
...Damit wird diese Formatzuweisung immer ein 2.mal ausgeführt.Falls es nochmal hängt, keine Scheu, einfach nochmal fragen, es gab schon längere Threads.
mfg
schnallgonz
Antwort 27 von Petra0403
Guten Abend Schnallgonz!
Ich habe einfach noch mal das Format in der Spalte B auf
TT.MM. hh:mm festgelegt und seitdem hatte ich keine "Ausfälle" mehr. (Hatte ich bestimmt beim Ändern auf Spalte B vergessen.)
Du bist eben doch Klasse.
Ich nutze mal die Chance und stelle dir zwischendurch eine neue Frage:
Wie kann ich ein Formular in Excel verankern, so dass niemand Fremdes Zeilen- und Spaltenbreiten verändern kann? Ich habe mir in Tabelle 1 ein Formular mühevoll (mit vielen Testdrucken) so nachgebildet, dass, wenn ich es auf das fertige Formular drucke, genau die richtigen Zeilen beschrieben werden. (Ich will das eigentliche Formular nicht mitdrucken.) Den Text für die entsprechenden Zeilen habe ich alle aus Tabelle 2 mit "=" und "Sverweis" verknüpft. Leider klappt das nicht auf verschiedenen Rechnern (Druckern). Ich muß für andere den Blattschutz frei lassen, damit eventuell nötige Änderungen vorgenommen werden können.
Geht das auch eleganter?
Auch wenn du mir nicht mehr antworten willst, ich bin dir für deine Hilfe sehr dankbar!
Mit freundlichen Grüßen Petra
Ich habe einfach noch mal das Format in der Spalte B auf
TT.MM. hh:mm festgelegt und seitdem hatte ich keine "Ausfälle" mehr. (Hatte ich bestimmt beim Ändern auf Spalte B vergessen.)
Du bist eben doch Klasse.
Ich nutze mal die Chance und stelle dir zwischendurch eine neue Frage:
Wie kann ich ein Formular in Excel verankern, so dass niemand Fremdes Zeilen- und Spaltenbreiten verändern kann? Ich habe mir in Tabelle 1 ein Formular mühevoll (mit vielen Testdrucken) so nachgebildet, dass, wenn ich es auf das fertige Formular drucke, genau die richtigen Zeilen beschrieben werden. (Ich will das eigentliche Formular nicht mitdrucken.) Den Text für die entsprechenden Zeilen habe ich alle aus Tabelle 2 mit "=" und "Sverweis" verknüpft. Leider klappt das nicht auf verschiedenen Rechnern (Druckern). Ich muß für andere den Blattschutz frei lassen, damit eventuell nötige Änderungen vorgenommen werden können.
Geht das auch eleganter?
Auch wenn du mir nicht mehr antworten willst, ich bin dir für deine Hilfe sehr dankbar!
Mit freundlichen Grüßen Petra
Antwort 28 von schnallgonz
Hallo Petra,
"Uhrzeit und Datum" ist also erledigt, sehr schön und vielen Dank für die Rückmeldung.
Für die neue Frage würde ich ein neues Thema aufmachen.
Grundsätzlich kannst Du den Blattschutz u.a. ohne Passwort einrichten. Dann kann jeder Anpassungen vornehmen und versehentliche Änderungen sind ausgeschlossen.
Für die Anpassung an verschiedene Drucker würde ich entsprechende Blätter je Drucker anlegen.
Das so aus der Hüfte geschossen;
für weitere (neue) Fragen zu einem Thema ausserhalb Uhrzeit datum
bitte neues Thema anlegen, damit dies keine Privatveranstaltung wird.
mfg
schnallgonz
"Uhrzeit und Datum" ist also erledigt, sehr schön und vielen Dank für die Rückmeldung.
Für die neue Frage würde ich ein neues Thema aufmachen.
Grundsätzlich kannst Du den Blattschutz u.a. ohne Passwort einrichten. Dann kann jeder Anpassungen vornehmen und versehentliche Änderungen sind ausgeschlossen.
Für die Anpassung an verschiedene Drucker würde ich entsprechende Blätter je Drucker anlegen.
Das so aus der Hüfte geschossen;
für weitere (neue) Fragen zu einem Thema ausserhalb Uhrzeit datum
bitte neues Thema anlegen, damit dies keine Privatveranstaltung wird.
mfg
schnallgonz
Antwort 29 von Petra0403
Hi!
Du hast natürlich vollkommen recht. Ich werde das mal alles neu überdenken und dann neu reinstellen.
Es hat eben einfach so gut geklappt mit dir, da bin ich leichtsinnig geworden ....
Tschüß und noch mal vielen Dank
mfG Petra
Du hast natürlich vollkommen recht. Ich werde das mal alles neu überdenken und dann neu reinstellen.
Es hat eben einfach so gut geklappt mit dir, da bin ich leichtsinnig geworden ....
Tschüß und noch mal vielen Dank
mfG Petra

