Code Works Fine in Excel 2007, Excel 2000 generates Runtime Error 438

S

Safari

I run this code in Excel 2007 and also saved it as Excel 97/2003 on my
computer, both the .xls and .xlsm worked fine. When I go to a
computer that has Excel 2000 I get a "Runtime Error 438, Object
doesn't support the property or method". Debug sends me to this line:

ActiveWorkbook.Worksheets("Master").Sort.SortFields.Clear

Does this not work in Excel 2000?


'Clear contents of monthly data for refreshing
Range("A5:J1000").Select
Selection.ClearContents



'Copy data from all worksheets starting in cell A5 to master tab
Dim sht As Worksheet
Dim target As Worksheet
Dim rng As Range
Dim targetrng As Range

'You can change "Master" to your exact merge sheet name (tab
name for the sheet)
Set target = ActiveWorkbook.Worksheets("Master")
For Each sht In ActiveWorkbook.Worksheets
If Not sht.Name = target.Name Then
'Set rng = sht.UsedRange
Set rng = sht.Range("a5:J500")
Set targetrng = target.Cells(65536, 1).End(xlUp).Offset(5)
rng.Copy targetrng
End If
Next sht

Range("A5:J500").Select



'Run sort routine by date on list
ActiveWorkbook.Worksheets("Master").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Master").Sort.SortFields.Add Key:=Range
("A5:A500") _
, SortOn:=xlSortOnValues, Order:=xlAscending,
DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("Master").Sort
.SetRange Range("A5:J500")
.Header = xlGuess
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With

Dim c As Range, compdate As Date
compdate = Range("A1").Value




If IsDate(compdate) Then
For Each c In Range("A5:A500", Range("K65536").End(xlUp))
If IsDate(c.Value) And c.Value > compdate Then
c.EntireRow.Delete
End If
Next

End If
 

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