ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Not able to copy a VBA array with formulas into an Excel range (https://www.excelbanter.com/excel-programming/426221-not-able-copy-vba-array-formulas-into-excel-range.html)

musicgold via OfficeKB.com

Not able to copy a VBA array with formulas into an Excel range
 
Hi,

I am trying to transfer the contents of an array into a range of Excel (red
line in the code below). Though I am able to do that when the array has
values, however, it is giving me an error when the array has formulas.
How can I get this to work?

VBA Code:
...
Dim Vma As Variant
...
TotalRows = .Range("Spread").Count

Vma = Application.Transpose(.Range("Spread"))


For i = TotalRows To 1 Step -1

Vma(i) = "=RC[-2]- RC[-1])"

Next

.Range("Spread") = Application.WorksheetFunction.Transpose(Vma)
...



Thanks,

MG.

--
Message posted via OfficeKB.com
http://www.officekb.com/Uwe/Forums.a...mming/200903/1


Dave Peterson

Not able to copy a VBA array with formulas into an Excel range
 
Your formula isn't valid (the ()'s don't match):

Vma(i) = "=RC[-2]- RC[-1])"
should be:
Vma(i) = "=(RC[-2]- RC[-1]"
or
Vma(i) = "=(RC[-2]- RC[-1])"

I'm not sure if this is a simplified version, but how about:

with worksheets("somesheetnamehere")
.range("Spread").formular1c1 = "=RC[-2]- RC[-1]"
end with

ps. I'd be explicit with the .formular1c1 in your code, too.

"musicgold via OfficeKB.com" wrote:

Hi,

I am trying to transfer the contents of an array into a range of Excel (red
line in the code below). Though I am able to do that when the array has
values, however, it is giving me an error when the array has formulas.
How can I get this to work?

VBA Code:
...
Dim Vma As Variant
...
TotalRows = .Range("Spread").Count

Vma = Application.Transpose(.Range("Spread"))


For i = TotalRows To 1 Step -1

Vma(i) = "=RC[-2]- RC[-1])"

Next

.Range("Spread") = Application.WorksheetFunction.Transpose(Vma)
...

Thanks,

MG.

--
Message posted via OfficeKB.com
http://www.officekb.com/Uwe/Forums.a...mming/200903/1


--

Dave Peterson

musicgold via OfficeKB.com

Not able to copy a VBA array with formulas into an Excel range
 
Dave,

Thanks. You are right; the formula was wrong. How silly of me!

MG

Dave Peterson wrote:
Your formula isn't valid (the ()'s don't match):

Vma(i) = "=RC[-2]- RC[-1])"
should be:
Vma(i) = "=(RC[-2]- RC[-1]"
or
Vma(i) = "=(RC[-2]- RC[-1])"

I'm not sure if this is a simplified version, but how about:

with worksheets("somesheetnamehere")
.range("Spread").formular1c1 = "=RC[-2]- RC[-1]"
end with

ps. I'd be explicit with the .formular1c1 in your code, too.

Hi,

[quoted text clipped - 27 lines]
Message posted via OfficeKB.com
http://www.officekb.com/Uwe/Forums.a...mming/200903/1



--
Message posted via OfficeKB.com
http://www.officekb.com/Uwe/Forums.a...mming/200903/1



All times are GMT +1. The time now is 09:43 AM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com