View Single Post
  #2   Report Post  
Posted to microsoft.public.excel.programming
Tom Ogilvy Tom Ogilvy is offline
external usenet poster
 
Posts: 27,285
Default type mismatch on last part :(

datevalue("")

returns a type mismatch.

if isdate(ws3.Cells(1,2)) and isDate(ws3.Cells(ict2,13)) then
If DateValue(ws3.Cells(1, 2)) - DateValue(ws3.Cells(iCt2, 13)) _
90 Then ws3.Rows(iCt2).Delete"

End if

--
Regards,
Tom Ogilvy

"Jay Baxter" wrote in message
...
I haev this code that compares dates to todays date and moves certain rows

to another sheet.. The copying part works fine.. The problem i have having
is in the ending of the code. I get type mismatch 13 but I dont know why.
i have dates in all the columns cept the rows where there is no data
anymore. Any help would be greatly appreciated.

The debugger yellows and highlights this line
"If DateValue(ws3.Cells(1, 2)) - DateValue(ws3.Cells(iCt2, 13)) 90 Then

ws3.Rows(iCt2).Delete"

Thanks
Jay Baxter

Here is my code:

Sub ArchivedRoutine()

Dim iCt2 As Integer
Dim iRow3 As Integer
Dim iRow4 As Integer
Dim ws3 As Worksheet
Dim ws4 As Worksheet
Dim erow2 As Integer

Set ws3 = Sheets("Closed")
Set ws4 = Sheets("Archived")
iRow3 = 6
erow2 = 5
While ws4.Cells(erow2, 13) < "": erow2 = erow2 + 1: Wend
iRow4 = erow2

'copy from sheet2 to sheet3
Do Until ws3.Cells(iRow3, 13) = ""
If DateValue(ws3.Cells(1, 2)) - DateValue(ws3.Cells(iRow3, 13)) 90 Then
For iCt2 = 1 To 17
ws4.Cells(iRow4, iCt2) = ws3.Cells(iRow3, iCt2)
Next iCt2
iRow4 = iRow4 + 1
End If
iRow3 = iRow3 + 1
Loop

'delete from sheet2
For iCt2 = iRow3 To 2 Step -1
If DateValue(ws3.Cells(1, 2)) - DateValue(ws3.Cells(iCt2, 13)) 90 Then

ws3.Rows(iCt2).Delete
Next iCt2

End Sub