? 發問時間: 電腦與網際網路程式設計 · 9 年前

列的資料由小到大循列排列,如何寫程式?

大家好!我寫了一個猜測大樂透49選6的程式,請問當我隨機選出9組資料後,這幾列的資料我想由小到大循列排列,我使用的是Excel 2003,它僅可供3層的排序設定,請問這部份程式該如何寫?原始程式碼如下:

i = 2

While i <= 10

For j = 1 To 6 Step 1

Sheet1.Cells(i, j) = "= round(rand() *(48) +1,0)"

Next ji = i + 1

WendRange("A2:F10").Select

Selection.Copy

Range("A2").Select

Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _

:=False, Transpose:=False

Range("F15").Select

Application.CutCopyMode = False

謝謝大家!

已更新項目:

Kubi兄:

感謝您的意見,已經順利完成了,是否可以把你的意見放在解答上,以利小弟選為最佳解答,感謝您!

1 個解答

評分
  • Kubi
    Lv 5
    9 年前
    最佳解答

    再加入一個迴圈試看看。

    檔案下載:http://ge.tt/899gi18

    2011-09-24 22:14:15 補充:

    程式碼如下:

    i = 2

    While i <= 10

      For j = 1 To 6 Step 1

        Sheet1.Cells(i, j) = "= round(rand() *(48) +1,0)"

      Next j

      i = i + 1

    Wend

    Range("A2:F10").Select

    Selection.Copy

    Range("A2").Select

    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _

    :=False, Transpose:=False

    Range("F15").Select

    Application.CutCopyMode = False

    ' 增加底下迴圈以重排列的順次

    i = 2

    While i <= 10

      Range("A" & i & ":F" & i).Sort Key1:=Cells(i, 1), Orientation:=xlLeftToRight

      i = i + 1

    Wend

還有問題?馬上發問,尋求解答。