View Single Post
  #6   Report Post  
Posted to microsoft.public.excel.programming
Patrick Molloy[_2_] Patrick Molloy[_2_] is offline
external usenet poster
 
Posts: 1,298
Default works on XP but not on vista

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.




"Sheela" wrote:

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

"Patrick Molloy" wrote:

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 :)

"Sheela" wrote:

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