Avatar billede KenneyD71 Nybegynder
23. juli 2015 - 13:54 Der er 5 kommentarer og
1 løsning

VBA Indsæt formel, udfordringer med "run-time error '1004'

Jeg har udfordringer med nedenstående, ved indsættelse af en formel.
Jeg har prøvet flere varianter af activecell.Formula fejlen er den samme.


Sub AddKPIMatchogAutoFill()


Dim AlfaCell004 As Variant
Dim Alfacellcol004 As Integer
Dim BravoCell004 As Variant
Dim Bravocellcol004 As Integer
Dim Offsetcount004 As Integer
Dim CharlieCell004 As Variant
Dim SourceRange004 As Variant
Dim FillRange004 As Variant

Worksheets("Ekspo_bunke").Activate


Cells.Find(What:="KPI-Match", After:=ActiveCell, LookIn:=xlFormulas, LookAt _
:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _
False, SearchFormat:=False).Activate


ActiveCell.Offset(1, 0).Activate

AlfaCell004 = ActiveCell.Address
Alfacellcol004 = ActiveCell.Column
Range("F2").Select

'''''prøver flere varianter herunder med formula
'Selection.Formula = "=INDEKS(KPI;SAMMENLIGN(C2;Typen;0);0)"

ActiveCell.Formula = "=INDEKS(KPI;SAMMENLIGN(C2;Typen;0);0)"
'ActiveCell = "=INDEKS(KPI;SAMMENLIGN(C2;Typen;0);0)"
'ActiveCell.FormulaR1C1 = "=INDEKS(KPI;SAMMENLIGN(C2;Typen;0);0)"



Range("A1").Select
Selection.End(xlDown).Select
Selection.Offset(1, 0).Select
ActiveCell.Offset(-1, 0).Activate

BravoCell004 = ActiveCell.Address
Bravocellcol004 = ActiveCell.Column
Offsetcount004 = Alfacellcol004 - Bravocellcol004



CharlieCell004 = ActiveCell.Offset(0, Offsetcount004).Address

    Set SourceRange004 = ActiveSheet.Range("F2")
    Set FillRange004 = ActiveSheet.Range(AlfaCell004, CharlieCell004)
   
    SourceRange004.AutoFill Destination:=FillRange004



End Sub
Avatar billede natkatten Mester
23. juli 2015 - 14:22 #1
Prøv med:

"=INDEX(KPI,MATCH(C2,Typen,0),0)"
Avatar billede natkatten Mester
23. juli 2015 - 14:25 #2
Eller eventuelt:

Selection.FormulaLocal = "=INDEKS(KPI;SAMMENLIGN(C2;Typen;0);0)"
Avatar billede store-morten Ekspert
23. juli 2015 - 15:33 #3
Mener det er sådan

Virker i Dansk og Engelsk version (Uden "Local" Engelsk formel med , )
Selection.Formula = "=INDEX(KPI,MATCH(C2,Typen,0),0)"


Virker kun i Dansk version (Med "Local" Dansk formel med ; )
Selection.FormulaLocal = "=INDEKS(KPI;SAMMENLIGN(C2;Typen;0);0)"


Virker kun i Engelsk version (Med "Local" Engelsk formel med , )
Selection.FormulaLocal = "=INDEX(KPI,MATCH(C2,Typen,0),0)"


Virker i Dansk og Engelsk version (Med "R1C1" Engelsk formel med , )
Og C2 skrives: R[0]C[-3]
R(0) = samme række. C(-3) = 3 kolonner til venstre fra formel-cellen
Selection.FormulaR1C1 = "=INDEX(KPI,MATCH(R[0]C[-3],Typen,0),0)"
Avatar billede KenneyD71 Nybegynder
23. juli 2015 - 15:58 #4
Tak skal i have begge to.
jeg prøvede mig frem og jeg hopper frem og tilbage på dansk og engelsk maskine, så "Local" driller mig.

Selection.FormulaR1C1 = "=INDEX(KPI,MATCH(R[0]C[-3],Typen,0),0)"

Blev løsningen.

Det du'r.

Tak for hjælpen Morten. Huske at hente dine point.
Avatar billede store-morten Ekspert
23. juli 2015 - 16:50 #5
Velbekomme :-)
Avatar billede store-morten Ekspert
28. juli 2015 - 15:18 #6
Virker i Dansk og Engelsk version (Uden "Local" Engelsk formel med , tekst sættes med ""x"")
ActiveCell.Formula = "=IF(AndelOverKPI<0.01,""J"",IF(AndelOverKPI<0.07,""K"",""L""))"
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