Avatar billede gammer Nybegynder
13. december 2006 - 22:40 Der 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

Next a

Er der nogen der kan se hvorfor jeg får fejl her?
Avatar billede gammer Nybegynder
13. december 2006 - 22:50 #1
Hvis a=6 skulle der gerne skrives følgende i cellen

=HVIS(C6<0;0;HVIS(OG(C6>0;OPG!C6<0);HVIS(ABS(OPG!C6)>C6;-C6;OPG!C6);0))

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

Next a
Avatar billede kabbak Professor
14. december 2006 - 08:29 #2
Vba kan bedst lide engelsk

For A = 6 To Antal + 6

'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

Next A
Avatar billede kabbak Professor
14. december 2006 - 08:35 #3
den skal vist se sådan ud

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))"
Avatar billede gammer Nybegynder
14. december 2006 - 09:48 #4
Hej kabbak. Tak for dit svar

Jeg har lidt travlt pt. Jeg vil teste dit forslag, men jeg kan nok først nå det til fredag.
Avatar billede gammer Nybegynder
16. december 2006 - 08:40 #5
Hej kabbak

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.

Tak for hjælpen. Læg et svar så du kan få point.
Avatar billede kabbak Professor
17. december 2006 - 10:33 #6
et svar ;-))
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Excel kurser for alle niveauer og behov – find det kursus, der passer til dig

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester