Thread: macro problems
View Single Post
  #2   Report Post  
Posted to microsoft.public.excel.programming
Bob Phillips Bob Phillips is offline
external usenet poster
 
Posts: 1,726
Default macro problems

Best to set object variables and then always use these. Something along the
lines of

Set oWBMain = Workbooks.Open(Filename:="C:\myData\myFile.csv")
'do your interim stuff

Set oWBSecondary = Workbooks.Open(Filename:="C:\myData\otherFile.xls" )

and then always qualify with the wb object

With oWBMain
With .Worksheets(1)
.Rang("A1").Value ="Head1")
'etc
End With
End With

note the dots before the other objects which means they are properties of
the previously declared object in the With statement.

--

HTH

Bob Phillips

(replace xxxx in the email address with gmail if mailing direct)

"RSteph" wrote in message
...
I've got a macro that takes a worksheet, does some formatting, then opens
another workbook, and is suppose to pull information from that workbook,

into
the original file.

The original file is a .csv file made from another program, that I open in
excel with comma's as the deliminater, to populate the first 3 columns. So
the name won't always be the same.

The problem I'm having is that when I run the macro from my "personal
workbook" it starts the formatting, but when it goes to opening the new

file
to get some data, it starts doing the rest of the formatting in that file.
How can I go about getting it to do the formatting in the first file?

Is there a way for me to, when I start the macro, declare the page it was
started from into a variable, so I can then use that to specify the page I
want it to work from.

Also, is there a way to hide the second file once I open it, and still

read
data from it?