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