Avatar billede KenneyD71 Nybegynder
28. juli 2015 - 12:41 Der er 5 kommentarer og
1 løsning

VBA: Expected end of statement ved ""

Jeg har en sub med en formel der falder for Expected end of statement.

Den Danske version ser sådan ud, når jeg sætter den ind i excel manuelt, men når jeg kører SUB, hvordan skal den så se ud?

Sub Udfyld_Niveau()

Dim AlfaCell010 As Variant
Dim Alfacellcol010 As Integer
Dim BravoCell010 As Variant
Dim Bravocellcol010 As Integer
Dim Offsetcount010 As Integer
Dim CharlieCell010 As Variant
Dim SourceRange010 As Variant
Dim FillRange010 As Variant



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

Set SourceRange010 = ActiveCell.Offset(1, 0)

ActiveCell.Offset(1, 0).Activate

AlfaCell010 = ActiveCell.Address
Alfacellcol010 = ActiveCell.Column



''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'Det er her den fejler:
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
ActiveCell.Formula = "=HVIS(AndelOverKPI<0,1;"J";HVIS(AndelOverKPI<0,7;"K";"L"))"




Range("A1").Select
Selection.End(xlDown).Select


BravoCell010 = ActiveCell.Address
Bravocellcol010 = ActiveCell.Column
Offsetcount010 = Alfacellcol010 - Bravocellcol010



CharlieCell010 = ActiveCell.Offset(0, Offsetcount010).Address

    Set FillRange010 = ActiveSheet.Range(AlfaCell010, CharlieCell010)
   
    SourceRange010.AutoFill Destination:=FillRange010

End Sub
Avatar billede lordnelson Seniormester
28. juli 2015 - 13:10 #1
Satser på dine anførselstegn " i koden altså den inde i hvis sætningen skal skiftes ud til '
Avatar billede bak Seniormester
28. juli 2015 - 13:14 #2
du kan ændre linien til dette

ActiveCell.FormulaR1C1 = "=IF(AndelOverKPI<0.1,""J"",IF(AndelOverKPI<0.7,""K"",""L""))"
Avatar billede KenneyD71 Nybegynder
28. juli 2015 - 14:20 #3
Tak for dette, bak.
Så løsningen var at formulere det på engelsk og bruge ""x"".
Det virker ikke helt logisk på mig, men bare det du'r.

Send lige et svar.

Sub Udfyld_Niveau()

Dim AlfaCell010 As Variant
Dim Alfacellcol010 As Integer
Dim BravoCell010 As Variant
Dim Bravocellcol010 As Integer
Dim Offsetcount010 As Integer
Dim CharlieCell010 As Variant
Dim SourceRange010 As Variant
Dim FillRange010 As Variant



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

Set SourceRange010 = ActiveCell.Offset(1, 0)

ActiveCell.Offset(1, 0).Activate

AlfaCell010 = ActiveCell.Address
Alfacellcol010 = ActiveCell.Column


ActiveCell.Formula = "=IF(AndelOverKPI<0.01,""J"",IF(AndelOverKPI<0.07,""K"",""L""))"

Range("A1").Select
Selection.End(xlDown).Select


BravoCell010 = ActiveCell.Address
Bravocellcol010 = ActiveCell.Column
Offsetcount010 = Alfacellcol010 - Bravocellcol010



CharlieCell010 = ActiveCell.Offset(0, Offsetcount010).Address

    Set FillRange010 = ActiveSheet.Range(AlfaCell010, CharlieCell010)
   
    SourceRange010.AutoFill Destination:=FillRange010

End Sub
Avatar billede store-morten Ekspert
28. juli 2015 - 15:22 #4
Avatar billede KenneyD71 Nybegynder
28. juli 2015 - 17:05 #5
Damn. Jeg ved ikke lige hvorfor jeg har stirret mig blind på, at jeg ikke allerede havde en løsning.
God hukommelse iøvrigt. :-)
Avatar billede bak Seniormester
28. juli 2015 - 20:54 #6
Du kunne også have skrevet formlen på dansk, men så skulle du bruge ActiveCell.FormulaLocal
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