ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Application-defined or object-defined error (https://www.excelbanter.com/excel-programming/436562-application-defined-object-defined-error.html)

Ayo

Application-defined or object-defined error
 
I need help with this error. I get the error on line
"ws.Range("E7").Value = mondaysDate(Weekday(Date)) - 7"
The function run fine, its just that the erroe comes up when control is
returned to the subroutine. And I don't know what the problem is. Any help
will be appreciated.
Thanks.

Private Sub Workbook_Open()
Dim ws As Worksheet
Const PWORD As String = "Ayo"
Application.ScreenUpdating = False

If Me.Name = "Northeast AAV Project Outlook_ver2.xls" Then
If Weekday(Date) = 2 Then
For Each ws In Worksheets
If ws.Name < "BO Download" Then
ws.Visible = True
ws.Range("E7").Value = Date - 7
ws.Range("F7").Value = Date
ws.Range("J6").Value = Date
End If
Next
ElseIf Weekday(Date) < 2 Then
For Each ws In Worksheets
If ws.Name < "BO Download" Then
ws.Visible = True
ws.Range("F7").Value = Date
ws.Range("E7").Value = mondaysDate(Weekday(Date)) - 7
ws.Range("J6").Value = mondaysDate(Weekday(Date))
End If
Next
End If
Else
Exit Sub
End If
Application.ScreenUpdating = True
End Sub

Function mondaysDate(dayNumber) As Date
Select Case dayNumber
Case 1
mondayDate = Date - 6
Case 3
mondayDate = Date - 1
Case 4
mondayDate = Date - 2
Case 5
mondayDate = Date - 3
Case 6
mondayDate = Date - 4
Case 7
mondayDate = Date - 5
End Select
End Function


Jacob Skaria

Application-defined or object-defined error
 
Ayo

--Within the function you have mentioned 'mondayDate' and not 'mondayDates'.
The 's' is missing. Use the Option Explicit statement on top of your module
to avoid such errors

--To find previous mondays date you can try the below
MsgBox Date - (Weekday(Date)) - 5

If this post helps click Yes
---------------
Jacob Skaria


"Ayo" wrote:

I need help with this error. I get the error on line
"ws.Range("E7").Value = mondaysDate(Weekday(Date)) - 7"
The function run fine, its just that the erroe comes up when control is
returned to the subroutine. And I don't know what the problem is. Any help
will be appreciated.
Thanks.

Private Sub Workbook_Open()
Dim ws As Worksheet
Const PWORD As String = "Ayo"
Application.ScreenUpdating = False

If Me.Name = "Northeast AAV Project Outlook_ver2.xls" Then
If Weekday(Date) = 2 Then
For Each ws In Worksheets
If ws.Name < "BO Download" Then
ws.Visible = True
ws.Range("E7").Value = Date - 7
ws.Range("F7").Value = Date
ws.Range("J6").Value = Date
End If
Next
ElseIf Weekday(Date) < 2 Then
For Each ws In Worksheets
If ws.Name < "BO Download" Then
ws.Visible = True
ws.Range("F7").Value = Date
ws.Range("E7").Value = mondaysDate(Weekday(Date)) - 7
ws.Range("J6").Value = mondaysDate(Weekday(Date))
End If
Next
End If
Else
Exit Sub
End If
Application.ScreenUpdating = True
End Sub

Function mondaysDate(dayNumber) As Date
Select Case dayNumber
Case 1
mondayDate = Date - 6
Case 3
mondayDate = Date - 1
Case 4
mondayDate = Date - 2
Case 5
mondayDate = Date - 3
Case 6
mondayDate = Date - 4
Case 7
mondayDate = Date - 5
End Select
End Function



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

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