#1   Report Post  
aftamath
 
Posts: n/a
Default Date Code

Here is my code that I'm having a problem with. I want the programming to
start evaluating from cell I2 through the rest of the column. Is there a
different way to write the code. Well the workbook opens, I get a message
that says 'Type Mismatch' and highlights the boolean section of the if
statement.

Private Sub Workbook_Open()

Dim Target As Range

Application.Workbooks(1).Worksheets(5).Activate

ActiveSheet.Range("I2").Select

For Each Target In Range("I2:I20")

If Target.Value < "" And DateValue(Target.Value) - DateValue(Now) <= 2
And DateValue(Target.Value) - DateValue(Now) 0 And Target.Offset
_(columnoffset:=-1).Value = "" Then
MsgBox "Order Due" & " " & Target.Offset(columnoffset:=-7).Value
End If

Next Target

End Sub

  #2   Report Post  
Dave O
 
Posts: n/a
Default Date Code

The "type mismatch" error indicates the code has encountered an
unexpected value. Since the IF is dealing with dates, is there a value
in i2:i20 that is not an Excel-approved date? That is to say, perhaps
a text entry that *appears* to be a date, instead of a serial date
value that is formatted to show as a date? Or maybe a blank entry?

  #3   Report Post  
Bob Phillips
 
Posts: n/a
Default Date Code

This seems to work, but are you sure about Now, that includes Time as well
as date

Private Sub Workbook_Open()
Dim Target As Range
Dim rng As Range

Application.Workbooks(5).Worksheets(1).Activate

ActiveSheet.Range("I2").Select

Set rng = Range("I2").Resize(, Cells(2, Columns.Count).End(xlToLeft).Column)
For Each Target In rng
With Target
If .Value < "" And (.Value - Now) <= 2 And _
(.Value - Now) 0 And _
.Offset(, -1).Value = "" Then
MsgBox "Order Due" & " " & .Offset(, -7).Value
End If
End With

Next Target

End Sub

--

HTH

RP
(remove nothere from the email address if mailing direct)


"aftamath" wrote in message
...
Here is my code that I'm having a problem with. I want the programming to
start evaluating from cell I2 through the rest of the column. Is there a
different way to write the code. Well the workbook opens, I get a message
that says 'Type Mismatch' and highlights the boolean section of the if
statement.

Private Sub Workbook_Open()

Dim Target As Range

Application.Workbooks(1).Worksheets(5).Activate

ActiveSheet.Range("I2").Select

For Each Target In Range("I2:I20")

If Target.Value < "" And DateValue(Target.Value) - DateValue(Now) <=

2
And DateValue(Target.Value) - DateValue(Now) 0 And

Target.Offset
_(columnoffset:=-1).Value = "" Then
MsgBox "Order Due" & " " &

Target.Offset(columnoffset:=-7).Value
End If

Next Target

End Sub



  #4   Report Post  
aftamath
 
Posts: n/a
Default Date Code

Not really sure about the Now. Is there another function that returns just
that current date that I can use. All of the cell formats are date format.

"Bob Phillips" wrote:

This seems to work, but are you sure about Now, that includes Time as well
as date

Private Sub Workbook_Open()
Dim Target As Range
Dim rng As Range

Application.Workbooks(5).Worksheets(1).Activate

ActiveSheet.Range("I2").Select

Set rng = Range("I2").Resize(, Cells(2, Columns.Count).End(xlToLeft).Column)
For Each Target In rng
With Target
If .Value < "" And (.Value - Now) <= 2 And _
(.Value - Now) 0 And _
.Offset(, -1).Value = "" Then
MsgBox "Order Due" & " " & .Offset(, -7).Value
End If
End With

Next Target

End Sub

--

HTH

RP
(remove nothere from the email address if mailing direct)


"aftamath" wrote in message
...
Here is my code that I'm having a problem with. I want the programming to
start evaluating from cell I2 through the rest of the column. Is there a
different way to write the code. Well the workbook opens, I get a message
that says 'Type Mismatch' and highlights the boolean section of the if
statement.

Private Sub Workbook_Open()

Dim Target As Range

Application.Workbooks(1).Worksheets(5).Activate

ActiveSheet.Range("I2").Select

For Each Target In Range("I2:I20")

If Target.Value < "" And DateValue(Target.Value) - DateValue(Now) <=

2
And DateValue(Target.Value) - DateValue(Now) 0 And

Target.Offset
_(columnoffset:=-1).Value = "" Then
MsgBox "Order Due" & " " &

Target.Offset(columnoffset:=-7).Value
End If

Next Target

End Sub




  #5   Report Post  
Dave Peterson
 
Posts: n/a
Default Date Code

How about Date?

... (.value - date) <= ...



aftamath wrote:

Not really sure about the Now. Is there another function that returns just
that current date that I can use. All of the cell formats are date format.

"Bob Phillips" wrote:

This seems to work, but are you sure about Now, that includes Time as well
as date

Private Sub Workbook_Open()
Dim Target As Range
Dim rng As Range

Application.Workbooks(5).Worksheets(1).Activate

ActiveSheet.Range("I2").Select

Set rng = Range("I2").Resize(, Cells(2, Columns.Count).End(xlToLeft).Column)
For Each Target In rng
With Target
If .Value < "" And (.Value - Now) <= 2 And _
(.Value - Now) 0 And _
.Offset(, -1).Value = "" Then
MsgBox "Order Due" & " " & .Offset(, -7).Value
End If
End With

Next Target

End Sub

--

HTH

RP
(remove nothere from the email address if mailing direct)


"aftamath" wrote in message
...
Here is my code that I'm having a problem with. I want the programming to
start evaluating from cell I2 through the rest of the column. Is there a
different way to write the code. Well the workbook opens, I get a message
that says 'Type Mismatch' and highlights the boolean section of the if
statement.

Private Sub Workbook_Open()

Dim Target As Range

Application.Workbooks(1).Worksheets(5).Activate

ActiveSheet.Range("I2").Select

For Each Target In Range("I2:I20")

If Target.Value < "" And DateValue(Target.Value) - DateValue(Now) <=

2
And DateValue(Target.Value) - DateValue(Now) 0 And

Target.Offset
_(columnoffset:=-1).Value = "" Then
MsgBox "Order Due" & " " &

Target.Offset(columnoffset:=-7).Value
End If

Next Target

End Sub





--

Dave Peterson
Reply
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules

Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
converting text in cell to a date time Herman Excel Worksheet Functions 3 October 22nd 05 07:18 PM
Recurring annual events using a specific date as a trigger date Bamboozled Excel Worksheet Functions 1 June 6th 05 01:44 PM
extract date from the most current date Cali00 Excel Discussion (Misc queries) 1 April 13th 05 02:05 PM
Date issue between Windows and Macintosh version dlg1967 Excel Discussion (Misc queries) 4 January 19th 05 03:51 PM
Problem with Date format from VBA code twig Excel Discussion (Misc queries) 3 December 7th 04 06:01 PM


All times are GMT +1. The time now is 06:02 AM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Copyright ©2004-2025 ExcelBanter.
The comments are property of their posters.
 

About Us

"It's about Microsoft Excel"