View Single Post
  #2   Report Post  
Posted to microsoft.public.excel.programming
Bob Phillips[_6_] Bob Phillips[_6_] is offline
external usenet poster
 
Posts: 11,272
Default How can you make an array of objects?

Here's a little routine that does it. Just pass the year and month to it,
e.g. SetupCalendar 2004,9

Sub setupcalendar(yr As Long, mnth As Long)
Dim nWeekday As Long
Dim nDay As Long
Dim i As Long

nWeekday = Weekday(DateSerial(yr, mnth, 1))
nDay = Day(DateSerial(yr, mnth + 1, 0))
For i = 1 To nWeekday - 1
Me.Controls("TextBox" & i).Visible = False
Next i

For i = nWeekday To nDay + nWeekday - 1
Me.Controls("TextBox" & i).Visible = True
Me.Controls("TextBox" & i).Text = i - nWeekday + 1
Next i

For i = nWeekday + nDay To 35
Me.Controls("TextBox" & i).Visible = False
Next i

End Sub

--

HTH

Bob Phillips
... looking out across Poole Harbour to the Purbecks
(remove nothere from the email address if mailing direct)

"ynotravid " wrote in message
...
I am try to make a user form where people can enter thier work schedule
(what days they work).

The format I am trying to reproduce looks like 'this'
(http://www.timeanddate.com/calendar/).

The way I have it setup there is a spin button which determines which
is the current month and then I have 35 labels and textboxes setup in a
matrix similart to this:

1 2 3 4 5 6 7
[] [] [] [] [] [] []

8 9 10 11 12 13 14
[] [] [] [] [] [] []

15 16 17 18 19 20 21
[] [] [] [] [] [] []

22 23 24 25 26 27 28
[] [] [] [] [] [] []

29 30 31 32 33 34 35
[] [] [] [] [] [] []

What I want to do is, adjust this for the current month.

For instance, if the current month was September of 2004 then I would
hide labels and textboxes 1, 2, 3, as well as 34 and 35 by changing
thier 'visible' property to false. I would then rename the remaining
labels/textboxes to reflect the appropriate dates.

The only sane way I can think of doing this is by putting all the
elements in an array and then hide and rename things in a for loop
where appropriate.

Thanks ahead of time.


---
Message posted from http://www.ExcelForum.com/