這個用 VBA 解決較好, 示例參考(右擊"Sheet1"工作表標籤>>檢視程式碼>>鍵入下列程式碼>>按 F5 執行即可):
Sub RND5X5()
" 預置初始的 1-25
Range("G10:G34").Formula = "=row()-9"
Range("G10:G34").Value = Range("G10:G34").Value
Dim I%, J%, iRND%, iNum%
Randomize " 對隨機數生成器做初始化的動作。
For I = 1 To 5
For J = 1 To 5
iNum = Application.WorksheetFunction.CountA(Range("G10:G34"))
iRND = Int(iNum * Rnd) " 生成 0 到 iNum-1 之間的隨機數值。
Cells(I, J) = Range("G10").Offset(iRND, 0)
Range("G10").Offset(iRND, 0).EntireRow.Delete
Next
" 設定區域邊框及顏色
Range("A1:E5").Borders.LineStyle = xlDouble
Range("A1:E5").Interior.ColorIndex = 6
" 設定行高列寬
Cells.ColumnWidth = 3.57
Cells.RowHeight = 22.5
Range("A1").Select
End Sub
這個用 VBA 解決較好, 示例參考(右擊"Sheet1"工作表標籤>>檢視程式碼>>鍵入下列程式碼>>按 F5 執行即可):
Sub RND5X5()
" 預置初始的 1-25
Range("G10:G34").Formula = "=row()-9"
Range("G10:G34").Value = Range("G10:G34").Value
Dim I%, J%, iRND%, iNum%
Randomize " 對隨機數生成器做初始化的動作。
For I = 1 To 5
For J = 1 To 5
iNum = Application.WorksheetFunction.CountA(Range("G10:G34"))
iRND = Int(iNum * Rnd) " 生成 0 到 iNum-1 之間的隨機數值。
Cells(I, J) = Range("G10").Offset(iRND, 0)
Range("G10").Offset(iRND, 0).EntireRow.Delete
Next
Next
" 設定區域邊框及顏色
Range("A1:E5").Borders.LineStyle = xlDouble
Range("A1:E5").Interior.ColorIndex = 6
" 設定行高列寬
Cells.ColumnWidth = 3.57
Cells.RowHeight = 22.5
Range("A1").Select
End Sub