06. december 2012 - 16:12Der er
3 kommentarer og 1 løsning
inputbox til sti på fil samt reference til resultatet
Jeg har i en VBA brug for at lave et opslag i en anden fil. Jeg har fundet ud af at min variabel kan defineres via: sti_til_fil = Application.GetOpenFilename giver mulighed for at vælge den.
Mindre udfordring 1 er så hvordan gør jeg brugeren opmærksom på hvad der skal vælges? (kan jeg sætte det i en inputbox?)
Større udfordring (og heraf overskriften): Hvordan bruger jeg resultatet i en vlookup via VBA?
Jeg har nuværende: ActiveCell.FormulaR1C1 = "=VLOOKUP(RC[-9]," & sti_til_fil & "Master'!$A$3:$N$9999,10,FALSE)" men den melder fejl. Er det min henvisning til fanebladet master der går galt?
Normalvis (I Excel) ville formlen skulle se således ud: =Vlookup(A4;'sti_til_fil[filnavn]Master'!$A$3:$N$9999,10,FALSE)
De3t er sandsynligvis blot det lille ' der mangler i starten af stien. Prøv evt. med ActiveCell.FormulaR1C1 = "=VLOOKUP(RC[-9],"'" & sti_til_fil & "Master'!$A$3:$N$9999,10,FALSE)"
Glem lige mit første svar. Der skal mere til. Navnet på excel filen hvor Master arket ligger skal omkranses af [filnavn] og området skal skrives som R3C1:R9999C14.
Nedenstående kode kan løse dit problem:
sti_til_fil = Application.GetOpenFilename i = 1 Do Until InStr(i, sti_til_fil, "\") = 0 i = InStr(i, sti_til_fil, "\") + 1 Loop i = i - 1 Filename = Left(sti_til_fil, i) & "[" & Right(sti_til_fil, Len(sti_til_fil) - i) & "]"
Jeps - det løste min udfordring. Bare så jeg forstår korrekt. Din i variabel er blot et tal som tæller bogstaver for at finde hvornår selve filnavnet starter ikke?
Jo, løkken leder efter den sidste forekomst af karakteren "\" som jo står lige før selve filnavnet. Derefter ved jeg hvor jeg skal indsætte karakteren "["
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.