excel是辦公尤其是處理數(shù)據(jù)的一個好幫手,他能給需要進(jìn)行各類數(shù)據(jù)處理提供很強大的支持,這是我在工作中遇到的一個問題,是這樣的,比如有兩個單元格有固定值,而另外還有一個單元格需要取隨機(jī)數(shù),但又要求不要和那兩個有固定值得單元格重復(fù)。如何取呢?隨機(jī)函數(shù)?rand()和randbetween()都可以,但是一時間還真想不出滿足要求的寫法。于是我想用VBA編寫也許更簡單。于是就有了下文。
工具/原料
硬件:滿足允許要求的電腦
軟件:Office excel(我這里用的是Excel 2013版)
方法/步驟
這里為了方便驗證,我們將隨機(jī)數(shù)值盡量取小一點,如果你要大一些的隨機(jī)數(shù),可以修改程序。
設(shè)在D1單元格里取隨機(jī)數(shù)(1——5之間),A1、B1單元格為有固定數(shù)值的單元格,當(dāng)然數(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

完成后就可以試運行并保存,運行是那個小三角,好像播放圖標(biāo)一樣的,保存的圖標(biāo)不用多說。點擊小三角圖標(biāo)后可能會彈出一個窗口,再點擊運行即可。

為了快速驗證,我們可以給宏加上快捷鍵,如圖所示,這里我們給它設(shè)置快捷鍵“Ctrl+s”,現(xiàn)在我們只要按Ctrl+s就可以快速運行該宏/程序了。


注意事項
新聞熱點
疑難解答
圖片精選