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

  • Delila_1

    Topikgazda

    válasz ben800 #36400 üzenetére

    Szia!

    Sub adatpotlas()
    Dim sor As Long, usor As Long, FN As String
    Const utvonal = "F:\Mappa1\" '******** 1 ********
    Dim Fotabla As Worksheet, WF As WorksheetFunction, talalt As Variant

    Set Fotabla = ActiveWorkbook.Sheets(1) '******** 2 ********
    Set WF = Application.WorksheetFunction

    FN = Dir(utvonal & "*.xlsx", vbNormal)
    Do While FN <> ""
    Workbooks.Open Filename:=utvonal & FN
    Sheets(1).Activate '******** 3 ********
    usor = Cells(Rows.Count, 2).End(xlUp).Row
    For sor = 2 To usor
    If WF.CountIf(Fotabla.Columns(4), Cells(sor, "B")) > 0 Then
    talalt = WF.Match(Cells(sor, 2), Fotabla.Columns(4), 0)
    If Cells(sor, "F") > "" Then
    Fotabla.Range("H" & talalt) = utvonal & " " & FN '******** 4 ********
    Fotabla.Range("I" & talalt) = Cells(sor, "F")
    End If
    End If
    Next

    ActiveWorkbook.Close False
    FN = Dir()
    Loop
    End Sub

    Az összesítő füzetben másold egy modulba a makrót.
    Csillagos sorok:
    1. a saját útvonaladat írd az "F:\Mappa1\" helyére
    2. ha az összesítő füzetnek nem az első lapjára kell a kigyűjtés, a zárójelbe a valós sorszámot-, vagy idézőjelek közé a lapnevet írd be Set Fotabla = ActiveWorkbook.Sheets("Munka1")
    3. a 2-es pont vonatkozik a megnyitott füzetekre is
    4. a H oszlopba most találat esetén a találat mappáját és füzetének a nevét írja. Ehelyett lehet Fotabla.Range("H" & talalt) = "Megvan"

    [ Szerkesztve ]

    Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.

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