Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Buttons umbenennen Format H:MM

Forumthread: Buttons umbenennen Format H:MM

Buttons umbenennen Format H:MM
27.02.2003 13:18:03
Gonzo
Hallo nochmals,

habe noch ein kleines Problem. Ich benenne meine buttons automatisch nach zwei Zellen um. E50 und E51. Wenn ich aber die Zeit 24:00 Uhr eingebe macht er 0:00 Uhr daraus und fürht dann aber in der Zelle in der ich das Makro ausführe -01.01.1908 00:00:00 aus. Ich benötige aber unbedingt das Format 24:00 Uhr. Wenn ich das Makoro von H:MM in [H]:MM umbenenne (Exel format) geht es auch nicht. Was kann ich machen?

Hier das Makro:
Private Sub Workbook_SheetChange(ByVal Sh As Object, _
ByVal Target As Range)
Dim BL As Worksheet
Dim strCaption As String
Dim i As Integer
Set BL = Sheets(1)
strCaption = Format(BL.Range("E50").Value, "H:MM") & _
" - " & Format(BL.Range("E51").Value, "H:MM")
For i = 1 To 5
Worksheets(i).CommandButton1.Caption = strCaption
Next i

Gruß und Dank
Gonzo

Anzeige

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: Buttons umbenennen Format H:MM
27.02.2003 14:17:07
udo

Hi ,
ich kenne diesen Umstand ebenfalls, hatte ein ähnliches Problemchen.
Mir ist dann nur klar geworden dass der tag nunmal leider keine 25 Stunden hat sondern wie du weist nur 24. deshal muss er nach 23:59 wieder auf 00:00 umspringen.

wenn es dir nur um die Std-Ansicht 24:00 geht macht das ja auch leider keinen Sinn da es beispielsweise 24:22 nicht gibt sondern nur 0:22

Ich hab dir wenigstens eine Erleichterung zur zeiteingabe ohne Doppelpunkt anzubieten ( dazu vier zahlen nacheinander in deine Zelle eingeben bsp. 1200 wird dann automatisch zu 12:00 )

ist ja auch schon mal was,
vielleicht hilfts dir, Gruß udo


Private Sub Worksheet_Change(ByVal Target As Range)
Dim sTxt As String
If Target.Column < 5 Or Target.Column > 21 Then Exit Sub
If IsEmpty(Target) Or Selection.Cells.Count > 1 Then Exit Sub
sTxt = CStr(Target.Value)
Select Case Len(sTxt)
Case 3: sTxt = "0" & sTxt & "00"
Case 4: sTxt = sTxt & "00"
Case 5: sTxt = "0" & sTxt
End Select
sTxt = Left(sTxt, 2) & ":" & Mid(sTxt, 3, 2) & ":" & Right(sTxt, 2)
On Error GoTo ERRORHANDLER
Application.EnableEvents = False
Target.Value = TimeValue(sTxt)
Application.EnableEvents = True
Exit Sub
ERRORHANDLER:
ActiveCell.ClearContents
Application.EnableEvents = True
End Sub


du must dann noch die Spalten im Makro an deine Tabelle anpassen , bei mir sind es die Spalten 5 - 21 wie du siehst.
das ganze Makro kopierst du dann einfach in den Code deines Tabellenblattes. Tabellenblatt dazu mit rechter Taste anklicken - dann CODE anzeigen und dort das makro einfügen.

Müsste dann funktionieren , viel spass damit :-)

Anzeige
;

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige