+ Reply to Thread
Results 1 to 4 of 4

Something wrong with undefined functions.

  1. #1
    Forum Contributor
    Join Date
    03-14-2005
    Location
    Sweden
    MS-Off Ver
    Office 365
    Posts
    329

    Something wrong with undefined functions.

    Hello.

    I have this "workbook_open" sub that looks like this.
    Please Login or Register  to view this content.
    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

  2. #2
    Norman Jones
    Guest

    Re: Something wrong with undefined functions.

    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
    '<<=============


    ---
    Regards,
    Norman



    "a94andwi" <[email protected]> wrote in
    message news:[email protected]...
    >
    > 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
    >
    >
    > --
    > a94andwi
    > ------------------------------------------------------------------------
    > a94andwi's Profile:
    > http://www.excelforum.com/member.php...o&userid=21077
    > View this thread: http://www.excelforum.com/showthread...hreadid=520475
    >




  3. #3
    Forum Contributor
    Join Date
    03-14-2005
    Location
    Sweden
    MS-Off Ver
    Office 365
    Posts
    329
    Hello

    I tried your code and it seem to work but there are still an error I can't explain.
    Please Login or Register  to view this content.
    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

  4. #4
    Peter Rooney
    Guest

    Re: Something wrong with undefined functions.

    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
    "a94andwi" wrote:

    >
    > 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
    >
    >
    > --
    > a94andwi
    > ------------------------------------------------------------------------
    > a94andwi's Profile: http://www.excelforum.com/member.php...o&userid=21077
    > View this thread: http://www.excelforum.com/showthread...hreadid=520475
    >
    >


+ Reply to Thread

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts

Search Engine Friendly URLs by vBSEO 3.6.0 RC 1