Something wrong with undefined functions.

A

a94andwi

Hello.

I have this "workbook_open" sub that looks like this.

Code:
--------------------
Private Sub Workbook_Open()
Application.CalculateFull
If (Weekday(Today()) = 6) Then
[Sheets("Stora lev problem").Range("E3") = TODAY() + 3]
Else
[Sheets("Stora lev problem").Range("E3") = TODAY() + 1]
End If

End Sub
--------------------


I get an error that TODAY() is not defined when I open the workbook.
Why? Isn't TODAY() a general function in excel that should work
automaticaly?

Can someone please give me a hint?
/Anders
 
N

Norman Jones

Hi Anders,

Try:

'=============>>
Private Sub Workbook_Open()
Application.CalculateFull
If (Weekday(Date) = 6) Then
Sheets("Stora lev problem").Range("E3") = Date + 3
Else
Sheets("Stora lev problem").Range("E3") = Date + 1
End If

End Sub
'<<=============
 
A

a94andwi

Hello

I tried your code and it seem to work but there are still an error I
can't explain.

Code:
--------------------
If (Weekday(Date = 6)) Then
Sheets("Stora lev problem").Range("E3") = Weekday(Date + 3)
Sheets("Stora lev problem").Range("L4") = Weekday(Date)
Else
Sheets("Stora lev problem").Range("E3") = Weekday(Date + 1)
Sheets("Stora lev problem").Range("L4") = Weekday(Date)

End If


If (Weekday(Date = 6)) Then

Sheets("Stora lev problem").Range("F3") = Weekday(Date + 4)
Sheets("Stora lev problem").Range("L5") = Weekday(Date)

ElseIf (Weekday(Date = 5)) Then
Sheets("Stora lev problem").Range("F3") = Weekday(Date + 3)
Sheets("Stora lev problem").Range("L5") = Weekday(Date)

Else

Sheets("Stora lev problem").Range("F3") = Weekday(Date + 2)
Sheets("Stora lev problem").Range("L5") = Weekday(Date)

End If



--------------------


I added another field and watched what would happen.
In cell E3 it writes 1900-01-01 (The first IF-statement) and 02 in cell
F3 (The second if-statement). Do you know why does the same function
return two different results?

Do you have any idea?

/Anders
 
P

Peter Rooney

Anders,
Does this help?

Sub Problem()

If Weekday(Date) = 6 Then
Sheets("Stora lev problem").Range("E3") = Weekday(Date + 3)
Sheets("Stora lev problem").Range("L4") = Weekday(Date)
Else
Sheets("Stora lev problem").Range("E3") = Weekday(Date + 1)
Sheets("Stora lev problem").Range("L4") = Weekday(Date)
End If

If Weekday(Date) = 6 Then
Sheets("Stora lev problem").Range("F3") = Weekday(Date + 4)
Sheets("Stora lev problem").Range("L5") = Weekday(Date)
ElseIf Weekday(Date) = 5 Then
Sheets("Stora lev problem").Range("F3") = Weekday(Date + 3)
Sheets("Stora lev problem").Range("L5") = Weekday(Date)
Else
Sheets("Stora lev problem").Range("F3") = Weekday(Date + 2)
Sheets("Stora lev problem").Range("L5") = Weekday(Date)
End If

End Sub

I added brackets around the date functions in your IF statements. It DOES
produce a different result, just not sure if it's what you're looking for.

Regards

Pete
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top