Q&A
解決済み

【Excel】VBAを利用した行のシャッフルを教えてください🙏

Yurane
Yuraneさん
レギュラー

Y. Daemonさんのコメント

iPhone XR(mineo(au)) medal ベストアンサー獲得数 35 件

excelsort.png

こんにちは😊

こんなのでどうですか?
私はExcelに慣れていないので、もっと良い方法はあると思います。

CommandButton1 を設置して、クリックしたときの処理です。

Private Sub CommandButton1_Click()

'何行目まであるか取得します
Dim n As Integer
n = Cells(Rows.Count, 1).End(xlUp).Row

'C列に1行追加します
Range("C1").EntireColumn.Insert xlShiftToRight

'C列に乱数を入れます
Dim i As Integer
For i = 2 To n
Range("C" & i) = "=Rand()"
Next i

'C列をキーにして並び替えます。先頭行は見出し扱いにします
Range("A2", "C" & n).EntireColumn.Sort Key1:=Range("C2", "C" & n), Header:=xlYes

'並び替え乱数に使ったC列を削除します
Range("C1").EntireColumn.Delete

End Sub
  • 2