works on XP but not on vista

  • Thread starter Thread starter Sheela
  • Start date Start date
S

Sheela

Hi I have following code to search and for specific words and then delete the
rows between ( including them) those rows.
This macro works fine on a XP machine, but not working properly on Vista.

While debugging the code by “step intoâ€, I realized the “WS. Find†function
not finding the rows, even though those words are exist in the first column.
I am trying modify the code to other than “WS.columns.find†function, but
can you help me to find out why it is not working on Vista, the way it is
supposed to be?
thank you so much for your help
########
Public Sub Paste_Transpose_Specific()
Dim WS As Worksheet
Dim Trialrow, Summaryrow As Range
On Error Resume Next

For Each WS In ActiveWorkbook.Worksheets
With WS
Set Trialrow = WS.Columns(1).Find("Sample", Range("A1"),
SearchOrder:=xlByRows, SearchDirection:=xlNext)

Set Summaryrow = WS.Columns(1).Find("Total:", Range("A1"),
SearchOrder:=xlByRows, SearchDirection:=xlPrevious)

If Not (Trialrow Is Nothing) And Not (Summaryrow Is Nothing) Then _
WS.Rows(Trialrow.Row & ":" & Summaryrow.Row).Delete


End With


Next WS
On Error GoTo 0
 
additionally change this
Dim Trialrow, Summaryrow As Range

to
Dim Trialrow As Range, Summaryrow As Range


in your code, Trialrow is variant by default since you need to explicitly
set its type. However, it doesn't affect your code, I'm just being picky :)
 
I did not know that defining variables in one row vs. separate rows makes a
difference.

I changed the all the definitions in my code each one in a separate line.
thank you.

sheela
 
you can certainly dimension variables in a row..

DIM a as long, b as long, c as long

is the same as

DIM a as long
DIM b as long
DIM c as long

but
DIM a, b, c as long

only dims the last variable,c, explcitly as long. Both a and b are variants
since they are not explicitly typed.
 
Back
Top