Avatar billede splokit Nybegynder
16. juni 2006 - 09:37 Der er 9 kommentarer og
1 løsning

lopslag til vb

jeg vil have en macro til at lave lopslag!!

=LOPSLAG(C3;[test.xls]test!$A$2:$K$114;10)

en lille kode så jeg kan kalde den og lave flere af dem!!
Avatar billede jkrons Professor
16. juni 2006 - 14:26 #1
Menerdu agt makroen skal indsætte formlen? - eller skal den udføre opslaget?
Avatar billede splokit Nybegynder
16. juni 2006 - 14:50 #2
mener en vb kode som skal gøre som den formel Lopslag
Avatar billede jkrons Professor
16. juni 2006 - 15:08 #3
Hvordan forestiller du dig, at den skal virke? Skal den sætte resultatet ind i en celle? Hvor skal input til opslaget komme fra - hardcodet i VBA makroen eller?

Hvis funktionen skal kunne bruge variabelt input - så er det præcis det, som LOPSLAG gør i forvejen.
Avatar billede splokit Nybegynder
19. juni 2006 - 11:32 #4
Som denne her men den virker bare ikke
Dim opslagsVærdi
Const slåOpFil = "d:\Eksperten\Splokit_2203\cha.xls"  'tilrettes!!!
Dim xls As Object
Private Sub CommandButton1_Click()
Dim ræk, kol, returkolonne
    opslagsVærdi = Cells(18, 3)
    returkolonne = 6
   
    resultat = Lopslag(returkolonne)
    If resultat <> -1 Then
        MsgBox ("Opslagsresultat: " + CStr(resultat))
    Else
        MsgBox ("Opslag lykkedes ikke")
    End If
    xls.Quit
   
    Set xls = Nothing
End Sub
Private Function Lopslag(returK)
    Set xls = CreateObject("excel.application")
   
    With xls
        .Workbooks.Open slåOpFil
        .ActiveWorkbook.Sheets("Ark1").Activate

        For ræk = 2 To 100
            If .Cells(ræk, 1) = opslagsVærdi Then
                Lopslag = .Cells(ræk, returK)
                Exit Function
            End If
        Next ræk
   
    End With
    Lopslag = -1
End Function
Avatar billede mrjh Novice
19. juni 2006 - 18:52 #5
Det ser ud som om at du mangler et argument til din Lopslag function:
Prøv med:
Private Function Lopslag(opslagsVærdi, returK)
og i din sub
returK = 6 (i stedet for returkolonne)
resultat = Lopslag(opslagsVærdi, returK)
Avatar billede splokit Nybegynder
20. juni 2006 - 12:17 #6
Sådan her ik!? Men den laver fejl i ".Workbooks.Open slåOpFil"

Dim opslagsVærdi
Const slåOpFil = "G:\DOKUMENTER\K\N\cha\cha.xls"
Dim xls As Object
Private Sub CommandButton1_Click()
Dim ræk, kol, returkolonne
    opslagsVærdi = Cells(18, 3)
    returK = 6
    resultat = Lopslag(opslagsVærdi, returK)
   
    If resultat <> -1 Then
        MsgBox ("Opslagsresultat: " + CStr(resultat))
    Else
        MsgBox ("Opslag lykkedes ikke")
    End If
    xls.Quit
   
    Set xls = Nothing
End Sub
Private Function Lopslag(opslagsVærdi, returK)
    Set xls = CreateObject("excel.application")
   
    With xls
        .Workbooks.Open slåOpFil
        .ActiveWorkbook.Sheets("1").Activate

        For ræk = 2 To 100
            If .Cells(ræk, 1) = opslagsVærdi Then
                Lopslag = .Cells(ræk, returK)
                Exit Function
            End If
        Next ræk
   
    End With
    Lopslag = -1
End Function
Avatar billede mrjh Novice
20. juni 2006 - 12:24 #7
Prøv også at lægge den ind som argument i din funktion. Altså:
Private Function Lopslag(opslagsVærdi, returK, slåOpFil)
og i din sub: resultat = Lopslag(opslagsVærdi, returK, slåOpFil)
Avatar billede splokit Nybegynder
21. juni 2006 - 12:50 #8
den laver ingen fejl men den laver så heller ikke noget!?

Kan det laves så den på "T.xls" Ark "1" hvis "C3:C62" = værdi søg på "G:\DOKUMENTER\K\N\cha\cha.xls" ark "Char" "A:A" Hvis den findes retuner værdien fra "H:H" I "F3:F62" på "T.xls" Ark "1" det skal gøres ud for hver celle i "C2:C62"

Så hvis C15 = test og på Cha.xls/char/A49=Test Retuner H49 Til T.xls/1"F15"
Avatar billede splokit Nybegynder
21. juni 2006 - 12:52 #9
der vil self være flere points til den som løser det!!!
+ 200
Avatar billede splokit Nybegynder
30. juni 2006 - 09:51 #10
Humm..
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
Excel kurser for alle niveauer og behov – find det kursus, der passer til dig

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