日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

keil debug如何在watch直接修改变量值_零基础学VBA:什么是VBA?如何编写和运行VBA代码?...

發布時間:2023/12/15 编程问答 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 keil debug如何在watch直接修改变量值_零基础学VBA:什么是VBA?如何编写和运行VBA代码?... 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

HI,大家好,我是星光,今天咱們來繼續學習VBA。在上一章咱們講了為什么要學習VBA~VBA還值不值得學~學了還有沒有用~零基礎學VBA編程01:VBA還能不能學?學了還有沒有用?

這一章咱們再來簡單回答幾個小問題:什么是VBA?如何編寫和運行VBA代碼?

什么是VBA先來看第一個問題,什么是VBA?你學了一段時間VBA,有一天有個異性朋友問……“小胖,你最近在學什么呀?”“VBA!”“VBA是什么呀?”“VBA就是……反正很厲害,它可以減少很多重復性的工作,可以很輕松就讓Excel簡易化自動化智能化,你聽我說,它還可以做人機交互界面,完成Excel自身功能無法完成的高度復雜的任務,還能夠一鍵生成Word和PPT,你說厲害不厲害?”
“聽不太懂哎——它和VAR是什么關系?沒關系?那和BRA呢?也沒關系?那V是什么?B是什么?A又是什么?”“……”你很茫然,于是想起了那個叫百度的混蛋,默默搜索了一番。什么是VBA?VBA是Visual Basic For Application的簡稱,是VB語言的一個分支,是一種建立在Office應用程序中的開發工具,是……——然而知道這概念也啥實際用處,因為你的異性朋友依然聽不懂你在說什么。“還是聽不太懂哎,對了,VBA是不是宏?”“宏?”“就是病毒!”“病毒?不不不,有的不是病毒,有的……”“那就是病毒咯!”你無語,只好繼續百度。什么是宏?宏來源于英文單詞“marco”,是一種批量處理的稱謂,暗示著將小命令或動作轉化為一系列指令,是軟件提供的一種特殊功能,也就是說宏并非Office軟件所獨有,因此從廣義上來說,VBA確實是一種宏,但宏卻未必是VBA……宏是不是病毒?這就好比問人是不是好人?人當然有好人也有壞人,好人也可能做壞事,壞人也可能做好事,人是不是好人,得看在某個時間里TA做了什么事,這就不是薛定諤的貓……“VBA是一種非常簡單實用的編程語言,它可以做壞事,也可以做好事……”你嘗試著解釋。“編程?那小胖你就是程序猿咯?”她看了看你的發際線,“嗯,看起來確實有一點兒像。”“不……不是……你誤會了!程序猿是一個職業的稱呼,并不是會一點編程就是程序猿,還需要穿格子衫,還……”“聽不懂哎。”她看著你的發際線。“……”……且不管你的發際線到底怎么樣,咱們還是大體了解了VBA是什么,那么——如何編寫VBA呢?談到編寫VBA,就不得不說一下VBE……什么是VBE大部分編程語言都有自己的集成開發環境IDE(Integrated Development Environment),它為用戶提供了代碼編寫功能、分析功能、調試功能等,比如語法高亮、語句自動補全、參考資料……VBA也不例外,VBA的代碼編輯器依托于Office軟件,又被稱為VBE(Visual Basic Editor)窗口——換句話說,VBE窗口也就是咱們以后編寫VBA程序的地方。長相有點兒寒酸,如下圖所示。進入VBE窗口常用方式有以下幾種。第1種方式是快捷鍵。第2種方式是右鍵單擊任意工作表標簽,在彈出的快捷菜單中選中【查看代碼】命令。第3種方式是在【開發工具】選項卡中進行操作。……我們知道Excel有功能區,功能區內有選項卡,每個選項卡對應不同的功能分類。比如【開始】選項卡集中了用戶最常使用的功能;【插入】選項卡集中了透視表、圖形和圖表等功能;【頁面布局】是打印;【公式】是函數公式……【開發工具】選項卡則屬于VBA的地盤。不過在默認狀態下,Excel功能區并不顯示【開發工具】選項卡。這是由于VBA屬于Excel的高級功能,既然是高級功能自然要享受一番特殊的待遇——不要說什么人人平等這樣騙人的鬼話,畢竟Excel它不是人——這待遇就是關起來不能主動見人。在【文件】選項卡中單擊【選項】命令,打開【Excel選項】對話框。在該對話框中,單擊【自定義功能區】選項卡,在右側列表框中選中【開發工具】復選框,單擊【確定】按鈕關閉【Excel選項】對話框,即可在功能區中顯示【開發工具】選項卡。在【開發工具】選項卡中單擊【Visual Basic】或者【查看代碼】按鈕即可進入VBE。……打個響指,一起來詳細認識下VBE吧,畢竟以后咱們就靠它編寫VBA代碼了,無論如何總得混個面熟先。認識VBEVBE有菜單欄、工具欄和功能窗口三部分組成。
菜單欄的選項卡比較多,現在說了你也記不住,就等用到時咱們再說。這里先重點說下功能窗口。
功能窗口又分為【工程資源管理器窗口】、【屬性窗口】、【代碼窗口】、【立即窗口】、【本地窗口】等五大窗口。不同的窗口功能和作用如下。1、工程資源管理器窗口工程資源管理器窗口,顧名思義,也就是管理工程資源的地方;這里的工程指的是工作簿中模塊的集合。它呈現樹形結構,包含4類對象:Excel對象(工作表和工作簿)、模塊對象、窗體對象和類模塊對象。
一個新建工作簿的工程資源管理器窗口默認只有工作表對象和ThisWorkbook對象;但我們需要重點了解的是模塊對象,絕大多數的VBA過程都是在模塊對象中編輯和保存的。依次單擊【菜單】→【插入】→【模塊】,即可生成一個模塊和模塊對應的【代碼窗口】。在【代碼窗口】中我們可以新建或編輯VBA過程。2、屬性窗口屬性窗口用來查看和設置對象的屬性,比如設置窗體顏色、大小、設置工作表對象的顯示狀態為深度隱藏等。3、代碼窗口代碼窗口用來顯示和編輯VBA代碼。【工程資源管理器】中每個對象都擁有自己的代碼窗口,雙擊某個對象,即可在VBE中打開該對象的代碼窗口。代碼窗口分為上下兩個部分,上部為對象列表框和過程/事件列表框,下部為代碼編輯區。4、立即窗口立即窗口常用于代碼調試,在該窗口輸入代碼,按回車鍵即可看到代碼執行后的結果。除了在立即窗口中直接輸入代碼外,也可以在VBA代碼中使用Debug.Print命令將指定內容輸入到立即窗口中,這在代碼調試過程中較為常用。不過需要注意的是,立即窗口和代碼窗口不同。當Excel程序關閉后,系統會自動清除立即窗口中的內容。5、本地窗口本地窗口將自動顯示出當前過程中所有的變量聲明和變量值,而且會隨著代碼運行的過程自動更新顯示,這是我們調試代碼最主要的依據。……小貼士:在Excel中,以上窗口并非全部默認顯示。單擊VBE菜單欄上的【視圖】選項卡,會打開一個選項菜單,熊迪們可以根據需要選擇顯示相應的功能窗口,通常建議至少選擇顯示【工程資源管理器窗口】、【代碼窗口】和【本地窗口】。了解完了VBE代碼編輯窗口,下一個問題是,如何編寫VBA代碼?如何編寫VBA代碼看我手——歪,圖,思銳……編寫VBA代碼的方式常用的有三種。第一種方式:復制粘貼別笑,嚴肅點,俺是認真的。要知道搜羅優秀代碼、復制粘貼化為己用是編寫程序的基本能力,是程序員不可或缺的左膀右臂,不管你是新手還是高手,天下代碼早晚都不過一個抄字——不過咱們得知道哪些能抄?哪些不能抄?哪些抄了之后必須要修改。第2種方式:自己寫自己寫的意思就是打開VBE,在模塊等對象的代碼窗口內自己編寫VBA代碼(這是一句廢話)。復制粘貼固然屬于天下無雙的神技,但并不適合細節迥異的具體問題處理,所以至少你得知道代碼的邏輯是否正確;結構是否合理;局部的代碼應該如何修改——而有些時候,修改別人的代碼,還不如自己重新編寫來的爽快。第3種方式:錄制宏錄制宏的意思是讓勤快又善良的Excel幫咱們自動寫代碼。對于VBA初學者來說,最煩惱的事情莫過于Excel的對象太多了,每個對象的屬性和方法又太多了,層層疊疊,頭大的讓人記不住——其實完全沒必要記住,想要知道某個對象的屬性和方法?根據需求錄制一段宏,查看下Excel自動生成的代碼就一目了然了。比如說,你想要知道如何使用VBA代碼設置單元格邊框線以及標題行文字加粗并居中顯示,可以使用以下操作。步驟1:在【開發工具】選項卡下單擊【錄制宏】命令,打開【錄制宏】對話框。根據需要在【錄制宏】對話框的【宏名】文本框中輸入宏的名稱,當然也可以保持默認值不變,然后單擊【確定】按鈕步驟2:設置A1:D10單元格區域的邊框線為所有邊框線,將A1:D1標題行的字體加粗并居中顯示。最后在【開發工具】選項卡下單擊【停止錄制】命令,結束錄制宏。步驟3:按快捷鍵打開VBE窗口,在模塊中即可看到Excel自動生成的VBA代碼。以上代碼看似繁雜混亂,但如果您已有一定的VBA編程基礎,還是不難從中分辨出哪些代碼是設置邊框線,哪些代碼是設置字體加粗和居中顯示的;而我們只需要復制相關代碼,稍加修改即可直接使用。當然,錄制宏的作用不止如此。有一些朋友,出于各種原因無意深入學習VBA,卻又希望借助VBA提升工作效率,甚至實現數據處理自動化——當然也是可以的,這就是民間流傳的錄制宏+函數公式的組合。借助錄制宏,我們可以使函數公式自動輸入,進而實現數據處理的自動化。我舉一個簡單的小栗子。如下圖所示,有兩張表,一張表是數據源,一張表是查詢表。咱們需要制作一個數據查詢的模版;在查詢表的B列,計算A列人員對應的考試成績——你會怎么處理呢?步驟1:在【開發工具】選項卡下單擊【錄制宏】,打開【錄制宏】對話框,在【宏名】文本框中輸入內容:我的查詢,并【確定】。步驟2:在B2單元格輸入以下函數公式:
=IFERROR(VLOOKUP(A2,成績表!A:B,2,0),"")
向下復制填充到B2:B5000單元格區域;然后復制B2:B5000單元格區域,使用選擇性粘貼為數值的方式,將公式計算結果粘貼為數值,最后停止錄制宏。如此一來,Excel就自個生成了一段代碼,這段代碼的作用是自動使用VLOOKUP函數查詢A2:A5000單元格范圍內的人名在成績表中的考試成績。于是新的問題來了——如何運行這段VBA代碼?如何運行VBA代碼以運行上述名為“我的查詢”的錄制宏為例,說下四種常見的優勢各異的運行VBA代碼的方式。第1種方式:快捷鍵在【開發工具】選項卡下,單擊【宏】按鈕,打開【宏】對話框。在該對話框中選中宏名“我的查詢”。
在右側單擊【選項】按鈕,打開【宏選項】對話框;設置快捷鍵為Ctrl+q,最后單擊【確定】按鈕,依次關閉對話框。設置完成后,只需按下快捷鍵,系統就會自動運行相應宏。想象一下吧小同志,你背靠皮椅,小眼微瞇,手指輕動,一個函數都不漏痕跡,只是按下快捷鍵,Excel就會自動為你獲取數據查詢結果,是不是騷秀氣滿滿抑或霸巴適氣側漏?不過需要注意的是,這里設置的宏快捷鍵會覆蓋Excel默認的快捷鍵。比如將宏的快捷鍵設置為,也就不再執行原來的打開【查找與替換】對話框功能了。第2種方式:插入按鈕快捷鍵的方式雖好,久而不用卻難免會忘,此外它也不適合廣泛用于制作通用模版。此時我們可以設置一個按鈕,通過它來執行指定的宏。在【開發工具】選項卡下依次單擊【插入】→【按鈕(窗體控件)】按鈕。在工作表中繪制一個大小隨心的按鈕,松開鼠標左鍵后,系統會自動彈出一個【指定宏】對話框,選中所需宏名,比如本例“我的查詢”,單擊【確定】按鈕,即可將該按鈕關聯給宏“我的查詢”。設置完成后,單擊該按鈕,即可執行相應的宏代碼。小貼士<1>:右鍵單擊按鈕,在彈出的快捷菜單中單擊【編輯文字】,可以修改按鈕的名稱,比如修改為“朕要工作了!”<2>:除了插入按鈕外,也可以插入圖形或圖片等對象,實現類似關聯運行宏代碼的效果。第3種方式:功能區宏按鈕如果一個工作簿的宏命令比較多,以至于你一時間找不到相關按鈕的位置,就可以使用這種方式來運行宏了。在【開發工具】選項卡下單擊【宏】按鈕,在彈出的【宏】對話框中選擇【我的查詢】選項,單擊【執行】按鈕即可運行該宏。第4種方式:在VBE中運行宏在代碼開發過程中,經常需要多次運行和調式VBA代碼,此時就需要在VBE中直接運行宏。單擊“我的查詢”過程代碼的任意位置進入編輯狀態,然后單擊工具欄上的【運行子過程/用戶窗體】按鈕,或者按快捷鍵,即可運行該過程代碼。……上面咱們聊了運行宏的4種方式,但是有個姓慕容的姑娘說過,愛情不是你想來,想來它就來,宏也不是你想運行……它就一定能運行。有時候你打開一個工作簿,單擊按鈕,會彈出如下提示框。出現該提示框的原因通常有兩種,一種是該按鈕沒有指定宏(或者曾經指定過宏,但相關宏被刪除/更名了),另一種是該工作簿所有的宏確實被禁用了——這就要聊到宏的安全性問題。設置宏的安全性咱們在前面什么是VBA里講過,在很多人眼中宏是病毒的代名詞,這是由于宏在給Office用戶帶來極大便利的同時,也帶來了潛在的風險。它可以輕而易舉的控制或運行電腦中的應用程序,生成計算機病毒或惡意功能。Excel通常默認不允許運行工作簿中的宏,并提供了【宏安全性設置】功能。在【開發工具】選項卡下單擊【宏安全性】按鈕,可以打開【信任中心】對話框。在宏設置下,可以看到如下圖所示的四個選項。一般來說,推薦使用【禁用所有宏,并發出通知】選項。啟用該選項后,打開保存在非受信任位置的包含宏的工作簿時,在Excel功能區下方會顯示【安全警告】消息欄,告知用戶工作簿中的宏已經被禁用,是否【啟用內容】。當用戶在消息欄中選擇【啟用內容】后,該文件會自動成為受信任的文檔,再次打開該文件,系統不再顯示【安全警告】消息欄。當用戶沒有選擇【啟用內容】,而是直接進行了其它Excel窗口的操作,【安全警告】的消息框會自動消失,并默認用戶不選擇啟用宏。此時如果你又想啟用宏了——不好意思,愛情不是你想來想來他就來,麻煩你關閉重啟Excel工作簿再和【安全警告】的消息框打個招呼吧~如何保存帶宏的文件最后一個問題:當我們編寫了一段宏代碼,運行測試成功后,就需要將文件保存——那么如何保存包含宏代碼的Excel文件?這問題問的似乎有點兒傻氣,但以我常年扎根底層的滄桑而憂郁的雙眸來看,還是很有必要說一下地——……在Excel基礎入門教程的篇章里咱們曾經講過,Excel的文件格式類型有很多種,最常用的是xlsx,但這種格式的文件并不支持保存宏代碼,它會自動抹除VBE或其它位置的宏。只有古老的03版Excel、二進制工作簿(xlsb)和以字母“m”結尾的文件格式(xlsm,xltm,xlam)才可以用于保存宏代碼的文件,其中最常使用的是xlsm格式。——因此,敲黑板,在你學習VBA的過程中,請務必先將工作簿另存為xlsm格式。為什么這么說?我有個叫隨風小妞的前女朋友,經常不記得將Excel文件另存為xlsm格式,而是直接使用xlsx格式編寫代碼。每當代碼臨近完成調試,卻有不小機率不幸死機,于是代碼全軍覆沒尸骨無存。你想想,你想想他當場哭的梨花帶雨的模樣,豈是一個慘字了得?希望你不要重蹈他的覆轍,更不要哭的梨花帶雨我見不憐……致安,愿你不再因Excel而煩惱,我是星光,咱們下期再見。圖文制作:看見星光原載公眾號:Excel星球

專業的職場技能充電站

總結

以上是生活随笔為你收集整理的keil debug如何在watch直接修改变量值_零基础学VBA:什么是VBA?如何编写和运行VBA代码?...的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。