Hej! Prova med ett steg mer komplicerat i taget. Prova med en formel, typ "=""test""" Hej! Bara en chansning, skall det inte vara en egenskap som heter Formula eller FormulaR1C1 istället för value? Naturligtvis borde det vara Formula (inte R1C1, då måste man byta formelns utseende). Anledningen till att ";" inte funkar kan ha att göra med vilket språk du använder. Hej! Nix. Det funkar kalas på din dator. Inte på en med en annan språkinställning - det är just det "local" ser till. Bättre att använda bara "Formula" och skriva den rätt!Fel vid försök att skicka formel från access till Excel
Jag försöker skicka en formel från access till en cell i excel.
Formeln ser ut som följer:
=SUMIF(D19:D48;"*test*";J19:J48)
(Dvs att om ett fält inom området D19:D48 innehåller ordet "test" så ska värdet i J-kolumnen summeras)
Så här ser access koden ut
Set sheet = book.Worksheets("MySheet")
formulaStr = "=SUMIF(D19:D48;""*test"";J19:J48)"
sheet.range("J9").Value = formulaStr '- > Här kommer felet
Jag får felmeddelandet "Application defined or Object Defined error"
Försöker jag däremot skicka en enklare formel utan fnuttar, "*" eller ";" i, tex "=SUM(K19:K58)" så funkar det bra så det är något med just den formeln jag försöker skicka som orsakar felet.
Jag har provat att ersätta fnuttar, "*" och ";" med chr() och dess nummer utan framgång.
Har även provat att helt ta bort "*" från formeln bara för att avgränsa orsaken till felet men det verkar inte vara den som orsakar fel.
Är det någon som ser vad som orsakar felet och kanske har ett tips på lösning?
Mvh,
Sofia
PS. Anledningen till att jag sätter formeln från access är att den är dynamisk, den ska peka på olika celler beroende på olika förutsättningar.
DS.Sv: Fel vid försök att skicka formel från access till Excel
Då ser du om det är citationstecken, osv.
Det skulle kunna vara språkinställningarna som gör att du inte kan använda ";", t.ex. Sv:Fel vid försök att skicka formel från access till Excel
Det skulle kunna vara ";" då det inte funkar med en annan formel innehållande ";" heller.
Å andra sidan, om jag bara tar bort ";" från min formel så får jag fel ändå. Visserligen blir ju formeln felaktig då, då ";" måste ingå i SUMIF(). Vet inte när excelformeln valideras, om det kan vara för att formeln är felaktig som felet kommer nu.
Om jag tar bort "="-tecknet först i strängen, som då blir
formulaStr = "SUMIF(D19:D48;""*test*"";J19:J48)"
så funkar det, men då blir det ju ingen formela av det hela istället.....
Jag har provat att köra debug.print på variabeln formulaStr och klistra resultatet rakt in i excel och det är en korrekt formel så det är inte så att formeln blir felaktig och excel protesterar.
Någon idé, någon?
Mvh,
SofiaSv: Fel vid försök att skicka formel från access till Excel
Sv: Fel vid försök att skicka formel från access till Excel
Att bara ta bort ; funkar så klart inte. Däremot borde det funka om du byter ut ";" mot ",".Sv:Fel vid försök att skicka formel från access till Excel
Kom på det samtidigt som ni :-)
Det ska vara .FormulaLocal, då funkar allt kalas utan ytterligare ändringar!
Tack!
SOfiaSv: Fel vid försök att skicka formel från access till Excel