Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 4
Default VBA and FormulaArray Runtime Err <is not more than 255 Char

Hi,

I am running a looping process that pastes a formula
array into a wbk from data in another wbk. The
underlying books are all based on the same template, just
data for different months. After the data is created, I
save the book and save it also as X.xls to shorten the
name (to keep under 255). This formula array worked over
1000 times. All of a sudden I get to a month where I am
getting the Runtime error -1004. The length of the
formula is 196 char

VBA
ActiveCell.Formula = "=((SUM(((" & dataBk2 & "$C11:$C" &
lrow & "=C10)*(" & _
dataBk2 & "$H11:$H" & lrow & "=" & LTGIndex & "))*((" &
dataBk2 & _
"$AN11:$AN" & lrow & ")))/SUM(((" & dataBk2 & "$C11:$C" &
_
lrow & "=C10)*(" & dataBk2 & "$H11:$H" & lrow & "=" & _
LTGIndex & "))*(" & dataBk2 & "$AO11:$AO" & lrow & ")))^
(1/5)-1)*100"

ACTUAL RESULT STRING
=((SUM((([x.xls]S1!$C11:$C1509=C10)*([x.xls]S1!
$H11:$H1509=500))*(([x.xls]S1!$AN11:$AN1509)))/SUM
((([x.xls]S1!$C11:$C1509=C10)*([x.xls]S1!$H11:$H1509=500))
*([x.xls]S1!$AO11:$AO1509)))^(1/5)-1)*100

If I take the above formula and paste it into the formula
bar and hit ctrl-shft-entr it does work and returns the
correct value.

So, if it's not the 255 char limit problem, I can't seem
to figure out why it works for so many months prior, and
this file is identical in layout that it it would
suddenly not work. There are no errors in the underlying
value. I'm going bonkers b/c all the files are the
same. WHAT CAN I MISSING????? HELP!!!!

TIA,
Kohai

ps - sorry for the lengthy question.
  #2   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 5,441
Default VBA and FormulaArray Runtime Err <is not more than 255 Char

What happens if you use?

Dim myForm As String

myForm = "=((SUM(((" & dataBk2 & "$C11:$C" & lrow & "=C10)*(" & _
dataBk2 & "$H11:$H" & lrow & "=" & LTGIndex & "))*((" & dataBk2 & _
"$AN11:$AN" & lrow & ")))/SUM(((" & dataBk2 & "$C11:$C" & _
lrow & "=C10)*(" & dataBk2 & "$H11:$H" & lrow & "=" & _
LTGIndex & "))*(" & dataBk2 & "$AO11:$AO" & lrow & ")))^ (1/5)-1)*100"

ActiveCell.Formula = myForm

Though don't you really want

ActiveCell.FormulaArray ??

HTH,
Bernie
MS Excel MVP

"Kohai" wrote in message
...
Hi,

I am running a looping process that pastes a formula
array into a wbk from data in another wbk. The
underlying books are all based on the same template, just
data for different months. After the data is created, I
save the book and save it also as X.xls to shorten the
name (to keep under 255). This formula array worked over
1000 times. All of a sudden I get to a month where I am
getting the Runtime error -1004. The length of the
formula is 196 char

VBA
ActiveCell.Formula = "=((SUM(((" & dataBk2 & "$C11:$C" &
lrow & "=C10)*(" & _
dataBk2 & "$H11:$H" & lrow & "=" & LTGIndex & "))*((" &
dataBk2 & _
"$AN11:$AN" & lrow & ")))/SUM(((" & dataBk2 & "$C11:$C" &
_
lrow & "=C10)*(" & dataBk2 & "$H11:$H" & lrow & "=" & _
LTGIndex & "))*(" & dataBk2 & "$AO11:$AO" & lrow & ")))^
(1/5)-1)*100"

ACTUAL RESULT STRING
=((SUM((([x.xls]S1!$C11:$C1509=C10)*([x.xls]S1!
$H11:$H1509=500))*(([x.xls]S1!$AN11:$AN1509)))/SUM
((([x.xls]S1!$C11:$C1509=C10)*([x.xls]S1!$H11:$H1509=500))
*([x.xls]S1!$AO11:$AO1509)))^(1/5)-1)*100

If I take the above formula and paste it into the formula
bar and hit ctrl-shft-entr it does work and returns the
correct value.

So, if it's not the 255 char limit problem, I can't seem
to figure out why it works for so many months prior, and
this file is identical in layout that it it would
suddenly not work. There are no errors in the underlying
value. I'm going bonkers b/c all the files are the
same. WHAT CAN I MISSING????? HELP!!!!

TIA,
Kohai

ps - sorry for the lengthy question.



  #3   Report Post  
Posted to microsoft.public.excel.programming
No Name
 
Posts: n/a
Default VBA and FormulaArray Runtime Err <is not more than 255 Char

Bernie,

Thx for responding. It needs to be an array since it is
using multiple criteria (what's in C and H) to sum the
two columns AN & AO. Eventually, I'm going to need to
add a 3rd criteria, so I think I'm going to have to
actually do the math in VBA and have it return the result
rather than use the FormulaArray. That 255 char limit is
a real stinker. But the current formula is <255 and it
works on identical files. Can't figure out why it
fails.
-----Original Message-----
What happens if you use?

Dim myForm As String

myForm = "=((SUM(((" & dataBk2 & "$C11:$C" & lrow

& "=C10)*(" & _
dataBk2 & "$H11:$H" & lrow & "=" & LTGIndex & "))*(("

& dataBk2 & _
"$AN11:$AN" & lrow & ")))/SUM(((" & dataBk2 & "$C11:$C"

& _
lrow & "=C10)*(" & dataBk2 & "$H11:$H" & lrow & "=" & _
LTGIndex & "))*(" & dataBk2 & "$AO11:$AO" & lrow & ")))

^ (1/5)-1)*100"

ActiveCell.Formula = myForm

Though don't you really want

ActiveCell.FormulaArray ??

HTH,
Bernie
MS Excel MVP

"Kohai" wrote in

message
...
Hi,

I am running a looping process that pastes a formula
array into a wbk from data in another wbk. The
underlying books are all based on the same template,

just
data for different months. After the data is created,

I
save the book and save it also as X.xls to shorten the
name (to keep under 255). This formula array worked

over
1000 times. All of a sudden I get to a month where I

am
getting the Runtime error -1004. The length of the
formula is 196 char

VBA
ActiveCell.Formula = "=((SUM(((" & dataBk2 & "$C11:$C"

&
lrow & "=C10)*(" & _
dataBk2 & "$H11:$H" & lrow & "=" & LTGIndex & "))*((" &
dataBk2 & _
"$AN11:$AN" & lrow & ")))/SUM(((" & dataBk2

& "$C11:$C" &
_
lrow & "=C10)*(" & dataBk2 & "$H11:$H" & lrow & "=" & _
LTGIndex & "))*(" & dataBk2 & "$AO11:$AO" & lrow & ")))

^
(1/5)-1)*100"

ACTUAL RESULT STRING
=((SUM((([x.xls]S1!$C11:$C1509=C10)*([x.xls]S1!
$H11:$H1509=500))*(([x.xls]S1!$AN11:$AN1509)))/SUM
((([x.xls]S1!$C11:$C1509=C10)*([x.xls]S1!

$H11:$H1509=500))
*([x.xls]S1!$AO11:$AO1509)))^(1/5)-1)*100

If I take the above formula and paste it into the

formula
bar and hit ctrl-shft-entr it does work and returns the
correct value.

So, if it's not the 255 char limit problem, I can't

seem
to figure out why it works for so many months prior,

and
this file is identical in layout that it it would
suddenly not work. There are no errors in the

underlying
value. I'm going bonkers b/c all the files are the
same. WHAT CAN I MISSING????? HELP!!!!

TIA,
Kohai

ps - sorry for the lengthy question.



.

  #4   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 968
Default VBA and FormulaArray Runtime Err <is not more than 255 Char

I made it 254 in R1C1 ...

"Tom Ogilvy" wrote in message
...
I already checked it 222 is the length in R1C1

--
Regards,
Tom Ogilvy


"Charles Williams" wrote in message
...
Excel actually converts to R1C1 format before doing the insert, and R1C1
tends to be longer.
I suspect that you actually are hitting the 255 character limit in R1C1

mode

Charles
______________________
Decision Models
FastExcel 2.1 now available
www.DecisionModels.com

wrote in message
...
Bernie,

Thx for responding. It needs to be an array since it is
using multiple criteria (what's in C and H) to sum the
two columns AN & AO. Eventually, I'm going to need to
add a 3rd criteria, so I think I'm going to have to
actually do the math in VBA and have it return the result
rather than use the FormulaArray. That 255 char limit is
a real stinker. But the current formula is <255 and it
works on identical files. Can't figure out why it
fails.
-----Original Message-----
What happens if you use?

Dim myForm As String

myForm = "=((SUM(((" & dataBk2 & "$C11:$C" & lrow
& "=C10)*(" & _
dataBk2 & "$H11:$H" & lrow & "=" & LTGIndex & "))*(("
& dataBk2 & _
"$AN11:$AN" & lrow & ")))/SUM(((" & dataBk2 & "$C11:$C"
& _
lrow & "=C10)*(" & dataBk2 & "$H11:$H" & lrow & "=" & _
LTGIndex & "))*(" & dataBk2 & "$AO11:$AO" & lrow & ")))
^ (1/5)-1)*100"

ActiveCell.Formula = myForm

Though don't you really want

ActiveCell.FormulaArray ??

HTH,
Bernie
MS Excel MVP

"Kohai" wrote in
message
...
Hi,

I am running a looping process that pastes a formula
array into a wbk from data in another wbk. The
underlying books are all based on the same template,
just
data for different months. After the data is created,
I
save the book and save it also as X.xls to shorten the
name (to keep under 255). This formula array worked
over
1000 times. All of a sudden I get to a month where I
am
getting the Runtime error -1004. The length of the
formula is 196 char

VBA
ActiveCell.Formula = "=((SUM(((" & dataBk2 & "$C11:$C"
&
lrow & "=C10)*(" & _
dataBk2 & "$H11:$H" & lrow & "=" & LTGIndex & "))*((" &
dataBk2 & _
"$AN11:$AN" & lrow & ")))/SUM(((" & dataBk2
& "$C11:$C" &
_
lrow & "=C10)*(" & dataBk2 & "$H11:$H" & lrow & "=" & _
LTGIndex & "))*(" & dataBk2 & "$AO11:$AO" & lrow & ")))
^
(1/5)-1)*100"

ACTUAL RESULT STRING
=((SUM((([x.xls]S1!$C11:$C1509=C10)*([x.xls]S1!
$H11:$H1509=500))*(([x.xls]S1!$AN11:$AN1509)))/SUM
((([x.xls]S1!$C11:$C1509=C10)*([x.xls]S1!
$H11:$H1509=500))
*([x.xls]S1!$AO11:$AO1509)))^(1/5)-1)*100

If I take the above formula and paste it into the
formula
bar and hit ctrl-shft-entr it does work and returns the
correct value.

So, if it's not the 255 char limit problem, I can't
seem
to figure out why it works for so many months prior,
and
this file is identical in layout that it it would
suddenly not work. There are no errors in the
underlying
value. I'm going bonkers b/c all the files are the
same. WHAT CAN I MISSING????? HELP!!!!

TIA,
Kohai

ps - sorry for the lengthy question.


.







  #5   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 27,285
Default VBA and FormulaArray Runtime Err <is not more than 255 Char

I get 244 by pasting it in in A1 style and then changing options to R1C1
(using both Len in the worksheet and in VBA)

sStr1 =
"=((SUM((([x.xls]S1!R[10]C3:R[1508]C3=R[9]C[-5])*([x.xls]S1!R[10]C8:R[1508]C
8=500))*(([x.xls]S1!R[10]C40:R[1508]C40)))/SUM((([x.xls]S1!R[10]C3:R[1508]C3
=R[9]C[-5])*([x.xls]S1!R[10]C8:R[1508]C8=500))*([x.xls]S1!R[10]C41:R[1508]C4
1)))^(1/5)-1)*100"
? len(sStr1)
244

or using the original formula and formulaconvert:

sStr =
"((SUM((([x.xls]S1!$C11:$C1509=C10)*([x.xls]S1!$H11:$H1509=500))*(([x.xls]S1
!$AN11:$AN1509)))/SUM((([x.xls]S1!$C11:$C1509=C10)*([x.xls]S1!$H11:$H1509=50
0))*([x.xls]S1!$AO11:$AO1509)))^(1/5)-1)*100"
? len(application.ConvertFormula(sStr,xlA1,xlR1C1))
237

? len(application.ConvertFormula(sStr,xlA1,xlR1C1,xl absolute))
211

--
Regards,
Tom Ogilvy


"Charles Williams" wrote in message
...
I made it 254 in R1C1 ...

"Tom Ogilvy" wrote in message
...
I already checked it 222 is the length in R1C1

--
Regards,
Tom Ogilvy


"Charles Williams" wrote in message
...
Excel actually converts to R1C1 format before doing the insert, and

R1C1
tends to be longer.
I suspect that you actually are hitting the 255 character limit in R1C1

mode

Charles
______________________
Decision Models
FastExcel 2.1 now available
www.DecisionModels.com

wrote in message
...
Bernie,

Thx for responding. It needs to be an array since it is
using multiple criteria (what's in C and H) to sum the
two columns AN & AO. Eventually, I'm going to need to
add a 3rd criteria, so I think I'm going to have to
actually do the math in VBA and have it return the result
rather than use the FormulaArray. That 255 char limit is
a real stinker. But the current formula is <255 and it
works on identical files. Can't figure out why it
fails.
-----Original Message-----
What happens if you use?

Dim myForm As String

myForm = "=((SUM(((" & dataBk2 & "$C11:$C" & lrow
& "=C10)*(" & _
dataBk2 & "$H11:$H" & lrow & "=" & LTGIndex & "))*(("
& dataBk2 & _
"$AN11:$AN" & lrow & ")))/SUM(((" & dataBk2 & "$C11:$C"
& _
lrow & "=C10)*(" & dataBk2 & "$H11:$H" & lrow & "=" & _
LTGIndex & "))*(" & dataBk2 & "$AO11:$AO" & lrow & ")))
^ (1/5)-1)*100"

ActiveCell.Formula = myForm

Though don't you really want

ActiveCell.FormulaArray ??

HTH,
Bernie
MS Excel MVP

"Kohai" wrote in
message
...
Hi,

I am running a looping process that pastes a formula
array into a wbk from data in another wbk. The
underlying books are all based on the same template,
just
data for different months. After the data is created,
I
save the book and save it also as X.xls to shorten the
name (to keep under 255). This formula array worked
over
1000 times. All of a sudden I get to a month where I
am
getting the Runtime error -1004. The length of the
formula is 196 char

VBA
ActiveCell.Formula = "=((SUM(((" & dataBk2 & "$C11:$C"
&
lrow & "=C10)*(" & _
dataBk2 & "$H11:$H" & lrow & "=" & LTGIndex & "))*((" &
dataBk2 & _
"$AN11:$AN" & lrow & ")))/SUM(((" & dataBk2
& "$C11:$C" &
_
lrow & "=C10)*(" & dataBk2 & "$H11:$H" & lrow & "=" & _
LTGIndex & "))*(" & dataBk2 & "$AO11:$AO" & lrow & ")))
^
(1/5)-1)*100"

ACTUAL RESULT STRING
=((SUM((([x.xls]S1!$C11:$C1509=C10)*([x.xls]S1!
$H11:$H1509=500))*(([x.xls]S1!$AN11:$AN1509)))/SUM
((([x.xls]S1!$C11:$C1509=C10)*([x.xls]S1!
$H11:$H1509=500))
*([x.xls]S1!$AO11:$AO1509)))^(1/5)-1)*100

If I take the above formula and paste it into the
formula
bar and hit ctrl-shft-entr it does work and returns the
correct value.

So, if it's not the 255 char limit problem, I can't
seem
to figure out why it works for so many months prior,
and
this file is identical in layout that it it would
suddenly not work. There are no errors in the
underlying
value. I'm going bonkers b/c all the files are the
same. WHAT CAN I MISSING????? HELP!!!!

TIA,
Kohai

ps - sorry for the lengthy question.


.











  #6   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 968
Default VBA and FormulaArray Runtime Err <is not more than 255 Char

I used the 244 method so probably I mistook a number and it actually was
244...

Charles
______________________
Decision Models
FastExcel 2.1 now available
www.DecisionModels.com

"Tom Ogilvy" wrote in message
...
I get 244 by pasting it in in A1 style and then changing options to R1C1
(using both Len in the worksheet and in VBA)

sStr1 =
"=((SUM((([x.xls]S1!R[10]C3:R[1508]C3=R[9]C[-5])*([x.xls]S1!R[10]C8:R[1508]C
8=500))*(([x.xls]S1!R[10]C40:R[1508]C40)))/SUM((([x.xls]S1!R[10]C3:R[1508]C3
=R[9]C[-5])*([x.xls]S1!R[10]C8:R[1508]C8=500))*([x.xls]S1!R[10]C41:R[1508]C4
1)))^(1/5)-1)*100"
? len(sStr1)
244

or using the original formula and formulaconvert:

sStr =
"((SUM((([x.xls]S1!$C11:$C1509=C10)*([x.xls]S1!$H11:$H1509=500))*(([x.xls]S1
!$AN11:$AN1509)))/SUM((([x.xls]S1!$C11:$C1509=C10)*([x.xls]S1!$H11:$H1509=50
0))*([x.xls]S1!$AO11:$AO1509)))^(1/5)-1)*100"
? len(application.ConvertFormula(sStr,xlA1,xlR1C1))
237

? len(application.ConvertFormula(sStr,xlA1,xlR1C1,xl absolute))
211

--
Regards,
Tom Ogilvy


"Charles Williams" wrote in message
...
I made it 254 in R1C1 ...

"Tom Ogilvy" wrote in message
...
I already checked it 222 is the length in R1C1

--
Regards,
Tom Ogilvy


"Charles Williams" wrote in message
...
Excel actually converts to R1C1 format before doing the insert, and

R1C1
tends to be longer.
I suspect that you actually are hitting the 255 character limit in
R1C1
mode

Charles
______________________
Decision Models
FastExcel 2.1 now available
www.DecisionModels.com

wrote in message
...
Bernie,

Thx for responding. It needs to be an array since it is
using multiple criteria (what's in C and H) to sum the
two columns AN & AO. Eventually, I'm going to need to
add a 3rd criteria, so I think I'm going to have to
actually do the math in VBA and have it return the result
rather than use the FormulaArray. That 255 char limit is
a real stinker. But the current formula is <255 and it
works on identical files. Can't figure out why it
fails.
-----Original Message-----
What happens if you use?

Dim myForm As String

myForm = "=((SUM(((" & dataBk2 & "$C11:$C" & lrow
& "=C10)*(" & _
dataBk2 & "$H11:$H" & lrow & "=" & LTGIndex & "))*(("
& dataBk2 & _
"$AN11:$AN" & lrow & ")))/SUM(((" & dataBk2 & "$C11:$C"
& _
lrow & "=C10)*(" & dataBk2 & "$H11:$H" & lrow & "=" & _
LTGIndex & "))*(" & dataBk2 & "$AO11:$AO" & lrow & ")))
^ (1/5)-1)*100"

ActiveCell.Formula = myForm

Though don't you really want

ActiveCell.FormulaArray ??

HTH,
Bernie
MS Excel MVP

"Kohai" wrote in
message
...
Hi,

I am running a looping process that pastes a formula
array into a wbk from data in another wbk. The
underlying books are all based on the same template,
just
data for different months. After the data is created,
I
save the book and save it also as X.xls to shorten the
name (to keep under 255). This formula array worked
over
1000 times. All of a sudden I get to a month where I
am
getting the Runtime error -1004. The length of the
formula is 196 char

VBA
ActiveCell.Formula = "=((SUM(((" & dataBk2 & "$C11:$C"
&
lrow & "=C10)*(" & _
dataBk2 & "$H11:$H" & lrow & "=" & LTGIndex & "))*((" &
dataBk2 & _
"$AN11:$AN" & lrow & ")))/SUM(((" & dataBk2
& "$C11:$C" &
_
lrow & "=C10)*(" & dataBk2 & "$H11:$H" & lrow & "=" & _
LTGIndex & "))*(" & dataBk2 & "$AO11:$AO" & lrow & ")))
^
(1/5)-1)*100"

ACTUAL RESULT STRING
=((SUM((([x.xls]S1!$C11:$C1509=C10)*([x.xls]S1!
$H11:$H1509=500))*(([x.xls]S1!$AN11:$AN1509)))/SUM
((([x.xls]S1!$C11:$C1509=C10)*([x.xls]S1!
$H11:$H1509=500))
*([x.xls]S1!$AO11:$AO1509)))^(1/5)-1)*100

If I take the above formula and paste it into the
formula
bar and hit ctrl-shft-entr it does work and returns the
correct value.

So, if it's not the 255 char limit problem, I can't
seem
to figure out why it works for so many months prior,
and
this file is identical in layout that it it would
suddenly not work. There are no errors in the
underlying
value. I'm going bonkers b/c all the files are the
same. WHAT CAN I MISSING????? HELP!!!!

TIA,
Kohai

ps - sorry for the lengthy question.


.











Reply
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules

Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
FIND 1 char in cell of any 3 char =True Nastech Excel Discussion (Misc queries) 5 April 26th 08 02:17 PM
8500 cells with phone number(7 char.), wishing to add area code (10 char.) [email protected] Excel Discussion (Misc queries) 6 March 10th 06 05:13 PM
FormulaArray Troy Excel Worksheet Functions 1 November 23rd 04 03:42 PM
FormulaArray..... HELP !!! Pierre[_6_] Excel Programming 4 May 5th 04 09:37 PM
FormulaArray UK[_2_] Excel Programming 2 February 23rd 04 05:39 PM


All times are GMT +1. The time now is 07:40 PM.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Copyright ©2004-2024 ExcelBanter.
The comments are property of their posters.
 

About Us

"It's about Microsoft Excel"