Avatar billede fridel1980 Nybegynder
26. januar 2016 - 23:38 Der er 5 kommentarer og
1 løsning

Indsæt en formel via Vba

Jeg har et problem med at sætte en formel ind i en celle i stedet for en tekststreng med brug af denne Makro.


Den der virker er herunder:
Range("A14").Select
    ActiveCell.FormulaR1C1 = "Hvis du ønsker at indsætte et nyt punkt eller anden vare linje skriv da her tryk herefter -ctrl w-"



Den der ikke virker er herunder:
Range("E14").Select
    ActiveCell.FormulaR1C1 = "HVIS.FEJL((B14 - G14) / Abs(G14) * 100, " - ")"


På forhånd tak

Hilsen Frederik

Den samlet programmering ligger herunder.




Sub Makro1()
'
' Makro1 Makro
'
' Genvejstast:Ctrl+w
'
    Range("A14:J14").Select
    Selection.Copy
    Sheets("Pris ark").Select
    Range("A15:J15").Select
    Range("A14:A1000 ").Find(Empty, LookIn:=xlValues).Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Sheets("Søge priser").Select
    Range("K14:L14").Select
    Application.CutCopyMode = False
    Selection.Copy
    Sheets("Pris ark").Select
    Range("K15:L15").Select
    Range("K14:L1000 ").Find(Empty, LookIn:=xlValues).Select
    Selection.PasteSpecial Paste:=xlPasteFormulas, Operation:=xlNone, _
        SkipBlanks:=False, Transpose:=False
    Range("H15").Select
    Range("H15:H1000 ").Find(Empty, LookIn:=xlValues).Select
    Application.CutCopyMode = False
    Sheets("Søge priser").Select
    Range("A14").Select
    ActiveCell.FormulaR1C1 = "Hvis du ønsker at indsætte et nyt punkt eller anden vare linje skriv da her tryk herefter -ctrl w-"
    Range("B14").Select
    ActiveCell.FormulaR1C1 = "-"
    Range("D14").Select
    ActiveCell.FormulaR1C1 = "-"
    Range("E14").Select
    ActiveCell.FormulaR1C1 = "HVIS.FEJL((B14 - G14) / Abs(G14) * 100, " - ")"
    Range("G14").Select
    ActiveCell.FormulaR1C1 = "-"
    Range("H14").Select
    ActiveCell.FormulaR1C1 = "-"

    Range("A16").Select
End Sub
Avatar billede kabbak Professor
27. januar 2016 - 07:48 #1
ActiveCell.FormulaLocal = "HVIS.FEJL((B14 - G14) / Abs(G14) * 100, " - ")"
Avatar billede kabbak Professor
27. januar 2016 - 08:15 #2
ActiveCell.FormulaLocal = "=HVIS.FEJL((B14 - G14) / Abs(G14) * 100, " - ")"
Avatar billede store-morten Ekspert
27. januar 2016 - 21:31 #3
Virker kun i dansk Excel:

ActiveCell.FormulaLocal = "=HVIS.FEJL((B14-G14)/Abs(G14)*100;"" - "")"

(Bemærk: ; i stedet for , og dobbelt "" - "")

Du kan oversætte din vba formel til engelsk, så virke det både i Engelsk og Dansk Excel:

Range("E14").Formula = "=IFERROR((B14-G14)/ABS(G14)*100, "" - "")"
Avatar billede fridel1980 Nybegynder
29. januar 2016 - 07:59 #4
Hej Denne virker ikke

ActiveCell.FormulaLocal = "=HVIS.FEJL((B14 - G14) / Abs(G14) * 100, " - ")"
Avatar billede fridel1980 Nybegynder
29. januar 2016 - 08:03 #5
Hej

Denne virker

ActiveCell.FormulaLocal = "=HVIS.FEJL((B14-G14)/Abs(G14)*100;"" - "")"

Mange tak for hjælpen
Avatar billede fridel1980 Nybegynder
29. januar 2016 - 08:09 #6
Jeg fik lavet noget lort

hvordan giver jeg dig point  min fejl
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

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