Worksheets oder Sheets ist eine Auflistung.
Der Unterschied:
Worksheets = nur Arbeitsblätter
Sheets = Arbeitsblätter und DIagrammblätter
Eine Auflistung per se kann KEINE, EINE oder mehrere Elemente haben.
Guckst Du: https://excelmacromastery.com/excel-vba-collections/
Worksheets/Sheets wird aber immer min. EINE haben müssen. (regelt Excel von Haus aus; eine Mappe muss IMMER min 1 Element haben)
Deine For Each ... Schleife bedeutet also:
Für jedes Element in meiner Auflistung
Dim wks as Excel.Worksheet
For Each wks in Worksheets
Wobei wks nun die Referenz des ersten Elements erhält. Nachher das zweite (wenn vorhanden) usw usf.
Diese Collection is typed - also alle Element vom selben Datentyp (=Hier Worksheet)
Wenn Du nun das Element bzw dessen Referenz hast, kannst Du diese an eine Funktion weitergeben. Dazu muss die neue Funktion aber auch wissen, dass SIe eine empfangen können soll. Das deklarierst Du im Funktionskopf .
Function CalcOverTime(objSheet As Worksheet)
Achtung: As Worksheet; nicht Worksheets (!)
|