Avatar billede Nuser2008 Mester
16. september 2019 - 22:26 Der er 4 kommentarer

Input-værdi til formel

Hej Forum

Kan I hjælpe mig?

Jeg har behov for at kunne benytte en variabel værdi (indtastet i en input-box) til en vlookup-formel, hvor det er lookup_value, der er variablen:


Inputbox:
Dim myInputBoxVariable As Variant
myInputBox1 = Application.InputBox(Title:="Indtast første celle med HA navn", Prompt:="", Default:="")


Formel:
Range(Cells(2, NextCol), Cells(LastRow, NextCol)).Formula = "=IFERROR(VLOOKUP(myInputBox1,E:F,2,FALSE),"""")"


Problem:
Formlen indsættes som tekst i cellerne, ikke som en reel aktiv formel. Hvordan får jeg formlen til at blive aktiv? Så vidt jeg kan se, opstår fejlen ifm. myInputBox1, for når jeg bruger fx A2 som lookup_value, virker formlen. Så noget i min opbygning af input-værdien i formlen må være forkert… Men hvad?

På forhånd mange tak for jeres hjælp/svar.

Hilsen Arne
Avatar billede kim1a Ekspert
17. september 2019 - 09:17 #1
Din inputværdi tolkes jo som tekst og ikke en variabel fordi den er indenfor "

Så:
Range(Cells(2, NextCol), Cells(LastRow, NextCol)).Formula = "=IFERROR(VLOOKUP("&myInputBox&"1,E:F,2,FALSE),"""")"
Må være vejen frem.
Avatar billede store-morten Ekspert
17. september 2019 - 15:54 #2
Lille til retning:

"=IFERROR(VLOOKUP(" & myInputBox1 & ",E:F,2,FALSE),"""")"
Avatar billede Nuser2008 Mester
04. oktober 2019 - 17:04 #3
Hej

Tak for svar. Når jeg anvender følgende kode:


Sub Macro1()

Dim myInputBox1 As Variant
myInputBox1 = InputBox("Input")

Range("J3").Select
ActiveCell.FormulaR1C1 = _
"=IFERROR(VLOOKUP(" & myInputBox1 & ",E:F,2,FALSE),"""")"

End Sub


... er resultatet i celle J3 følgende:
=IFERROR(VLOOKUP('I3';E:(F);2;FALSE);"")

Der sættes ' ' rundt om min input-værdi (lookup_value).
Og der sættes en parentes rundt om anden del af table_array.

Når jeg i celle J3 fjerner ' ' og ( ), virker formlen. Så hvordan undgår jeg disse tegn i formlen?

På forhånd mange tak for svar.

Hilsen Arne
Avatar billede store-morten Ekspert
04. oktober 2019 - 18:07 #4
Slet: R1C1
Sub Macro1()

Dim myInputBox1 As Variant
myInputBox1 = InputBox("Input")

Range("J3").Select
ActiveCell.Formula = _
"=IFERROR(VLOOKUP(" & myInputBox1 & ",E:F,2,FALSE),"""")"

End Sub
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
Kategori
Kurser inden for grundlæggende programmering

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