Avatar billede fynbo Nybegynder
27. juni 2005 - 15:43 Der er 8 kommentarer og
1 løsning

indsætte formular i excel celle

Hej!

Benytter nedestående kode til at indsætte data i celler i en løkke.

..
ActiveWorkbook.Sheets("" & EjdNr & "").Range("B" & Raekke).Value = "" & AktuelIndbetaling & ""
..

Nu er det sådan at jeg har en variabel, r, som jeg gerne vil have ganget med indholdet af cellen ved siden af. Følgende kode virker ikke:

ActiveWorkbook.Sheets("" & EjdNr & "").Range("D" & Raekke).Formula = "=sum(F11 * r)"

hvordan gør jeg iøvrigt så F11 bliver til F + Raekke, sådan så F11 ikke er statisk.
Avatar billede martin_moth Mester
27. juni 2005 - 16:34 #1
Du kan - mig bekendt - ikke have en VBA variabel, som du bruger i en alm. celleformel (som godt nok bliver indsat med VBA)

Du kanskrive din variabel til en celle, som du låser (f.eks. celle A1: $A$1), og ganger med den celle istedet for med variablen r.

Mht det sidste, vil jeg tro noget i retning af

  "=sum(F11 * r)"
bliver til
"=sum(F11 * $A$1)"  'jf. ovenfor
som bliver til
"=sum(F" & Raekke & "* $A$1)"
Avatar billede kabbak Professor
27. juni 2005 - 22:24 #2
Den sidste kan du vist ikke skrive som formel, men du kan skrive værdien

ActiveWorkbook.Sheets(EjdNr).Range("D" & Raekke) = range("F"& Raekke) * r
Avatar billede martin_moth Mester
27. juni 2005 - 23:56 #3
Går det at skrive .... * r
"r" lever vel kun når macroen køres, eller?
"r" kunne dog være en navngiven celle, men det er det jo ikke i dette tilfælde.
Avatar billede bak Forsker
28. juni 2005 - 18:33 #4
hvis det skal være en formel så

r = 3
ActiveWorkbook.Sheets(EjdNr).Range("D" & raekke).Formula = "=F" & raekke & "*" & CStr(r)
Avatar billede martin_moth Mester
28. juni 2005 - 19:41 #5
Jeg forstod det somom det var en formel der skulle indsættes i excel, som skulle indeholde "*r". Men jeg misforstod nok, for som jeg påpeger, kan man ikke det.
Hvad siger ynbo?
Avatar billede bak Forsker
28. juni 2005 - 20:06 #6
Det kan man da også, martin, men jeg kan bedre li det andet :-)

ActiveWorkbook.Names.Add "r", 3
ActiveWorkbook.Sheets(1).Range("D" & raekke).Formula = "=F" & raekke & " * r"

Names("r").Value = 9

Nu kan du ændre på r som du lyster, enten via vba eller ved at gå op i Indsæt/navne og ændre værdien på r
Avatar billede fynbo Nybegynder
28. juni 2005 - 20:13 #7
Hej - tusind tak for jeres hjælp indtil nu.

ActiveWorkbook.Sheets(EjdNr).Range("D" & raekke).Formula = "=F" & raekke & "* C4"

Dette blev løsningen. C4 indeholder variablen r.

Et enkelt spørgsmål:  Når jeg via .Value indsætter værdien af en variabel af typen Double i en celle, så siger Excel at det er tal gemt som tekst, pånær hvis decimalerne er ,00. Hvorfor gør den dette?
Avatar billede martin_moth Mester
28. juni 2005 - 23:42 #8
Hvis lige hvordan du gør
Avatar billede martin_moth Mester
28. juni 2005 - 23:44 #9
bak: Smart - det vidste jeg ikke.... Så lærte jeg også noget i dag :o)
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
Kurser inden for grundlæggende programmering

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