當前位置:成語大全網 - 新華字典 - VBA隨機固定刷新?

VBA隨機固定刷新?

第壹步:勾選引用:

打開VBA編輯器,點頂部的:

工具---引用---勾選Microsoft Scripting Runtime

壹切要勾選,否則下面的代碼不能運行。

第二步:代碼:

Sub 隨機順序()

Dim dic As New Dictionary, i&, irow&, k&, arr

irow = Range("A" & Rows.Count).End(3).Row

If irow < 2 Then Exit Sub '數據不夠2個,則退出

arr = Range("A1:A" & irow)

Columns("A").ClearContents '清空A列

For i = 1 To UBound(arr)

If arr(i, 1) <> "" Then dic(i) = arr(i, 1) '把非空值寫入字典

Next

For i = 1 To irow

k = Int(Rnd * dic.Count) '隨機數字

Range("A" & i) = dic.Items(k) '輸出被抽中的數據

dic.Remove dic.keys(k) '從字典中剔除已輸出過的數據

If dic.Count = 0 Then Exit Sub '如果已抽完,則退出

Next

End Sub