Newbie vba - How do I reference cells in another workbook

  • Thread starter Thread starter Ian
  • Start date Start date
I

Ian

Data is transferred from another program and each transfer opens a new
workbook in Excel. I have a workbook (Main) that processes the data. I have
the workbook name in cell B4 say Book5 and part of the macro looks like this

Dim wbook

Range("b4").Select
wbook = ActiveCell.Offset(0, 0).Value
Workbooks(wbook).Activate

'Processes some data

Workbooks("Main").Activate
Range("a7").Select
ActiveCell.Offset(1, 1).Value = "=max([book5]sheet1!$b:$b)"

My question is how do I write the last line using the variable wbook
instead of the workbook name book5

Thanks

Ian
 
DIM sWBook as sring
DIM WB as Workbook
DIM WS as Worksheet
DIM sFormula as String

set WS = Activesheet
sWBook = WS.Range("B4").Value
SET WB = Workbooks.Open(sWBook)

sFormula = = "=max([" & sWBook & "]sheet1!$b:$b)"

WS.Range("A7").Offset1,1).Formula = sFormula

'this line converts the formula to values
WS.Range("A7").Offset1,1).value = _
WS.Range("A7").Offset1,1).value

WB.Cloase False


HTH
Patrick Molloy
Microsoft Excel MVP
 
Ian, Suggest a few changes to your code, as follows plus the one way of
referencing another workbook using the formula.

Dim wbook As String

wbook = Range("B4").Value & ".xls"
Workbooks(wbook).Activate

'Processes some data

Workbooks("Main.xls").Activate
Range("A7").Formula = "=max([" & wbook & "]sheet1!$B:$B)"

Cheers
Nigel
 

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

Back
Top