excel圖表常見問題,Excel的某些行為往往會讓用戶感到疑惑、對VBA不甚了解的人在初次使用代碼時也會碰到一些貌似奇怪的問題。下面我們就從最簡單的說起。
問題1:為什么在打開有些Excel文件時出現安全警告?
在打開Excel文件時,我們時常會看到下圖所示的安全警告消息框。根據Excel的版本不同或者在Excel 2007以上版本中打開Excel 2003版本的文件,大致會出現圖中所示的3類消息框。
這是因為我們打開的工作簿中含有代碼,并且在“安全性”(Excel 2003版)或者“信任中心”中對宏進行了較高級別的設置。默認情況下,為了防止宏病毒的侵害,Excel會自動采用較高級別的宏安全設置。
如果我們事先知道宏是安全的,就可以單擊啟用宏。如果不太確定宏的安全性,可以先選擇禁用宏,然后在VBE中查看宏代碼,確認是否安全。
問題2:為什么在保存Excel文件時會出現額外的提示信息?
在Excel 2007以上的版本中,當我們保存含有宏代碼的工作簿時,有時會出現下圖所示的信息框。
在Excel 2007以上的版本中,Microsoft采用了新的文件格式,擴展名為.xlsx的文件中不包含宏代碼,不能將代碼添加到具有.xlsx擴展名的Excel文件中,即使將宏代碼添加到.xlsx的文件中,在保存時Excel也會將代碼丟棄。
因此,在以.xlsx為擴展名保存Excel文件時,如果工作簿中含有宏代碼,就會出現上圖所示的信息框。
在Excel 2007以上的版本中,需要使用擴展名為.xlsm保存包含宏代碼的文件。
問題5:為什么Excel界面中沒有“開發工具”選項卡?
通常,Excel默認不會在功能區中顯示“開發工具”選項卡。您可以選擇“文件”——“選項”命令后,在彈出的對話框中選取“開發工具”,使“開發工具”選項卡顯示在Excel界面中,如下圖所示。
問題4:VBA代碼應該放置在哪里?
一般來說,VBA代碼可以放置在任意的代碼模塊里,無論是代表工作簿或工作表的對象模塊,還是標準的代碼模塊,沒有硬性的規定或約束。
VBE界面中工程資源管理器里的常見模塊如下圖。
通常,我們應該把代碼放置在標準模塊中,包括Sub過程和Function過程,這也便于程序的良好組織。在工作簿對象代碼模塊和工作表對象代碼模塊中編寫響應工作簿事件和工作表事件的代碼,在用戶窗體中編寫對窗體和窗體中的控件進行操作的代碼。
問題5:如何運行VBA代碼?
對于初學者來說,運行VBA代碼最基本的方式有下圖所示的3種方式。
當然,運行VBA代碼的方式有很多,包括自定義工具欄、功能區、在工作表中放置控件或圖像,等等,我們將在單獨的專題中詳細介紹。