Excel的某些行為往往會(huì)讓用戶(hù)感到疑惑、對(duì)VBA不甚了解的人在初次使用代碼時(shí)也會(huì)碰到一些貌似奇怪的問(wèn)題。下面我們就從最簡(jiǎn)單的說(shuō)起。
問(wèn)題1:為什么在打開(kāi)有些Excel文件時(shí)出現(xiàn)安全警告?
在打開(kāi)Excel文件時(shí),我們時(shí)常會(huì)看到下圖所示的安全警告消息框。根據(jù)Excel的版本不同或者在Excel 2007以上版本中打開(kāi)Excel 2003版本的文件,大致會(huì)出現(xiàn)圖中所示的3類(lèi)消息框。
這是因?yàn)槲覀兇蜷_(kāi)的工作簿中含有代碼,并且在“安全性”(Excel 2003版)或者“信任中心”中對(duì)宏進(jìn)行了較高級(jí)別的設(shè)置。默認(rèn)情況下,為了防止宏病毒的侵害,Excel會(huì)自動(dòng)采用較高級(jí)別的宏安全設(shè)置。
如果我們事先知道宏是安全的,就可以單擊啟用宏。如果不太確定宏的安全性,可以先選擇禁用宏,然后在VBE中查看宏代碼,確認(rèn)是否安全。
問(wèn)題2:為什么在保存Excel文件時(shí)會(huì)出現(xiàn)額外的提示信息?
在Excel 2007以上的版本中,當(dāng)我們保存含有宏代碼的工作簿時(shí),有時(shí)會(huì)出現(xiàn)下圖所示的信息框。
在Excel 2007以上的版本中,Microsoft采用了新的文件格式,擴(kuò)展名為.xlsx的文件中不包含宏代碼,不能將代碼添加到具有.xlsx擴(kuò)展名的Excel文件中,即使將宏代碼添加到.xlsx的文件中,在保存時(shí)Excel也會(huì)將代碼丟棄。
因此,在以.xlsx為擴(kuò)展名保存Excel文件時(shí),如果工作簿中含有宏代碼,就會(huì)出現(xiàn)上圖所示的信息框。
在Excel 2007以上的版本中,需要使用擴(kuò)展名為.xlsm保存包含宏代碼的文件。
問(wèn)題5:為什么Excel界面中沒(méi)有“開(kāi)發(fā)工具”選項(xiàng)卡?
通常,Excel默認(rèn)不會(huì)在功能區(qū)中顯示“開(kāi)發(fā)工具”選項(xiàng)卡。您可以選擇“文件”——“選項(xiàng)”命令后,在彈出的對(duì)話(huà)框中選取“開(kāi)發(fā)工具”,使“開(kāi)發(fā)工具”選項(xiàng)卡顯示在Excel界面中,如下圖所示。
問(wèn)題4:VBA代碼應(yīng)該放置在哪里?
一般來(lái)說(shuō),VBA代碼可以放置在任意的代碼模塊里,無(wú)論是代表工作簿或工作表的對(duì)象模塊,還是標(biāo)準(zhǔn)的代碼模塊,沒(méi)有硬性的規(guī)定或約束。
VBE界面中工程資源管理器里的常見(jiàn)模塊如下圖。
通常,我們應(yīng)該把代碼放置在標(biāo)準(zhǔn)模塊中,包括Sub過(guò)程和Function過(guò)程,這也便于程序的良好組織。在工作簿對(duì)象代碼模塊和工作表對(duì)象代碼模塊中編寫(xiě)響應(yīng)工作簿事件和工作表事件的代碼,在用戶(hù)窗體中編寫(xiě)對(duì)窗體和窗體中的控件進(jìn)行操作的代碼。
問(wèn)題5:如何運(yùn)行VBA代碼?
對(duì)于初學(xué)者來(lái)說(shuō),運(yùn)行VBA代碼最基本的方式有下圖所示的3種方式。
此外,在《Excel VBA解讀(3):VBA代碼之家》中,還介紹了幾種基本的方法。
當(dāng)然,運(yùn)行VBA代碼的方式有很多,包括自定義工具欄、功能區(qū)、在工作表中放置控件或圖像,等等,我們將在單獨(dú)的專(zhuān)題中詳細(xì)介紹。
--------------------------------------
通過(guò)下列方式可以更快地了解完美Excel更新:
關(guān)注《完美Excel》微信公眾賬號(hào):
聯(lián)系客服