ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   New Users to Excel (https://www.excelbanter.com/new-users-excel/)
-   -   vba problem (https://www.excelbanter.com/new-users-excel/111295-vba-problem.html)

PJ

vba problem
 
All

Using formula to check date in a cell when opening workbook. Nb: A1 =
today()
if prior to 01/11/2006 ok no changes if equal to or after the 01/11/2006
then not ok and hide all sheets bar one called contact.

It only works if exact match i.e. if date on sheet is 01/11/2006

If Sheets("Menu").Range("A1") = "01/11/2006" Then hide sheets and reveal
contact The equal sign = being the key

When I try = is grater than or equal to regardless of date (I.e.
31/10/2006 ) still hides sheets!!!

HELP!!!

Private Sub Workbook_Open()
If Sheets("Menu").Range("A1") = "01/11/2006" Then
Sheets(Array("Health Dec", "Menu", "UK", "EU", "XU", "WW", "AT EU", "AT
WW", "Summary") _
).Select
Sheets("Health Dec").Activate
ActiveWindow.SelectedSheets.Visible = False
Sheets("Contact").Visible = True
Sheets("Long stay").Select
ActiveWindow.SelectedSheets.Visible = False
End If
End Sub



kassie

vba problem
 
I used variables to store today's date, as well as the date you want to
check. Included message boxes to show the results. Works for me! Suggest
you adapt your code accordingly

Option Explicit
Dim vTest As Variant, dDate As Date, dDate2 As Date

Sub Checking()
dDate = Range("A1").Value
dDate2 = Now()
If dDate <= dDate2 Then
vTest = MsgBox("Date is before today's date")
Else
vTest = MsgBox("Date is after today's date")
End If
End Sub


"PJ" wrote:

All

Using formula to check date in a cell when opening workbook. Nb: A1 =
today()
if prior to 01/11/2006 ok no changes if equal to or after the 01/11/2006
then not ok and hide all sheets bar one called contact.

It only works if exact match i.e. if date on sheet is 01/11/2006

If Sheets("Menu").Range("A1") = "01/11/2006" Then hide sheets and reveal
contact The equal sign = being the key

When I try = is grater than or equal to regardless of date (I.e.
31/10/2006 ) still hides sheets!!!

HELP!!!

Private Sub Workbook_Open()
If Sheets("Menu").Range("A1") = "01/11/2006" Then
Sheets(Array("Health Dec", "Menu", "UK", "EU", "XU", "WW", "AT EU", "AT
WW", "Summary") _
).Select
Sheets("Health Dec").Activate
ActiveWindow.SelectedSheets.Visible = False
Sheets("Contact").Visible = True
Sheets("Long stay").Select
ActiveWindow.SelectedSheets.Visible = False
End If
End Sub




Sandy Mann

vba problem
 
PJ,

Try replacing the line:

If Sheets("Menu").Range("A1") = "01/11/2006" Then


with:

If Sheets("Menu").Range("A1").Value2 = DateValue("2/11/2006") Then

--
HTH

Sandy
In Perth, the ancient capital of Scotland
and the crowning place of kings


with @tiscali.co.uk


"PJ" wrote in message
...
All

Using formula to check date in a cell when opening workbook. Nb: A1 =
today()
if prior to 01/11/2006 ok no changes if equal to or after the 01/11/2006
then not ok and hide all sheets bar one called contact.

It only works if exact match i.e. if date on sheet is 01/11/2006

If Sheets("Menu").Range("A1") = "01/11/2006" Then hide sheets and reveal
contact The equal sign = being the key

When I try = is grater than or equal to regardless of date (I.e.
31/10/2006 ) still hides sheets!!!

HELP!!!

Private Sub Workbook_Open()
If Sheets("Menu").Range("A1") = "01/11/2006" Then
Sheets(Array("Health Dec", "Menu", "UK", "EU", "XU", "WW", "AT EU", "AT
WW", "Summary") _
).Select
Sheets("Health Dec").Activate
ActiveWindow.SelectedSheets.Visible = False
Sheets("Contact").Visible = True
Sheets("Long stay").Select
ActiveWindow.SelectedSheets.Visible = False
End If
End Sub




PapaDos

vba problem
 
Use "date literals" instead of strings.
From Excel VBA help:

date literal:
Any sequence of characters with a valid format that is surrounded by number
signs (#). Valid formats include the date format specified by the locale
settings for your code or the universal date format.

For example, #12/31/92# is the date literal that represents December 31,
1992, where English-U.S. is the locale setting for your application. Use date
literals to maximize portability across national languages.

--
Festina Lente


"PJ" wrote:

All

Using formula to check date in a cell when opening workbook. Nb: A1 =
today()
if prior to 01/11/2006 ok no changes if equal to or after the 01/11/2006
then not ok and hide all sheets bar one called contact.

It only works if exact match i.e. if date on sheet is 01/11/2006

If Sheets("Menu").Range("A1") = "01/11/2006" Then hide sheets and reveal
contact The equal sign = being the key

When I try = is grater than or equal to regardless of date (I.e.
31/10/2006 ) still hides sheets!!!

HELP!!!

Private Sub Workbook_Open()
If Sheets("Menu").Range("A1") = "01/11/2006" Then
Sheets(Array("Health Dec", "Menu", "UK", "EU", "XU", "WW", "AT EU", "AT
WW", "Summary") _
).Select
Sheets("Health Dec").Activate
ActiveWindow.SelectedSheets.Visible = False
Sheets("Contact").Visible = True
Sheets("Long stay").Select
ActiveWindow.SelectedSheets.Visible = False
End If
End Sub




Dave Peterson

vba problem
 
I like:

If Sheets("Menu").Range("A1").Value = dateserial(2006,1,11) Then

(01/11/2006 meant January 11th, 2006???)



PJ wrote:

All

Using formula to check date in a cell when opening workbook. Nb: A1 =
today()
if prior to 01/11/2006 ok no changes if equal to or after the 01/11/2006
then not ok and hide all sheets bar one called contact.

It only works if exact match i.e. if date on sheet is 01/11/2006

If Sheets("Menu").Range("A1") = "01/11/2006" Then hide sheets and reveal
contact The equal sign = being the key

When I try = is grater than or equal to regardless of date (I.e.
31/10/2006 ) still hides sheets!!!

HELP!!!

Private Sub Workbook_Open()
If Sheets("Menu").Range("A1") = "01/11/2006" Then
Sheets(Array("Health Dec", "Menu", "UK", "EU", "XU", "WW", "AT EU", "AT
WW", "Summary") _
).Select
Sheets("Health Dec").Activate
ActiveWindow.SelectedSheets.Visible = False
Sheets("Contact").Visible = True
Sheets("Long stay").Select
ActiveWindow.SelectedSheets.Visible = False
End If
End Sub


--

Dave Peterson

PJ

vba problem
 
All

Thank you all for your suggestions What I did in the end to get it to work
was in a seperate cells was:
i.e. A2 =Today() A3 01/11/2006 in A4 if(A2=A3,1,0) cell A1= A4

Private Sub Workbook_Open()
If Sheets("Menu").Range("A1") = "1" Then
Sheets(Array("Health Dec", "Menu", "UK", "EU", "XU", "WW", "AT EU", "AT
WW", "Summary")).Select
Sheets("Health Dec").Activate
ActiveWindow.SelectedSheets.Visible = False
Sheets("Contact").Visible = True
Sheets("Long stay").Select
ActiveWindow.SelectedSheets.Visible = False
End If
End Sub

Many thanks

Paul

"Dave Peterson" wrote in message
...
I like:

If Sheets("Menu").Range("A1").Value = dateserial(2006,1,11) Then

(01/11/2006 meant January 11th, 2006???)



PJ wrote:

All

Using formula to check date in a cell when opening workbook. Nb: A1 =
today()
if prior to 01/11/2006 ok no changes if equal to or after the 01/11/2006
then not ok and hide all sheets bar one called contact.

It only works if exact match i.e. if date on sheet is 01/11/2006

If Sheets("Menu").Range("A1") = "01/11/2006" Then hide sheets and reveal
contact The equal sign = being the key

When I try = is grater than or equal to regardless of date (I.e.
31/10/2006 ) still hides sheets!!!

HELP!!!

Private Sub Workbook_Open()
If Sheets("Menu").Range("A1") = "01/11/2006" Then
Sheets(Array("Health Dec", "Menu", "UK", "EU", "XU", "WW", "AT EU",
"AT
WW", "Summary") _
).Select
Sheets("Health Dec").Activate
ActiveWindow.SelectedSheets.Visible = False
Sheets("Contact").Visible = True
Sheets("Long stay").Select
ActiveWindow.SelectedSheets.Visible = False
End If
End Sub


--

Dave Peterson





All times are GMT +1. The time now is 01:24 PM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com