Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1228to1232
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

Mauszeiger

Mauszeiger
Feick
Hallo,
Ich suche eine Möglichkeit, Uhrzeiten (z.B. 8:35) umzurechnen und gleichzeitig darzustellen, in Industriezeit (8,58). Also ich fahre mit dem Mauszeiger über eine Zelle, in der 8:35 steht und die Anzeige ändert sich in 8,58. Oder mit Hilfe einer Tastenkombination + Mauszeiger.
Geht das irgendwie mit VBA ?
Vielen Dank für Eure Hilfe !!
Viele Grüße
mikutakaki

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Mauszeiger soll Zelle ändern
16.09.2011 08:06:37
Reinhard
Hallo mikutakaki,
wie wäre es mit Doppelklick?

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If InStr(Target.Text, ",") > 0 Then
Target.Value = "hh:mm"
ElseIf InStr(Target.Text, ":") > 0 Then
Target.Value = "0,00"
End If
Target.Offset(1, 0).Select
End Sub

Gruß
REinhard
dann aber so ...
16.09.2011 09:04:42
Matthias
Hallo Reinhard
Damit wandelst Du aber die Zeit nicht in Dezimalzeit um!
Ich würde es dann schon eher so machen:

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Target.NumberFormat = "h:mm" Then
Target = Target * 24
Target.NumberFormat = "0.00"
ElseIf Target.NumberFormat = "0.00" Then
Target = Target / 24
Target.NumberFormat = "h:mm"
End If
End Sub
und wofür ist das Target.Offset(1, 0).Select ?
Gruß Matthias
Anzeige
MsgBox Format(ActiveCell * 24, "0.00")
16.09.2011 08:45:23
Matthias
Hallo
Mit Mauszeiger hab ich kein Idee, aber Du kannst die entsprechende Zelle markieren
Dann ist es die ActiveCell.

Sub Dezimalzeit()
On Error Resume Next
MsgBox Format(ActiveCell * 24, "0.00")
End Sub
Gruß Matthias
AW: Mauszeiger
16.09.2011 11:25:10
Feick
Hallo und DANKE,
danke Euch Beiden !!!
Die Variante mit der MsgBox ist genau das, was ich gesucht habe !!!
Prima
ein schönes WE !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
kleine Anpassung !
16.09.2011 12:07:14
Matthias
Hallo
Damit es nicht auf einen Fehler hinausläuft, wenn Du z.B. in einer Zelle mit Text bist.
Benutze noch eine Abfrage.
If ActiveCell.NumberFormat = "h:mm" Then MsgBox Format(ActiveCell * 24, "0.00")
So bist Du auf der sicheren Seite ;o)
Gruß Matthias
Anzeige
AW: kleine Anpassung !
16.09.2011 12:36:18
Feick
Hallo Matthias,
danke für den Vorschlag.
Die Abfrage geht komischerweise nicht in allen Zellen. Nur in denen, wo eine Formel dahinter steht.
Gruß
Michael
Du hast nichts von Formeln erwähnt
17.09.2011 08:44:05
Formeln
Hallo
Bei meinem Test klappt das ohne Probleme.
Von Formel hast Du nichts erwähnt!
Die werden nämlich dabei durch die Uhrzeit ersetzt und sind dannach futsch!
https://www.herber.de/bbs/user/76650.xls
Gruß Matthias
OT Numberformat auslesen
16.09.2011 23:51:30
Reinhard
Hallo Matthias,
unabhängig von der Anfrage.
Was mir beim Testen auffiel ist Folgendes.
Formatiere mal A1 als hh:mm
Dann gib da ein 10:27 oder sonstwas.
Dann diesen Code laufen lassen:

Sub tt()
MsgBox Range("A1").NumberFormat
End Sub

Angezzeigt im Code wird h:mm
Tragisch für denjenigen der so eine Abfrage baut:
If Range("A1").NumberFormat="hh:mm" Then
bastelt. Zumindest (ungetestet) glaube ich das so daß die Abfrage falsch reagiert/auswertet.
Und wenn er dann auf A1 geht, bei Zellformat Benutzerdefiniert anschaut sieht er hh:mm
und sieht logo keinen Fehler im Code :-(((
Gruß
Reinhard
Anzeige
@Reinhard
17.09.2011 08:46:16
Matthias
Hallo
Ich habe nichts von "hh:mm" geschrieben!
Gruß Matthias
AW: @Reinhard
18.09.2011 08:16:38
Reinhard
Hallo Matthias,
ja. Ich habe das auch nur so in den Raum geschrieben für's Archiv, für Milesende als Info.
Gruß
Reinhard

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige