27. juni 2017 - 15:22Der er
4 kommentarer og 1 løsning
Indsæt formular via VBA til dynamisk LOPSLAG over i lukket fil
Hejsa,
Jeg sidder og kæmper med at lave et LOPSLAG over i en lukket fil via VBA.
Har LOPSLAG'et som fungerende formel i D-kolonnen, den ser ca. sådan her ud: =HVIS.FEJL(HVIS(C2="K";"--";HVIS(LOPSLAG(A2;'C:\Whatever\[Prisfil.xlsm]priser'!A:J;10;FALSK)=0;"Låst";"Åben"));"FEJL") - C-kolonnen kan have værdien "K" eller "O", hvis den er K skal der stå "--" i D. - Den returnerede værdi fra LOPSLAG'et kan være 0 eller 1, er den 0 skal der stå "Låst" i D og ellers "Åben".
Er kommet frem til at der er to muligheder, da det i sig selv er "umuligt" at lave et direkte opslag over i en lukket fil fra VBA, her er de: - Man kan via VBA åbne filen, lave LOPSLAG'et og så lukke filen igen. - Man kan alternativt via VBA indsætte formlen i D-kolonnen.
Jeg har prøvet begge dele og vil nu gerne indsætte formlen i D-kolonnen via VBA - men jeg kan simpelthen ikke få det til at virke. Koden kommer til at ligge i et For Each loop, der arbejder sig igennem en lang række ID'er i A-kolonnen.
Indtil videre har jeg lavet følgende, der ikke virker (Error 400): Range("D" & cr).Formula = "=HVIS.FEJL(HVIS(C" & cr & "=""K"";""--"";HVIS(LOPSLAG(A" & cr & ";'C:\Whatever\[Prisfil.xlsm]priser'!A:J;10;FALSK)=0;""Låst"";""Åben""));""FEJL"")" Her er cr en variabel, der angiver den nuværende rækkes nummer: "D" & cr = D1, D2, D3, osv efterhånden som løkken kører. Har prøvet med enkelt plinger ('), enkelt dobbelt plinger ("), samme resultat/lignende errors.
Har fået den til indsætte det (næsten) rigtigt ved at fjerne = fra formlen: "HVIS.FEJL(..." I stedet for "=HVIS.FEJL(..." Desværre ser den det jo så som tekst og ikke en formel i selve Excel arket. Hvordan løser man det?
Mange tak for dit svar, det lader til at det var det. Arbejder med en række større Excel filer, hvor Excel er på dansk - nogle andre steder i VBA jeg skal være opmærksom på noget tilsvarende/en tilsvarende inkompatibilitet mellem dansk/engelsk?
Okay, så hvis jeg skriver formlen på engelsk i VBA, burde det ikke være nødvendigt med FormulaLocal / så kan jeg "nøjes" med Formula? Og formlen kommer stadig til at virke på trods af at mit Excel er sat til dansk?
Synes godt om
Ny brugerNybegynder
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.