Keresés

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

  • azopi74

    addikt

    válasz Carasc0 #27601 üzenetére

    Bár írtad, hogy Excel 2010, azért beteszek egy Excel 2016-os, makró mentes megoldást is , mert imádom :)
    (Excel 2010-ben is működőképes, csak fel kell tenned a PowerQuery add-in-t.)

    ALakítsd táblává (Table1) a forrás oszlopot. és B1-be szúrd be ezt a query-t (Advanced Editor):

    let
    Source = Excel.CurrentWorkbook(){[Name="Table1"]}[Content],

    #"Added Custom" = Table.AddColumn(Source, "Custom", each List.Random(1)),
    #"Expanded Custom" = Table.ExpandListColumn(#"Added Custom", "Custom"),
    #"Sorted Rows" = Table.Sort(#"Expanded Custom",{{"Custom", Order.Ascending}}),
    #"Removed Columns" = Table.RemoveColumns(#"Sorted Rows",{"Custom"})
    in
    #"Removed Columns"

    Természetesen a fenti a sima query editorban előállítható négy egérkattintással ;)

    [link]

    Ja, azt elfelejtettem írni: refresh-re kalkulálja újra a kevert oszlopot. (jobb egér - refresh, vagy magyarban frissítés)

  • Delila_1

    veterán

    válasz Carasc0 #27601 üzenetére

    A makró átmásolja az A1:A9 tartományt a B1:B9-be. Véletlenszámokat ír a C1:C9-be, ami szerint rendezi a B oszlopot, majd törli az ideiglenes C-t.
    A rendezést makrórögzítéssel vittem be.

    Sub Kever()
    Dim sor As Integer

    Range("A1:A9").Copy Range("B1")

    For sor = 1 To 9
    Cells(sor, "C") = "=RAND()"
    Cells(sor, "C") = Cells(sor, "C").Value
    Next

    ActiveWorkbook.Worksheets("Munka1").Sort.SortFields.Clear
    ActiveWorkbook.Worksheets("Munka1").Sort.SortFields.Add Key:=Range("C1:C9"), _
    SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
    With ActiveWorkbook.Worksheets("Munka1").Sort
    .SetRange Range("B1:C9")
    .Header = xlGuess
    .MatchCase = False
    .Orientation = xlTopToBottom
    .SortMethod = xlPinYin
    .Apply
    End With

    Range("C1:C9").ClearContents
    End Sub

    Betehetsz egy képernyőfrissítés tiltását az elejére, hogy ne látsszanak a véletlenek, a végén pedig engedélyezed.

    Application.ScreenUpdating=False

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