申明: 本站飛宇網 https://feiyetopro.blogspot.com/。自網路收集整理之書籍、文章、影音僅供預覽交流學習研究,其[書籍、文章、影音]情節內容, 評論屬其個人行為, 與本網站無關。版權歸原作者和出版社所有,請在下載 24 小時內刪除,不得用作商業用途;如果您喜歡其作品,請支持訂閱購買[正版]。謝謝!
第1章 走進Excel VBA的世界
1.1 不會Excel的人,真傷不起
1.1.1 做不完的表
資料獲取、資料處理、資料分析…這是小張每天都在做的工作。老闆的需求和基礎資料一樣每天都在改變,而小張做表的速度卻永遠也跟不上老闆敏捷的思維。
不同的資料,相同的操作。小張感歎:“和數據打交道的日子,真煩!”
單位來了新同事,接手小張平時的工作。
1.1.2 神速的“超人”
終於告別上萬條的資料,離開亂七八糟的報表,脫離“苦海”的日子,小張的日子要多舒心有多舒心。可是…
1.1.3 你是怎樣做工資條的
小張決定向新同事取取經…
同事打開一張工資表,如圖1-1所示,讓小張把它做成工資條,如圖1-2所示。
小張熟練地拿起滑鼠,選中工資表頭所在行→複製→選中第二條工資記錄所在行→按一下右鍵→插入複製儲存格。
完成後,又按同樣的操作進行第三條,第四條…
新同事看完後,笑了: “如果是1000條記錄的工資表,這樣做需要多久?”
小張苦笑,也只能苦笑。
工作的內容不少,但都是重複的操作。而這種重複不但枯燥而且費時,儘管小張天天時時刻刻都在做表,卻永遠也跟不上老闆的節奏。
1.2 走自己的“錄”,讓別人重複去吧
新同事的建議讓小張感到很茫然。
面對小張滿腦子的疑問,新同事耐心地給他解釋,並示範操作過程…
1.2.1 什麼是宏
就像用攝像機錄下來的視頻,在Excel裡,巨集就是Excel使用者使用巨集錄製器錄下的一組操作。
選中工資表頭所在行→複製→選中工資記錄所在行→按一下右鍵→插入複製儲存格,這是小張製作工資條時重複的操作。
1.2.2 用宏錄下Excel操作
錄製巨集前需要進行一些簡單的設置,如圖1-3所示。
完成上述設置後就可以錄製巨集了,如圖1-4所示。
這樣,宏就錄製好了。
1.2.3 讓錄下的操作再現一遍
錄製完成後,通過下面的方法運行宏,如圖1-5所示。
如果要繼續插入新的工資表頭,就繼續執行宏。
學會使用錄製和執行宏代替手工完成重複操作後,小張很高興。他發現工作中很多問題都可以借助宏來提高工作效率。
可是,他不明白相對參照和絕對引用的區別,你能分別錄製不同的宏,執行它們,找到它們之間的區別嗎?
絕對引用:如果使用絕對引用,在執行宏的過程中,無論選中了哪個儲存格,宏都在特定的儲存格中執行錄製的操作。相對參照:如果使用相對參照,在執行宏的過程中,將以作用儲存格為A1儲存格,宏在相對於作用儲存格的特定儲存格中執行錄製的操作。如果你想讓錄製的巨集可以在任意區域中使用,就使用相對參照。
1.3 還可以怎樣執行宏
【宏】對話方塊裡的“執行”按鈕就是運行巨集的開關。不夠方便,不夠快捷,是這個開關的缺點。如果你不喜歡這個開關,可以選擇其他執行宏的方法。
1.3.1 給宏設置快速鍵
錄製巨集前,可以在【錄製新巨集】對話方塊裡為巨集設置快速鍵,如圖1-6所示。
也可以在錄製巨集後進行設置,如圖1-7所示。
給宏設置快速鍵後,就可以按下相應的複合鍵執行宏。
注意:因為給宏指定的快速鍵會覆蓋Excel默認的快速鍵。例如:把<Ctrl+C>指定給某個宏,那在Excel中按下<Ctrl+C>複合鍵將不再執行複製操作。
1.3.2 將巨集指定給按鈕
不便記憶,不易上手。快速鍵雖快卻不實用。
無論出於什麼目的,都應儘量讓設計的表格顯得直觀一些。
如果你擔心忘記為宏設置的快速鍵,可以繪製一塊直觀形象的“遙控板”,通過按一下按鈕來執行巨集。圖1-8所示為將巨集指定給按鈕的方法。
如果是已經添加的按鈕,可以用滑鼠按右鍵它,在右鍵功能表中執行【指定巨集】功能表命令打開【指定巨集】對話方塊,再將巨集指定給按鈕,如圖1-9所示。
完成上述設置後即可按一下按鈕執行巨集,如圖1-11所示。
還可以用同樣的方法將巨集指定給圖片或自選圖形等。
1.3.3 將巨集指定給常用工具列按鈕
將巨集指定給常用工具列按鈕的操作步驟如圖1-12所示。
完成後關閉【自訂】對話方塊,就可以按一下自訂的按鈕執行巨集了。
1.4 是誰“擋住”了宏
1.4.1 宏為什麼不能工作了
有時,打開一個保存有宏的工作簿或試圖執行一個巨集時,Excel會顯示如圖1-14所示的對話方塊,而並不執行宏。
這是小張遇到的一個新問題,他再次向新同事求助。
1.4.2 怎樣修改宏安全級
修改宏的安全級的操作如圖1-15所示。
如果希望錄製的巨集或編寫的VBA程式得到運行的機會,應將安全級設置為“中”或“低”。
如果設置為“中”,每次打開檔時,Excel都會顯示【安全警告】對話方塊,讓用戶選擇啟用或禁用宏,如圖1-16所示。
注意:在Excel 2003中,修改巨集安全級後需要關閉工作簿再重新打開它,修改才能生效。
1.5 VBA,Excel裡的程式設計語言
1.5.1 錄製巨集不能解決的問題
儘管可以錄下用戶在Excel裡的操作,但卻不能滿足用戶所有的需求。
1.5.2 讓工資條一“輸”到底
Step 1:查看已經錄製的宏,見圖1-17。
Step 2:在第一行代碼“Sub生成工資條()”的後面添加兩行新代碼:
在最後一行代碼“End Sub”的前面添加一行代碼:
Step 3:關閉視窗,返回Excel工作表介面,重新執行巨集,所有的工資條就全部完成了,如圖1-19所示。
1.5.3 VBA程式設計,讓你的表格更加靈活
不管你是否知道應該怎樣修改和使用錄製的宏,但從小張的故事裡,應該看到了修改前與修改後的宏在工作效率上的差別。
實際上,在運行宏的過程中,我們總希望能自主地判斷和選擇需要執行的操作或計算,而錄製的宏並不能滿足類似的需求。這就要求我們對宏進行適當的修改,甚至自己動手編寫滿足需要的代碼,即:使用VBA程式設計。
1.5.4 什麼是VBA
VBA (Visual Basic For Application)是一種程式設計語言,是建立在Office中的一種應用程式開發工具。可以利用VBA有效地擴展Excel的功能,設計和構建人機交互介面,打造自己的管理系統,説明Excel使用者更有效地完成一些基本操作、函數公式等不能完成的任務,從而提高工作效率。
同你的名字一樣,VBA也只是一個名字,一種程式設計語言的名字。
1.5.5 宏和VBA有什麼關係
VBA是程式設計語言,巨集是用VBA代碼保存下來的程式。
錄製的宏只是VBA裡最簡單的程式,正因為如此,錄製的宏存在許多的缺陷:如無法進行判斷和迴圈,不能顯示使用者表單,不能進行人機交互……
要想打破這些局限,讓自己的程式更加自動化和智慧化,僅僅掌握錄製和執行宏是遠遠不夠的,還需要掌握VBA程式設計的方法,自主地編寫VBA程式。
這就是我們學習VBA的目的。








































0 留言:
發佈留言