per Schaltfläche kann folgendes Makro gestartet werden, das Beginn 9:00 und Ende 17:00 setzt:
Der Andwender dieser Datei soll aber seine Schaltfläche selber bestimmen können, wie Beginn und Ende zu definiert sind. Dazu kann er z.B. in Zelle A1 die Beginn-Zeit eintragen und in Zelle A2 die Ende-Zeit. Natürlich soll die Schaltfläche auch nach diesen Zellen benannt werden: z.B. "9-17" (kann auch eine Kombination in zelle A3 sein).
kopiere folgenden Code in den Codebereich Deines Tabellenblattes:
Private Sub CommandButton1_Click()
zeit_anpassen EndSub Private Sub Worksheet_Change(ByVal Target As Range) If Target.Address = Range("A1").Address Or Target.Address = Range("B1").Address Then _
ActiveSheet.CommandButton1.Caption = Format(Range("A1").Value, "HH:MM") & " - " & _
Format(Range("B1").Value, "HH:MM") EndSub Sub zeit_anpassen() Dim startZeit As Date Dim endZeit As Date
startZeit = Range("A1").Value
endZeit = Range("B1").Value '.... 'Dein Code '.... EndSub
Wenn Du auf Deinem Blatt eine Schaltfläche mit dem Titel "CommandButton1" hast, passiert folgendes:
- wenn in A1 oder B1 eine Änderung erfolgt, wird die Beschriftung der Schaltfläche entsprechend der dort gemachten Angaben geändert
- beim Klick auf die Schaltfläche wird der Wert aus A1 und B1 eingelesen und an die Variablen startZeit und endZeit übergeben
- die Werte kannst Du dann weiterverarbeiten, also z.B. in Zellen schreiben (z.B. Range("A4").Value = startZeit oder eleganter: Cells(4,3).value = startZeit)