在excel中不包含一些單元格數(shù)值的隨機數(shù)方法
在excel中不包含一些單元格數(shù)值的隨機數(shù)方法
excel是辦公尤其是處理數(shù)據(jù)的一個好幫手,他能給需要進行各類數(shù)據(jù)處理提供很強大的支持,這是我在工作中遇到的一個問題,是這樣的,比如有兩個單元格有固定值,而另外還有一個單元格需要取隨機數(shù),但又要求不要和那兩個有固定值得單元格重復。如何取呢?隨機函數(shù)?rand()和randbetween()都可以,但是一時間還真想不出滿足要求的寫法。于是我想用VBA編寫也許更簡單。于是就有了下文。
在excel中不包含一些單元格數(shù)值的隨機數(shù)方法
這里為了方便驗證,我們將隨機數(shù)值盡量取小一點,如果你要大一些的隨機數(shù),可以修改程序。
設(shè)在D1單元格里取隨機數(shù)(1——5之間),A1、B1單元格為有固定數(shù)值的單元格,當然數(shù)值范圍也在1——5直接,否則毫無意義。
要編寫VBA,首先就要打開VBA,打開VBA的方法不止一種,這里我們就使用最簡單最快捷的方式,使用快捷鍵吧。按“Alt+F11”打開VBA窗口。VBA窗口右側(cè)子窗口就是輸入代碼用的。
輸入代碼,如下:
Public Sub btsj()Dim sjd As Range Set sjd = Range("D1")line1: sjd.ClearContents Randomize sjd = Int(Rnd * 5 + 1) If sjd = Range("A1") Or sjd = Range("B1") ThenGoTo line1End IfEnd Sub
完成后就可以試運行并保存,運行是那個小三角,好像播放圖標一樣的,保存的圖標不用多說。點擊小三角圖標后可能會彈出一個窗口,再點擊運行即可。
為了快速驗證,我們可以給宏加上快捷鍵,如圖所示,這里我們給它設(shè)置快捷鍵“Ctrl+s”,現(xiàn)在我們只要按Ctrl+s就可以快速運行該宏/程序了。
注意事項
編寫VBA程序的時候要細心,如果有錯誤提示,需要理性分析,耐心檢查。
以上就是在excel中不包含一些單元格數(shù)值的隨機數(shù)方法介紹,大家學會了嗎?希望能對大家有所幫助!