Excel VBA 之 隨機抽取數據(續集)

上一期我講了一種隨機抽取數據的方法,利用集合和隨機函數Rnd實現。這一期我接著講另一種隨機抽取數據的方法,利用Excel自帶排序和隨機函數Rnd實現

Rnd函數上一期已經介紹過了,忘記的同學可以重新看一下上期內容

同樣,有一批數據

Excel VBA 之 隨機抽取數據(續集)

源數據

首先,做一些準備工作,清除數據等等

<code>Dim mR&
[A:A].ClearContents/<code>

接下來,將Sheet1的源數據複製到當前Sheet

<code>Sheets(1).UsedRange.Copy [A1]/<code>

然後,在B列填上隨機數

<code>mR = [A65536].End(xlUp).Row
For i = 1 To mR
Randomize
Cells(i, 2) = Rnd
Next/<code>

隨後,對B列隨機數進行排序,正序倒序都行,我這裡使用正序(從小到大)排列

<code>[A1].CurrentRegion.Sort [B1], xlTopToBottom/<code>

排完序後,就可以清空B列了,因為B列數據只是起到了輔助作用

最後,根據我們要抽取的數據數量來刪掉多餘的數據

<code>Range(NUM + 1 & ":" & mR).ClearContents/<code>

這樣,代碼就差不多完成了,讓我們看一下效果

Excel VBA 之 隨機抽取數據(續集)

最終效果

全部代碼如圖:

Excel VBA 之 隨機抽取數據(續集)

代碼全貌

好了,利用Excel VBA隨機抽取數據就講到這裡了

大家點擊下面鏈接可以查看我的其他文章哦!

。。。

喜歡的朋友記得點贊、轉發、關注哦,大家如果在Excel中遇到問題都可以找我交流,也可以在評論區或私信告訴我你想看到的VBA辦公教程,我將在下期分享給大家,以後不定期更新Excel VBA技巧!


分享到:


相關文章: