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

  • Oly

    őstag

    válasz Delila_1 #32456 üzenetére

    Szia

    Tovább gondoltam az általad vázolt megoldás.

    Ez lett belőle:
    Dim usor As Long, sor As Long, hova As Long, hol, WF As WorksheetFunction
    Set WF = Application.WorksheetFunction

    'tegnap volt, de ma nincs
    usor = WF.CountA(Columns(1))
    For sor = 2 To usor
    hova = WF.CountA(Columns(11)) + 1
    hol = Application.Match(Cells(sor, "A") & Cells(sor, "B"), Range("N:N"), 0)
    If VarType(hol) = vbError Then
    Range("A" & sor & ":B" & sor).Copy Range("K" & hova)
    Cells(hova, "M") = 0
    On Error GoTo 0
    End If
    Next

    'változók listája tegnaphoz képest
    usor = WF.CountA(Columns(11))
    For sor = 2 To usor
    hova = WF.CountA(Columns(7)) + 1
    hol = Application.Match(Cells(sor, "K") & Cells(sor, "L") & Cells(sor, "M"), Range("E:E"), 0)
    If VarType(hol) = vbError Then
    Range("K" & sor).Copy Range("G" & hova)
    End If
    Next

    'nem változott tételek törlése a mai listában
    usor = WF.CountA(Columns(11))
    For sor = 2 To usor
    hol = Application.Match(Cells(sor, "K"), Range("G:G"), 0)
    If VarType(hol) = vbError Then
    Range("K" & sor & ":O" & sor).Value = ""
    End If
    Next

    Az a kérdésem, hogy a Match-ben a Lookup_array Range-re tudok valahogy dinamikusan hivatkozni, mint ahogy a Lookup_value-nál tettem?
    Ez azért lenne fontos, hogy ne kelljen kiegészítő oszlopot létrehozni a táblák mellett.

    Előre is köszi, oly

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