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

  • m.zmrzlina

    senior tag

    Adott egy több sorból és oszlopból álló input tartomány. A tartomány határait (bal felső cella-jobb alsó cella) a felhasználótól kell bekérni. Az input tartomány minden (nem üres) celláját meg kell vizsgálni és ha a cella értéke még nem szerepel egy listában akkor hozzá kell adni a listához. A listát a felhasználó által kívánt helyre kell kitenni. A kívánt eredmény az M oszlopban látható.

    A beépített Advanced filter "Copy to another location" Unique records only kapcsolóval azért nem jó mert itt csak az számít unique record-nak amikor két (vagy több) sor minden egyes cellája egyezik. (G1:K4)

    Ezt sikerült kiötleni:

    Sub kivalogat()

    Dim honnanvegye As String
    Dim hovategye As String
    Dim holavege As Integer
    holavege = 1

    honnanvegye = InputBox("Add meg a vizsgálandó tartományt!")
    hovategye = InputBox("Add meg az eredmény helyét!")

    Set honnan = Range(honnanvegye)
    Set hova = Range(hovategye)

    For Each cella In honnan

    If cella.Value <> "" Then
    If Application.WorksheetFunction.CountIf(hova, cella.Value) = 0 Then
    Cells(holavege, hova.Column).Value = cella.Value
    holavege = holavege + 1
    End If
    End If

    Next

    End Sub

    Az a gondom, hogy elég macerás az inputboxba begépelgetni a tartományok határait, sok helyen lehet téveszteni stb stb...

    Kérdésem, hogy van-e módszer arra, hogy úgy kérjük be az input output tartományok határait, hogy a felhasználó egérrel jelölje ki?

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