首頁 > 易卦

別怕,Excel VBA其實很簡單

作者:由 ExcelHome 發表于 易卦日期:2022-08-09

怎麼打出帶刪除線的字型

與程式互動

在Dos時代,哪怕只需要完成一些簡單的操作,也需記住很多命令及引數才能向計算機 下達正確的指令,否則完全無法指揮計算機做任何事情。正因為這樣,以前只有很少一部分 人才能熟練地操作計算機。

然而今天,連幾歲的小朋友都能熟練地開啟計算機,找到喜歡看的動畫片,這是因為計 算機有了像Windows這樣的視覺化作業系統。

窗體

早期的計算機系統都沒有圖形介面,使用者只能透過命令列輸入各種指令來操作計算機。比如在PC機的DOS系統裡,要將C盤根目錄下的檔案“1 。txt”複製到D盤根目錄下,可以使用下面的命令:

別怕,Excel VBA其實很簡單

別怕,Excel VBA其實很簡單

圖 8-1 用Dos命令複製檔案

這個命令可以讓計算機知道我們的意圖,也只有準確地將我們的意圖傳遞給計算機,它才會完成我們期望的操作。

視覺化的操作介面,讓我們和計算機互動的方式變得更簡單,只要動動滑鼠,或者點點螢幕,就能指揮計算機完成各種任務。試想一下,如果Excel沒有提供圖 8 - 2 所示的【頁面 設定】對話方塊,需要透過輸入並執行命令去調整Excel工作表的頁邊距,該有多麻煩啊。

別怕,Excel VBA其實很簡單

圖 8-2 【頁面設定】對話方塊

一個合理的程式,包括使用VBA寫的專案,也會需要提供操作介面來直觀展現程式的功能,降低使用它的難度。接下來,我們就來看看,VBA是如何藉助窗體實現互動功能的。

透過 InputBox 函式建立互動對話方塊,

向程式傳遞資料

為了實現更人性化的功能,某些過程被設計為在執行時由使用者提供必要的資訊,使用 VBA中的InputBox函式就可以滿足這一需求,如下圖所示:

別怕,Excel VBA其實很簡單

執行這個過程的效果如圖 8-3 所示。

根據提示,在對話方塊中輸入資訊,單擊【確定】按鈕後,如果輸入的內容是一個合法的工作表名稱,且工作簿中沒有該名稱的工作表,VBA就會以該資訊為名稱,在活動工作簿中 新建一張工作表,如圖 8 - 4 所示。

別怕,Excel VBA其實很簡單

圖 8-3 執行過程建立的對話方塊

別怕,Excel VBA其實很簡單

圖 8-4 透過對話方塊指定新建工作表的名稱

除對話方塊中的提示資訊外,還可以透過其他引數設定對話方塊的標題、預設的輸入內容、顯示的位置等,如下圖所示:

別怕,Excel VBA其實很簡單

執行這個過程的效果如圖 8 - 5 所示。

別怕,Excel VBA其實很簡單

圖 8-5 InputBox函式各引數的作用

在寫程式碼時,可以只設置引數值,省略引數的名稱,如下圖:

別怕,Excel VBA其實很簡單

對於 InputBox函式,通常只會用到該示例過程中用到的 5 個引數,它們的作用如表 8 - 1 所示。

別怕,Excel VBA其實很簡單

表 8-1 InputBox函式的常用引數及說明

建立互動對話方塊,

使用 InputBox 方法更方便

除 InputBox函式外,還可以透過 Application物件的 InputBox方法建立互動對話方塊。InputBox方法與InputBox函式的用法類似,如下圖:

別怕,Excel VBA其實很簡單

執行這個過程的效果如圖 8-6 所示。

別怕,Excel VBA其實很簡單

圖 8-6 用InputBox方法建立互動對話方塊

InputBox 函式和 InputBox 方法的區別:

當在【程式碼視窗】中使用InputBox函式和InputBox方法編寫程式碼時,可以透過VBE顯示的提示資訊瞭解它們的區別,如圖 8 -7 所示。

別怕,Excel VBA其實很簡單

圖 8-7 在【程式碼視窗】中檢視引數

很顯然,InputBox函式只能返回String型別的資料,而InputBox方法返回結果的型別可以自己設定,並且InputBox方法比InputBox函式多一個Type引數。InputBox方法常用的引數及說明如表 8-2 所示。

別怕,Excel VBA其實很簡單

表 8-2 InputBox方法常用的引數說明

透過 Type 引數指定 InputBox 方法返回值的型別:

InputBox方法透過Type引數指定對話方塊返回結果的資料型別,引數的可設定項如表8-3所示。

別怕,Excel VBA其實很簡單

表 8-3 Type引數的可設定項

如果想讓InputBox方法返回一個Range物件,就應將它的Type引數設定為數值 8,如下圖:

別怕,Excel VBA其實很簡單

執行這個過程後,Excel會顯示一個對話方塊,我們可以透過對話方塊選擇一個單元格區域,單擊【確定】按鈕後,Excel會在選擇的區域中輸入數值 100,如圖 8-8 所示。

別怕,Excel VBA其實很簡單

圖 8-8 選中單元格並輸入數值

如果想讓InputBox方法能返回多種型別資料中的一種,就將引數值設定為多種資料型別對應的引數值之和,如下圖所示:

別怕,Excel VBA其實很簡單

關於VBA的小竅門,你學會了嗎?

別怕,Excel VBA其實很簡單