Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Funktion "Kalenderwoche" im VBA-Code ansprechen???

1,498 views
Skip to first unread message

Holger van Lishaut

unread,
Jul 6, 2000, 3:00:00 AM7/6/00
to

Hallo *.*,

wie kann man auf Funktionen aus dem AddIn
"Analysefunktionen-VBA" oder "Analysefunktionen"
in VBA-Code zugreifen?

Ich benötige im Code die Berechnung der Kalenderwoche
aus einem gegebenen Datum. Im Arbeitblatt geht es prima
mit
'=KALENDERWOCHE("10.01.2000";2)-1'
, aber wie im Code???

Danke für Eure Hilfe,
herzliche Grüße, Holger.


Ulli Tolksdorf

unread,
Jul 6, 2000, 3:00:00 AM7/6/00
to

Hi!
Du hast mehrere Möglichkeiten.
A) zeichne ein Makro auf und schau dir den Code an, manchmal hilft das.
B) suche die datei vbaliste.xls dort sind die übersetzungen der
deutschen begriffe drinn.
C) in der Onlinehilfe kommst du über Kalenderwoche auf die Funktion
Format womit du auch kalenderwochen darstellen kannst.

Bye
Ulli.

Holger van Lishaut schrieb:

--
Microsoft MVP für Excel

Joachim Braig

unread,
Jul 7, 2000, 3:00:00 AM7/7/00
to
Hallo Holger,

ich glaube, das ist was du brauchst ...

Function DINKW(Optional dat As Date) As Integer
'ermittelt die Kalenderwoche nach DIN
If dat = 0 Then dat = Date
DINKW = DatePart("ww", dat, vbUseSystemDayOfWeek, vbUseSystem)
End Function

hth
JB

Robert Feldmann

unread,
Jul 7, 2000, 3:00:00 AM7/7/00
to
Hallo Joachim, Hallo Holger,

auch euch möchte ich einen Beitrag von Christoph Kremer nicht
vorenthalten. Denn auch diese Funktion ermittelt die KW nicht richtig.
Kritische Daten sind 29.12.2003, 4.1.2004 und 6.1.2008. Hier rechnet
DINKW nicht richtig.

Hier der Beitrag von Christop und seine (richtig rechnende) Funktion.

zur Ermittlung der Kalenderwoche nach DIN habe ich vor einiger Zeit
selber
eine VBA-Lösung entwickelt (veröffentlicht in PC Magazin 9/97 und WIN
9/97),
da die in Büchern und Zeitschriften abgedruckten Lösungen teilweise
falsche
Ergebnisse liefern oder aber unhandlich lang sind.
Nach DIN gilt: Die erste Kalenderwoche eines Jahres ist diejenige, in
der
der erste Donnerstag des Jahres liegt.

==============================================
‘ VBA-Funktion zur Berechnung der Kalenderwoche nach DIN
Function KWoche(d as Date)
Dim t as Long
t = DateSerial(Year(d + (8 - Weekday(d)) Mod 7 - 3), 1, 1)
KWoche = ((d - t - 3 + (WeekDay(t) + 1) Mod 7)) \ 7 + 1
End Function
==============================================

Dazu noch zwei Hinweise:

- Der Variablen t wird der 1. Januar desjenigen Jahres zugewiesen, dem
die
Kalenderwoche zugerechnet wird

- Der Schrägstrich "\" in der vorletzten Zeile ist – wie bei
Pfadangaben –
rückwärts gerichtet und darf nicht mit dem Divisionszeichen "/"
verwechselt
werden; dieser Operator liefert den ganzzahligen Anteil einer Division

Gruß
Christoph Kremer

Joachim Braig schrieb:

--
bis dann,
Robert

Nicht was Du sagst ist entscheidend,
sondern was verstanden wird.

0 new messages