Copy formulas between workbooks without copying links

M

MCI

I want to copy formulas from a range in worksheet A in workbook A to a
range in worksheet B in workbook B.

When i use the clipboard to copy and paste special by formulas, I
often create unwanted external links in workbook B (eg. some names in
workbook B could refer to the ranges in workbook A now).
While i could possible fix this later by looking for the external
links and delete them, I'm looking for a simple way to avoid it.

One possible way is do it in VBA:

workbooks(2).sheets(1).range("A1:A10").formula =
workbooks(1).sheets(1).range("A1:A10").formula

but looks like this only works for non-array formulas

thanks a lot, any help is much appreciated.
 
J

Joel

It sometimes help to do the copy using the fx box at the top of the
worksheet. click on the cell you want to copy. then highlight the formula
in the Fx box and do a copy. then paste the formula in the Fx box in the 2nd
worksheet.
 
G

Gord Dibben

One simple method is to use Edit>Replace a couple times.

Edit>Replace

What: =

With: ^^^

Replace all.

Copy then reverse the process on the target book.

Close the source book without saving or reverse there also.


Gord Dibben MS Excel MVP
 
M

MCI

thanks a lot, but this doesn't seem to work for array formulas.
for example, in source workbook, range("D9:D10") has an array formula
of "=A1:A2",
using your way described below, in destination workbook, we would
have:
cell D9 = "=A1:A2"
cell D10 = "=A1:A2"

which gives "#VALUE!" errors and is different from the source
workbook.
 
G

Gord Dibben

Too late at night for me to understand your version of an array formula
{=A1:A2} entered in D9:D10


Gord
 
M

MCI

sorry for any confusion.
the array formula in my post is entered as this:

1. select cells D9 through D10
2. enter the following formula in the formula bar:
=A1:A2
3. Press CTRL+SHIFT+ENTER.

Thanks.
 
G

Gord Dibben

When I copy D9:D10 from source book to D9:D10 in a new workbook, I do not get
the link to the source book.

What copies is {=A1:A2} in D9 and {=A1:A2} in D10


Gord
 
K

Kim

Great tip, works a treat and saved me a pile of work when I'd mucked up the
formulas on a workbook that I'd used as the template for 15 others.
 
M

MCI

i was not saying copying the formulas creates a link to the source
workbook.
What i meant is using the method you described can't replicate what
the source workbook
has in the destination workbook.

(meaning: cell D9 = "=A1:A2", cell D10 = "=A1:A2" in destination
workbook, and these formulas
are not array formulas. but cell D9 and D10 in source workbook have an
array formula and
you can't change D9 or D10 individually)

By "copyD9:D10 from source book to D9:D10 in a new workbook", you mean
using select - copy - paste by formula
or your method (Edit>Replace / What: = / With: ^^^)? If it's your
method, source workbook and destination workbook are not the same.

thanks.

Replace all.
 

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