Live-Forum - Die aktuellen Beiträge
Datum
Titel
17.04.2024 18:57:33
17.04.2024 16:56:58
Anzeige
Archiv - Navigation
1652to1656
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

Uhrzeit ohne Doppelpunkt eingeben

Uhrzeit ohne Doppelpunkt eingeben
18.10.2018 21:00:34
Schmitz
Guten Abend.
Ich habe folgende VBA-Vorlage gefunden, mit der ich in Excel ohne ":" Uhrzeiten eingeben kann:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Eingabe As Variant
On Error GoTo ErrorHandler
If Not Intersect(Target, Columns(1)) Is Nothing Then
Application.EnableEvents = False
With Target
.Value = CDate(Left(Format(Target, "0000"), 2) & ":" & Right(Target, 2))
.NumberFormat = "[hh]:mm"
End With
End If
ErrorHandler:
Application.EnableEvents = True
End Sub
Wenn ich hinter Columns weitere Spalten in Klammern eingebe, funktioniert der Sub nicht mehr.
Kannmir jemand sagen, warum und wie ich das ändern kann?
Vielen Dank schon einmal vorab.

24
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Uhrzeit ohne Doppelpunkt eingeben
18.10.2018 21:06:11
Daniel
HI
was hast du genau gemacht (Code zeigen) und was wolltest du damit erreichen?
Gruß Daniel
AW: Uhrzeit ohne Doppelpunkt eingeben
18.10.2018 21:15:27
Schmitz
Danke für die schnelle Antwort.
Ich möchte gerne für meinen Stundenzettel Uhrzeiten ohne Doppelpunkt eingeben können, um die Arbeitszeit inkl. Pause berechnen können. Den Code habe ich einfach nur kopiert, siehe oben.
AW: Uhrzeit ohne Doppelpunkt eingeben
18.10.2018 21:21:00
fcs
Hallo Schmitz,
benutze einen anderen Weg um die Übereinstimmung der Spalte der geänderten Zelle mit den zu vergleichenden Spalten zu prüfen.
LG
Franz
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Eingabe As Variant
On Error GoTo ErrorHandler
If Target.Row >= 1 And Target.Cells.Count = 1 Then
Select Case Target.Column
Case 1, 4, 7 To 10 'Spalten A, D, G:J
Application.EnableEvents = False
With Target
.Value = CDate(Left(Format(Target, "0000"), 2) & ":" & Right(Target, 2))
.NumberFormat = "[hh]:mm"
End With
End Select
End If
ErrorHandler:
Application.EnableEvents = True
End Sub

Anzeige
AW: Uhrzeit ohne Doppelpunkt eingeben
18.10.2018 21:35:58
Schmitz
Super, vielen Dank - funktioniert einwandfrei ;).
Schönen Abend
der Klassiker: Autokorrektur
18.10.2018 22:22:33
Rudi
Hallo,
definiere einen Autokorrektureintrag
ersetzen: ,, durch :
Eingabe dann einfach über den Ziffernblock z.b. 8,,30 wird zu 8:30.
Gruß
Rudi
bin da ganz bei Dir, Rudi
20.10.2018 04:08:27
Matthias
Hi
Ich machs so:
ersetzen: ,, durch .
Eingabe über den Ziffernblock z.b. 8,,3 wird zu 8.Mrz
ersetzen: ., durch :
Eingabe über den Ziffernblock z.b. 8,,,3 &nbsp &nbsp wird zu 8:03 Uhr
Eingabe über den Ziffernblock z.b. 8,,,30 &nbsp wird zu 8:30 Uhr
Ich bin also ganz bei Dir, Rudi :)
Gruß Matthias
Ein'n happichnoch: http://xxcl.de/0018.htm
19.10.2018 06:59:56
lupo1
... kann man auch als VBA-Ereignis verwenden:
Private Sub Worksheet_Change(ByVal T As Range)
'Ereignis in den Code der gewünschten Tabelle kopieren
'Vorher B:B als Zeit formatieren und dort Shortcutzeiten eingeben
'Shortcuts siehe http://xxcl.de/0018.htm
If T.Column = 2 Then
Application.EnableEvents = False
T = "=--TEXT(LEFT(SUBSTITUTE(IF(ABS(CODE(" & T & ")-54)
Hier sind die Shortcuts zusätzlich noch einmal aufgelistet (Zitat aus dem Link):
Zur Kontrolle bitte als Zeit formatieren, also etwa "h" oder "hh:mm:ss,000". Hinweis: Für 01:... oder 02:... bitte q1... oder q2... eintippen, damit nicht 10:... oder 20:... draus wird. Die Eingabe einer führenden 1 oder 2 ist also doppeldeutig; q erzeugt mittels führender 0 eine Stellenverschiebung nach rechts. Zum Glück liegen diese Fälle in der Nacht, werden also seltener benötigt! Austricksen lässt sich die Formel auch ("25" ergibt "1 Tag, 01:00"; "q27" ergibt "03:10", was man richtig mit "31" eingibt), also bitte einen Rest Sorgfalt bei der Eingabe walten lassen! Ich habe das "q" als Präfix gewählt, weil es international nah zu den betroffenen Tasten "1" und "2" steht.
1 ergibt 10:00 Uhr (bzw. Stunden)
q1 ergibt 01:00 Uhr
31 ergibt 03:10 Uhr
9 ergibt 09:00 Uhr
24 ergibt 00:00 Uhr des nächsten Tages (24:00 Uhr), ACHTUNG: Fehlerquelle!
q24 ergibt 02:40 Uhr
123456789 ergibt 12:34:56,789 Uhr
q123456789 ergibt 01:23:45,678 Uhr (die 9 wird abgeschnitten!)
qqqqqq3 ergibt 00:00:00,300 Stunden (jeweils 2 mehr q läuten also Minuten, Sekunden, Sekundenbruchteile ein)
q000003 entspricht dem vorigen Beispiel, welches aber schneller einzutippen ist.
Anzeige
Achtung Baustelle; "q" fkt. im Event noch nicht
19.10.2018 07:10:18
lupo1
... wird evtl. nachgeliefert.
Was soll der Quatsch mit T statt Target ?
19.10.2018 08:39:42
EtoPHG
Lupo?
Willst du damit ahnungslosen VBA Anwendern vorgaukeln, dass du es besser kannst, als die 'Vorgabe' von XL?
Gruess Hansueli
Na, schlägst Du wieder um Dich?
19.10.2018 09:38:24
lupo1
Vor Dir ist ja wohl keiner sicher.
AW: Na, schlägst Du wieder um Dich?
19.10.2018 10:13:56
Daniel
zur recht.
was soll der Unfug?
nicht umsonst wird hier gepredigt, die Kopfzeile der Eventmakros möglichst unverändert zu übernehmen, um ein reibungsloses Funktionieren zu garantieren.
Warum also das allgemeinverständliche "Target" durch ein nichtssagendes "T" ersetzen?
Ich kann das T ja in Daniel umbenennen ...
19.10.2018 10:24:12
lupo1
... ich mags halt kurz. Mein Pläsierchen.
Und dass T für Target steht, kann jeder sogar im Tabellenblattcode-Dropdown des VBA-Editors sehen.
Also? Großes Problem? Oder zu zählende Erbsen?
Anzeige
besser als kurz ist
19.10.2018 10:41:15
Daniel
übersichtlich und allgemein und leicht verständlich.
Die Kürze hat auch einen Nutzen
19.10.2018 10:30:52
lupo1
If Target.Column > 3 And Target.Column 2 And Target.Row ist oft zu lang für eine Zeile, insb. bei Code hier bei Herber (wenn noch 2 Bedingungen dazukommen)
If T.Column > 3 And T.Column 2 And T.Row steht meist recht weit oben. Somit wird das T allein schon deshalb klar.
"Not ... Intersect ... Nothing" mag ja die allgemeine Empfehlung sein. Ich persönlich finde das ziemlich spacig. Echt.
dann mach selber die Zeilenumbrüche
19.10.2018 10:38:02
Daniel
wenn ne Codezeile für Herber zu lang ist, dann setz lieber einen Umbruch an der paasenden Stelle.
Umbrüche, die du selber einfügst, funktionieren auch wenn man den Code kopiert (die von Herber eingefügten Umbrüche funktionieren nicht)
Anzeige
"Oh, das kannte ich ja noch gar nicht ..."
19.10.2018 10:49:21
lupo1
... hast Du vermutlich jetzt als Antwort erwartet.
Nö. Ich mags kurz ... vor allem kurz. Mehrere Zeilen? Im äußersten Notfall, aber nicht bei jedem billigen Ereignis.
du solltest dinge, die du nur vermutest
19.10.2018 10:56:32
Daniel
nicht unbedingt als Behauptung in die Überschriftenzeile stellen.
das ist schlechter Stil.
natürlich gehe ich davon aus, dass du das weißt.
um so schlimmer ist, dass du es nicht machst.
natürlich kannst du für dich selber so programmieren, wie es dir gefällt.
Wenn du jedoch für andere was schreibst (und dann auch noch zu ausbildungszwecken), dann gibt's einfach gewisse Standards, die man einhalten sollte.
Dann ist auch nicht "kurz" das Optimum, sondern "einfach und leicht verständlich"
Gruß Daniel
Anzeige
Ja, Papa Daniel ...
19.10.2018 12:08:20
lupo1
... jedoch habe ich schon ausreichend begründet.
Wer mit Ereignissen umgehen kann, ist über den Punkt "erkennbare Variablennamen" schon hinaus.
AW: Ja, Papa Daniel ...
19.10.2018 12:19:48
Daniel
und dir ist es natürlich wichtig, dass du uns allen zeigst, dass du mit Ereignissen umgehen kannst... ist klar.
Bist halt auch so ein Selbstdarsteller wie dein Kumpel Luc.
warum sind "erkennbare Variablennamen" nicht mehr erforderlich, wenn man mit Ereignissen umgehen kann?
Ich kann mir sogar ...
19.10.2018 13:22:18
lupo1
... auch ein Ei braten.
Nochmal: Lass das Getöse mit dem Target doch einfach. Das ist einem genauso überlassen, wie die Nichtdeklaration von Sprachelementen. Oder das Verbinden von Zellen. Beides wird angefeindet, aber beides ist möglich.
Wann ich ein Pedant bin, geruhe ich ich immer noch selbst zu entscheiden. Heute ist mir halt nach T statt Target. Morgen nenne ich das T, welches uns heutzutage manchmal zu "magenta" daher kommt, vielleicht Scarlett.
Und wenn Du mich schon kritisierst und mir eine Eigenschaft zuweisest: Viele im Forum hätten da bestimmt auch ein paar Charakterisierungen (sicher keine bösen, sondern ertragbare) für Dich. Wir sind eben alle Individuen.
Luc ist auch eins davon. Solange er so schreibt, wie er schreibt, kann ich keinen Verstoß gegen irgendwelche Forenregeln erkennen. Außerdem kann er sich gewählt ausdrücken. Und er lässt sich nicht so schnell in Scharmützel hineinziehen, wie z.B. wir beide, Papa Daniel. :-)
Anzeige
OT: Na, wieder aus dem Glashaus heraus ...
19.10.2018 14:52:39
Luc:-?
…beim Steinewerfen, Daniel‽ :->
Zu den HyperPräsenten hier gehörst doch eher du! Kaum ein Kickel ist dir ja zu unbedeutend, um ihn nicht auch noch „einzusen­fen“. So auch hier…
Denn im Grunde genommen vermittelt Lupo doch eine wesentliche Erkenntnis, die in VBA allgemein stimmig ist → VariablenNamen können fast beliebig sein und Standards sind nur Vorschläge. Mitunter ist es sogar angeraten bzw erforderlich, StandardNamen individuell zu ändern. Was aber niemals geändert wdn darf, ist die von VBA generierte Struktur inkl Datentypen, denn das ruft unter Garantie den VBE-Syntax-„Wächter“ auf den Plan!
Auch wenn ich ansonsten empfehle, eine Standard-EreignisProzedur anzulegen, statt sie komplett einzu­kopie­ren, weil es in man­chen xlVBA-Versionen Abweichungen gab, muss ich deine Diskussion doch unter Dogma vs Praxis, also reine PrinzipienReiterei ein­ordnen. Lupo hätte das nur noch zusätzlich erwähnen sollen (man könnte ja auch Target übersetzen und Ziel verwenden, ist auch kürzer — und ggf verständlicher! ;-]).
Tja, ansonsten, allen recht getan ist eine Kunst, die niemand ka'n. Lange Anleitungen zur manuellen Erarbeitung von Lösungen fallen also unter selbstlose Hilfe (zur Selbsthilfe), obwohl damit mitunter sehr viel mehr Zeit vonnöten ist (zumindest auf die Dauer) als für ein 1× geschriebenes Pgm (im DauerEinsatz), während gezielte Suche nach weiteren, weitgehend unbekannten Möglichkeiten und das Publizieren auch unorthodoxer Ideen als „Selbstdarstellung“ gelten soll…‽ Das sieht mir doch aber sehr nach der Sicht eines dogmatisch-egomanen „Salieri“ aus! Die stete Wiederholung von Bekanntem mag für einen Lehrer beruflich notwendiger All­tag sein, für einen Forscher wäre diese Tristess der sichere Weg in die berufliche Bedeutungslosigkeit. Somit wären aber lt deiner Einschätzung letztere alle Selbstdarsteller, ebenso wie Künstler, bei denen das erst recht zum Profil gehört, wollen sie Erfolg haben, von Politikern mal ganz zu schweigen. Aber benötigt wdn nun mal die Einen wie die Anderen. Und wenn nun jemand die Ergebnisse seiner Arbeit publiziert, kann sich ja jeder sein eigenes Bild machen. Der ständige „Wiederkäuer“ von Altbekanntem lässt dagg bezweifeln, ob er auch zu Neuem fähig wäre, da er ja nie oder kaum mal etwas Derartiges zeigt. Die Behauptung allein hat nun mal keinerlei Beweiskraft. Und leider nicht jeder, der zufällig auf etwas Neues stößt, versteht es auch, etwas daraus zu machen, aber anderen kann es Denkanstoß sein…
Wäre es nicht so, wären wir heute noch durch die Bank Anhänger des geozentrischen Weltbildes oder lebten auf einer Scheiben­welt, wenn wir nicht sogar noch auf den Bäumen säßen…
Eine hineininterpretierte Motivation scheint dir jedenfalls wichtiger als der jeweilige Inhalt eines (solitären) Beitrags zu sein. Und komm' mir nicht mit vermeintlicher Praxis! Ohne einen gewissen theoretischen Vorlauf kann es auch keine darauf bezogene Praxis geben (die brauchte mitunter sogar Jahrhunderte)!
Bleibt unterm Strich also nur noch der Klassiker negativer zwischenmenschlicher Beziehungen und Befindlichkeiten → Neid und Miss­gunst…
Tach auch, Luc :-?
„Die Intelligenzmenge ist auf diesem Planeten eine Konstante, die Bevölkerung nimmt aber zu!“ Auch deshalb informieren mit …
Anzeige
AW: OT: Na, wieder aus dem Glashaus heraus ...
19.10.2018 15:05:52
Daniel
nun Luc, der Forscher ist dann ein Selbstdarsteller, wenn er als Lehrer agiert und dabei ständig erwähnt, dass er eigentlich ein toller Forscher ist und kein Lehrer.
oder wenn er auch gegenüber seinen Schülern einen Schreib- und Redestil pflegt, der in seinen Forscherkreisen vielleicht üblich, gegenüber seinen Schülern aber übertrieben ist.
Er kann's nicht lassen und gibt nicht auf!
19.10.2018 20:13:28
Luc:-?
Die Schüler eines Forschers, so er welche hat, müssen ihn verstehen, sonst wären es nicht seine Schüler, sondern die eines ande­ren, denn sie können sich ja ihren Lehrer (weitgehend) aussuchen, was für von normalen Lehrern bzw Lehrbeauftragten Beschulte bekanntlich kaum mal zutrifft. Und den (Be-)Lehrer lässt ja eher du „heraushängen“!
Übrigens schreibe ich so, weil ich es kann, und in meinem Berufsleben mündlich und besonders schriftlich sowohl orthografisch-gram­matische Richtigkeit als auch inhaltliche Verständlichkeit, die durch fehlende erstere idR nicht gewährleistet ist, gefordert wurde. Das scheint bei dir und einer anscheinend immer größer werdenden Zahl von Fragern und AWern in diversen Foren nicht der Fall (gewesen) zu sein…
Und meinen Redestil kennst du ja nun gar nicht (könnte dich überraschen)… :-]]
Im Übrigen aber bin ich der Meinung, dass die Darstellung neuer Erkenntnisse nur Neider erbost, während die 100- oder gar 1000­ste Darlegung bekannter Sachverhalte nur absolute Anfänger begeistert, die sich so die Recherche ersparen. Aber ob das ihrer wei­teren Entwicklung gut tut, ist mitunter mehr als fraglich. Wenn du dir in der Rolle des ewigen Wiederholers gefällst → bitte schön, verzettle dich ruhig weiter (auch auf Kosten deiner Arbeitszeit). Mir hat das jedenfalls noch nie Spaß gemacht, denn diese Zeit kann ich auch für Sinnvolleres nutzen. Die Quote ist nicht alles und nur, wer wirklich neue Erkenntnisse zu bieten hat, wird das irgendwann auch tun. Wer sich dagg andauernd zu Wort meldet, auch, wenn er nichts Wesentliches oder wenigstens Hin­wei­sen­des beizutragen hat, könnte durchaus den Eindruck erwecken, mehr dem Schein als dem Sein zu frönen, auch mit einfachster Aus­drucks­weise, denn die ist dafür nur sehr bedingt als Indikator tauglich. Gewollte sog Volkstümlichkeit ist auch eine Art von Arro­ganz, wenn nicht gar ein Betrugsversuch (wie von diversen Auftragstrollen bekannt)…
Luc :-?
Anzeige
AW: Er kann's nicht lassen und gibt nicht auf!
19.10.2018 20:49:54
Daniel
Du hast noch nicht kapiert, das es bei dem Thema Selbstdarsteller nicht um deine fachlichen Inhalte geht, sondern um das, was du sonst so über dich mitteilst und die Art, wie du das machst.

29 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige