13. december 2006 - 22:40Der er
5 kommentarer og 1 løsning
Cells.FormulaLocal giver fejl
Jeg har nedenstående løkke i VBA som giver følgende fejl:
"Run-time error '1004' Application-defined or object defined error"
VBA-løkke For a = 6 To antal + 6
Cells(a, 3).FormulaLocal = "=HVIS(C" & a & "<0;0;)HVIS(OG(C" & a & ">0;OPG!C" & a & "<0);HVIS(ABS(OPG!C" & a & ")>C" & a & ";-C" & a & ";OPG!C" & a & ");0))"
Application.StatusBar = "Opretter, række: " & a & " af " & antal
Og VBA-løkken skal rettelig se sådan ud: For a = 6 To antal + 6
Cells(a, 3).FormulaLocal = "=HVIS(C" & a & "<0;0;HVIS(OG(C" & a & ">0;OPG!C" & a & "<0);HVIS(ABS(OPG!C" & a & ")>C" & a & ";-C" & a & ";OPG!C" & a & ");0))"
Application.StatusBar = "Opretter, række: " & a & " af " & antal
'Cells(A, 3).Formula = "=HVIS(C" & A & "<0;0;)HVIS(OG(C" & A & ">0;OPG!C" & A & "<0);HVIS(ABS(OPG!C" & A & ")>C" & A & ";-C" & A & ";OPG!C" & A & ");0))"
Cells(A, 3).Formula = "=IF(R[" & A & "]C[-1]<0,0,IF(AND(R[" & A & "]C[-1]>0,OPG!R[" & A & "]C[-1]<0),IF(ABS(OPG!R[" & A & "]C[-1])>R[" & A & "]C[-1],-R[" & A & "]C[-1],OPG!R[" & A & "]C[-1]),0))" Application.StatusBar = "Opretter, række: " & A & " af " & Antal
Cells(A, 3).Formula = "=IF(R[" & A & "]C<0,0,IF(AND(R[" & A & "]C>0,OPG!R[" & A & "]C<0),IF(ABS(OPG!R[" & A & "]C)>R[" & A & "]C,-R[" & A & "]C,OPG!R[" & A & "]C),0))"
Dit sidste forslag var det der gav den rigtige formel i cellerne. Dog med en enkelt lille ændring for at få rækkenr. til at passe. Den kom til at se sådan ud: Cells(a, 3).Formula = "=IF(R[" & a - 6 & "]C[-1]<0,0,IF(AND(R[" & a - 6 & "]C[-1]>0,OPG!R[" & a - 6 & "]C[-1]<0),IF(ABS(OPG!R[" & a - 6 & "]C[-1])>R[" & a - 6 & "]C[-1],-R[" & a - 6 & "]C[-1],OPG!R[" & a - 6 & "]C[-1]),0))"
Det er i hvert fald med at holde tungen lige i munden. Det havde været nemmere med FormulaLocal.
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.