MultiPage

  • Thread starter Thread starter LaDdIe
  • Start date Start date
L

LaDdIe

Hi, i've got a multipage box with tabs that are labelled with years:-
2009;2010;2011.

I'm trying to hide those tabs that are greater than the current year, I've
started on the code below, but this hides all tabs, unless I change
'If .Pages(i).Caption > Year(Now) Then' To
'If .Pages(i).Caption > 2010'

With Me.MultiPage1
For i = 0 To .Count - 1
If .Pages(i).Caption > Year(Now) Then
.Pages(i).Visible = False
End If
Next i

End With

Any ideas are welcome
 
I'm not sure what you mean by a multipage box, but I think I'd try changing
this

If .Pages(i).Caption > Year(Now) Then

to

If .Pages(i).Caption > format(date,"yyyy") Then
 
Thanks Barb, it did the trick.

Barb Reinhardt said:
I'm not sure what you mean by a multipage box, but I think I'd try changing
this

If .Pages(i).Caption > Year(Now) Then

to

If .Pages(i).Caption > format(date,"yyyy") Then
 
Hi,

The tab name is a string; not a numeric. Try the following.
Note that a space and underscore at the end of a line is a line break in an
otherwise single line of code.

Dim i As Long
With Me.MultiPage1
For i = 0 To .Count - 1
If .Pages(i).Caption > _
Format(Year(Now), "0") Then

.Pages(i).Visible = False
End If
Next i

End With
 
Just for clarification, the constants Year(Now) equates to numeric and it
was being compared to text which is always greater than numeric. So your If
statement would be true in every case and therefor would hide each page.
The Format function that Barb suggested changes the year to text so that
apples are being compared to apples and it works.
 
Back
Top