Microsoft Knowledge Base Push-Push Button mit VBA realisieren Frage: Wie kann ich unter Microsoft

EXCEL 5.0/7.0/8.0 einen Symbolleistenschalter erzeugen, der beim ersten Mausklick gedrückt bleibt und beim zweiten Mausklick ungedrückt ist (Push-Push-Schalter) usw. ? Antwort: Erstellen Sie hierzu die folgenden Prozeduren unter den jeweiligen Microsoft EXCEL Versionen und weisen Sie dem neuen Symbol die Prozedur zu. Im Beispiel heißt die neue Symbolleiste "Symbolleiste 1" kann aber entsprechend Ihrer Vorstellung angepaßt werden. Beispiel zu Microsoft EXCEL 5.0/7.0: Sub Push_Push_Button_Toolbar() If Toolbars("Symbolleiste 1").ToolbarButtons(1).Pushed Then Toolbars("Symbolleiste 1").ToolbarButtons(1).Pushed = False 'hier Ihren Makro-Code einfügen Else Toolbars("Symbolleiste 1").ToolbarButtons(1).Pushed = True 'hier Ihren Makro-Code einfügen End If End Sub Beispiel zu Microsoft EXCEL 8.0: Sub Push_Push_Button_Commandbar() If CommandBars("Symbolleiste 1").Controls(1).State = msoButtonDown Then CommandBars("Symbolleiste 1").Controls(1).State = msoButtonUp 'hier Ihren Makro-Code einfügen Else CommandBars("Symbolleiste 1").Controls(1).State = msoButtonDown 'hier Ihren Makro-Code einfügen End If End Sub Anmerkung: Das Beipiel für Microsoft EXCEL 5.0/7.0 ist auch unter der Version 8.0 lauffähig. Es wird jedoch empfohlen unter Microsoft EXCEL 8.0 das neue Objekmodell einzusetzen. Das alte Objektmodell ist jedoch aus Kompatibilität noch enthalten. Die Verwendung des hier abgedruckten Makro- bzw. Programm-Codes geschieht auf Ihre eigene Verantwortung. Microsoft stellt Ihnen diesen Makro bzw. dieses Programmlisting ohne Gewähr auf Richtigkeit, Vollständigkeit und/oder Funktionalität, sowie ohne Anspruch auf Support zur Verfügung. Der Makro bzw. das Programmlisting soll lediglich exemplarisch die Funktionsweise des hier abgedruckten oder auf der Diskette enthaltenen Beispiels aufzeigen.

drückt bleibt und beim

neuen Symbol die Prozedur den.

en unter Microsoft EXCEL 8.0

osoft stellt Ihnen diesen Anspruch auf Support zur n oder auf der Diskette

Microsoft Knowledge Base Deutsche Kalenderwoche berechnen
Frage: Ich arbeite mit Microsoft EXCEL 5.0 für WINDOWS oder mit Microsoft EXCEL für WINDOWS 95, Version 7.0 oder Version 8.0. Ich möchte zu einem gegebenen Datum die dazugehörige Kalenderwoche berechnen. Die Funktion KALENDERWOCHE aus dem AddIn ANALYSEFUNKTIONEN rechnet leider nicht entsprechend der DIN-Norm, sondern nach dem amerikanischen Standard. Wie kann ich die Kalenderwochen nach DIN 1355 berechnen ? Antwort: Die deutschen Kalenderwochen berechnen sich wie folgt: Der 1. Januar eines Jahres gehört erst dann zur ersten Kalenderwoche, wenn dieser Tag auf einen Montag, Dienstag, Mittwoch oder Donnerstag fällt. Falls der 1.Januar ein Freitag, Samstag oder Sonntag ist, zählt er, und ggf. auch der 2. und 3. Januar, noch zur letzten Kalenderwoche des vorherigen Jahres. Weiterhin können der 29., 30. und 31.12. eines Jahres schon zur Kalenderwoche 1 des neuen Jahres gehören. Das ist genau dann der Fall, wenn der 31.12. auf einen Montag, Dienstag oder Mittwoch fällt. Die folgende VBA-Funktion (VISUAL BASIC für Applikationen) liefert für ein Datum die Kalenderwoche nach deutschem Standard: Function dt_Kalenderwoche(dat As Date) As Integer Dim a As Integer a = Int((dat - DateSerial(Year(dat), 1, 1) + _ ((WeekDay(DateSerial(Year(dat), 1, 1)) + 1) Mod 7) - 3) / 7) + 1 If a = 0 Then a = dt_Kalenderwoche(DateSerial(Year(dat) - 1, 12, 31)) ElseIf a = 53 And (WeekDay(DateSerial(Year(dat), 12, 31)) - 1) Mod 7 < = 3 Then a=1 End If dt_Kalenderwoche = a End Function Bitte beachten Sie: Die Verwendung des hier abgedruckten Makro- bzw. Programm-Codes geschieht auf Ihre eigene Verantwortung. Microsoft stellt Ihnen diesen Makro bzw. dieses Programm-Listing ohne Gewähr auf Richtigkeit, Vollständigkeit und/oder Funktionalität, sowie ohne Anspruch auf Support zur Verfügung. Der Makro bzw. das Programm-Listing soll lediglich exemplarisch die Funktionsweise des hier abgedruckten oder auf der Diskette enthaltenen Beispiels aufzeigen.

12/16/1997

on 8.0. Ich möchte zu einem ALYSEFUNKTIONEN

derwoche, wenn dieser Tag ählt er, und ggf. auch der 2.

genau dann der Fall, wenn Standard:

soft stellt Ihnen diesen Anspruch auf Support zur oder auf der Diskette