Keresés

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

  • FehérHolló

    veterán

    válasz Delila_1 #3620 üzenetére

    Viszonylag sokat keresgéltem tegnap, végül ez volt az a sok közül, ami némiképp megfelelne a célnak:

    Sub SortAllRangeData()
    ' Place column header for temporary sort area.
    Range("IV1").Value = "Numbers"

    ' Move numbers to temporary sort location.
    For Each cell In Selection
    Range("iv65536").End(xlUp).Offset(1, 0) = cell.Value
    Next cell

    ' Sort numbers in ascending order.
    Range("IV1", Range("IV1").End(xlDown)).Sort Key1:=Range("IV2"), _
    Order1:=xlAscending, Header:=xlGuess, _
    OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom

    ' Move sorted data back to original sheet location.

    Selection(1, 1).Activate ' Make sure the ActiveCell is the
    ' top left of Selection first.
    CCnt = Selection.Columns.Count
    RCnt = Selection.Rows.Count
    CellCnt = Selection.Cells.Count
    Tcell = 2
    For c = 1 To CCnt
    For r = 1 To RCnt
    Range(ActiveCell.Address).Offset(r - 1, c - 1).Value = _
    Range("iv" & Tcell).Value
    Tcell = Tcell + 1
    Next r
    Next c

    ' Clean up temporary sort location.
    Range("IV1", Range("IV1").End(xlDown)).Clear
    End Sub

    Ez viszont túl sok idő, mire lefut. A cél a kezelés kényelmesebbé tétele lenne, nem az, hogy akárhányszor hozzá van adva egy adat, mindig lefusson egy ilyen és rabolja az időt. Inkább a végén megcsinálom manuálisan a sorba rendezést mielőtt mentem.

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