Avatar billede lmg Nybegynder
08. august 2012 - 21:31 Der er 9 kommentarer og
1 løsning

Hvordan laver jeg dette lopslag i VBA?

Hej.

Jeg er nybegynder i programmering, og jeg håber at en vil hjælpe mig.
Jeg vil gerne lave et Lopslag i vba der ser sådan ud.
LOPSLAG(A1;AG4:AI15;3;FALSK))

Hvordan programmere jeg det i VBA?
Avatar billede supertekst Ekspert
08. august 2012 - 22:55 #1
Er det som en brugerdefineret funktion - eller tilsvarende VBA-funktion?

og så velkommen til Eksperten...
Avatar billede store-morten Ekspert
08. august 2012 - 22:57 #2
Sub LOPSLAG()
MsgBox Evaluate("VLookup(A1,AG4:AI15,3,False)")
End Sub
Avatar billede store-morten Ekspert
08. august 2012 - 23:02 #3
Sub LOPSLAG2()
LS = Evaluate("VLookup(A1,AG4:AI15,3,False)")
Range("B1") = LS
End Sub
Avatar billede lmg Nybegynder
09. august 2012 - 07:54 #4
Hej.

Det gik hurtigt med at få et svar dejligt :-)
Jeg skal bruge resultat fra lopslaget som en del af en større beregning.
Eksempel: 2 + 4 + lopslag - 3.
Avatar billede store-morten Ekspert
09. august 2012 - 09:54 #5
Hej

Det var ikke mange oplysninger!!!
2 + 4 + lopslag - 3 kan jo lige så godt være
3 + lopslag

Hvor kommer 2, 4 og 3 fra?
Og hvor eller hvordan skal resultatet bruges?

Tal og resultat i celler B1:
Sub LOPSLAG3()
LS = Evaluate("VLookup(A1,AG4:AI15,3,False)")
Range("B1") = 2 + 4 + LS - 3
End Sub

Kunne lige så skrives:

Sub LOPSLAG3()
LS = Evaluate("VLookup(A1,AG4:AI15,3,False)")
Range("B1") = 3 + LS
End Sub

Hvis 2, 4 og -3 kommer fra en celle:

Fra celler og resultat i celler B1:
Sub LOPSLAG4()
LS = Evaluate("VLookup(A1,AG4:AI15,3,False)")
Range("B1") = Range("A2") + Range("A3") + LS - Range("A4")
End Sub

Tal og Msgbox:
Sub LOPSLAG5()
LS = Evaluate("VLookup(A1,AG4:AI15,3,False)")
RS = 2 + 4 + LS - 3
MsgBox "2 + 4 + " & LS & " - 3 = " & RS
End Sub

Fra celler og til Msgbox:
Sub LOPSLAG6()
LS = Evaluate("VLookup(A1,AG4:AI15,3,False)")
RS = Range("A2") + Range("A3") + LS - Range("A4")
MsgBox Range("A2") & " + " & Range("A3") & " + " & LS & " - " & Range("A4") & " = " & RS
End Sub

Fra celler og resultat i celler B1:
Sub LOPSLAG7()
LS = Evaluate("VLookup(A1,AG4:AI15,3,False)")
RS = Range("A2") + Range("A3") + LS - Range("A4")
Range("B1") = RS
End Sub
Avatar billede lmg Nybegynder
09. august 2012 - 11:33 #6
Hej.

Jeg kan godt se at jeg ikke har udtrykt mig tydeligt.

De tal jeg skrev 2+4-3 er bare ment som et eksempel. I vba vil de komme fra et Excel Ark.
De er variable der afhænger af valg der bliver lavet i excel, bla hvilken måned og person man vil se på.
Jeg har brug for den værdi lopslaget giver, for at regne resultatet færdigt.

Leg skal lave flere opslag,derfor håbede jeg på at have en standard skabalon jeg kunne bruge.
Jeg håber at det hjælper.
Avatar billede store-morten Ekspert
09. august 2012 - 15:52 #7
Har du afprøvet Sub LOPSLAG3() til Sub LOPSLAG6()

F.eks.

Fra celler og resultat i celler B1:

Sub LOPSLAG7()
'LS = LOPSLAG
LS = Evaluate("VLookup(A1,AG4:AI15,3,False)")

'RS = Resultat, A2 + A3 + LOPSLAG - A4
RS = Range("A2") + Range("A3") + LS - Range("A4")

'Resultat skrives i B1
Range("B1") = RS

End Sub
Avatar billede lmg Nybegynder
09. august 2012 - 16:11 #8
Hej.

Jeg har fået løsning 4 til at virke, mange mange tak.
Avatar billede store-morten Ekspert
09. august 2012 - 16:24 #9
Det var godt.

4 og 7 er stort set ens:

Sub LOPSLAG4()
'LS = LOPSLAG
LS = Evaluate("VLookup(A1,AG4:AI15,3,False)")

Resultat, B1 = A2 + A3 + LOPSLAG - A4
Range("B1") = Range("A2") + Range("A3") + LS - Range("A4")

End Sub
Avatar billede lmg Nybegynder
10. august 2012 - 22:02 #10
Hej.

Jeg valgte nummer 4 fordi den forstod jeg bedst.

Mange  tak for hjælpen :-)
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