平淡

啟動Excel后在A列中輸入檢查人員的姓名,在B2單元格中輸入公式“=RANDBETWEEN(1,10)”并下拉(區間數字請根據人員的數量進行修改,比如有50個人就設置為1,5 0),該公式表示使用RANDBETWEEN函數隨機生成1-10之間的整數。由于每次生成的都是隨機數字,因此當A列中的數據以這個隨機數字作為排序的依據時,每次的排序結果都不相同(圖2)。
接下來登錄“http://dwz.win/QkX”并下載所需的VBA腳本(提取碼:x5r3),下載完后返回Excel,按下“Alt+F11”組合鍵打開VBA窗口,依次點擊“插入→模塊”,將下載到的腳本復制到該窗口。大家要根據實際情況修改代碼,比如“Fori=9To2Step-1”,表示對A9到A2單元格中的數據進行遍歷,步長是“-1”,這樣會依次從A9單元格一直循環顯示到A2單元格,最終顯示A2單元格中的數值。如果A列中的數據更多,就需要更改這里的數字。Rows(2).Delete表示刪除第二行的數值,這樣每運行一次腳本就會將該行所顯示的數值刪除,可以保證不重復顯示。如果要刪除其他行的數值,將這里的數字2改成相應的數字即可(圖3)。
而A列的隨機排序我們可以通過錄制宏的方法來實現。依次點擊“開發工具→錄制宏”,新建一個宏1。接著開始執行下面的操作:選中A1:B9區域,依次點擊“數據→排序”,在彈出的對話框中,“主要關鍵字”選擇“隨機排序”,“排序依據”選擇“單元格值”,“次序”設置為“降序”,點擊“確定”后停止宏的錄制(圖4)。
現在測試一下宏1,可以看到由于B列為隨機數字,因此在A列中每次排序的結果都是不同的,即在A2單元格中顯示的名字是隨機的。由于默認最終顯示名字的位置是C1單元格,我們還需要將每次選中的人名復制到對應分公司的單元格中,這可以借助粘貼圖片的方法來實現。
復制C1單元格后定位到D2單元格,依次點擊“開始→粘貼→其他粘貼選項→鏈接的圖片”,會在D2單元格中粘貼一張圖片,顯示的內容為C1單元格中的數值。記住該圖片的名稱,比如本例為圖片1(圖5)。

在G9:G15單元格中依次輸入分公司的名稱,同上啟動宏2的錄制,執行下面的操作:選中圖片1并復制,接著定位到H9單元格,依次點擊“開始→粘貼→圖片”,將圖片1以“圖片”的形式粘貼到H 9單元格,最后再定位到圖片1所在的位置,完成宏2的錄制。錄制完后運行宏2,查看能否將圖片1復制到H9單元格(圖6)。默認每運行一次腳本,C1單元格都會顯示不同的人名,但是通過上述“復制→粘貼→圖片”的方法,我們可以將C1單元格每次顯示的人名復制并保存下來。
完成上述的操作后再測試一下所有的流程。先執行宏1,檢查能否在A列實現隨機排序。接著執行下載到的VBA腳本,檢查能否在C1單元格中隨機顯示A 2單元格中的人名,并同時自動刪除第二行的數據。最后執行宏2,檢查圖片1能否成功地復制到H8單元格(因為刪除了第二行的數據,因此原來的H9單元格變為H8單元格)(圖7)。
測試完后如果沒有問題,按下“Alt+F11”組合鍵打開VBA窗口,在“Sub cfan()”下添加上宏1(用于隨機排序)、“Loop Until k >=10”下添加上宏2(用于復制圖片到對應的分公司),編輯完代碼后返回宏窗口,為該宏設置運行快捷鍵為“Ctrl +R”。
返回Excel窗口,隱藏A和B列,同時調整圖片1的大小和位置。以后只要每次按下“Ctrl+R”組合鍵,C1單元格和圖片1就會循環顯示A2:A9區域中的人名,最終定格顯示A2單元格中的內容,接著將其復制到H9單元格。由于該腳本會自動刪除第二行的數據,這樣執行宏2時會依次將顯示隨機名字的圖片復制到H2:H8區域(圖8)。