Keresés

Új hozzászólás Aktív témák

  • zsolti_20

    senior tag

    válasz Delila_1 #43106 üzenetére

    Ígérem mára az utolsó kérdés :C Van két excel fileom, az elsőben az A oszlopban lefelé vannak számok felsorolva, amik mellett a B oszlopban adat van megadva Pl 1 | a 2 | b stb...
    Itt van jó pár száz sor. A másik excel fileban van a több száz szám közül néhány, van amikor 5 de van amikor 20. Szeretném ezeket a számokat megkeresni az első excel fileban, és a megfelelő szám mellé a megfelelő értéket átmásolni, hogy ne nekem kelljen egyesével kikeresgélni.

    Sub VlookMultipleWorkbooks()
        Dim lookFor As Range
        Dim srchRange As Range
        Dim book1 As Workbook
        Dim book2 As Workbook
        Dim book2Name As String
        book2Name = "1.xlsx"    'modify it as per your requirement
        Dim book2NamePath As String
        book2NamePath = ThisWorkbook.Path & "\" & book2Name
        Set book1 = ThisWorkbook
        If IsOpen(book2Name) = False Then Workbooks.Open (book2NamePath)
        Set book2 = Workbooks(book2Name)
        Set lookFor = book1.Sheets(1).Cells(5, 1)   ' value to find
        Set srchRange = book2.Sheets(1).Range("A:B")    'source
        lookFor.Offset(0, 1).Value = Application.VLookup(lookFor, srchRange, 2, False)
    End Sub
    Function IsOpen(strWkbNm As String) As Boolean
        On Error Resume Next
        Dim wBook As Workbook
        Set wBook = Workbooks(strWkbNm)
        If wBook Is Nothing Then    'Not open
            IsOpen = False
            Set wBook = Nothing
            On Error GoTo 0
        Else
            IsOpen = True
            Set wBook = Nothing
            On Error GoTo 0
        End If
    End Function

    Ez a kód egész jó lenne, de a probléma az, hogy abba a sorba akarja beilleszteni az értéket ahonnan kimásolta előtte, de az adott szám nem a 68-ik sorban van hanem mondjuk a harmadikban.

    A másik probléma hogy csak egy értéket másol át de én az összeset szeretném egyszerre. :R

Új hozzászólás Aktív témák

Hirdetés