• 跳至主要導覽
  • 跳至主要內容
  • 跳至主要資訊欄
Office 指南

Office 指南

辦公室工作實用教學

  • Excel
  • Word
  • PowerPoint
  • Windows
  • PowerShell
  • R

Excel VBA InputBox 資料輸入對話方塊使用教學與範例

介紹如何在 Excel 中使用 VBA 的 InputBox 資料輸入對話方塊,建立視窗讓使用者輸入資料。

InputBox 資料輸入對話方塊

在 VBA 程式中如果需要要求使用者即時輸入資料,可以使用 InputBox 建立一個對話方塊,讓使用者直接輸入:

' 建立資料輸入對話方塊,取得使用者輸入的資料
UserData = InputBox("請輸入資料:")

' 顯示輸入的資料
MsgBox "您輸入的資料是:" & UserData
InputBox 資料輸入對話方塊
InputBox 資料輸入對話方塊

在程式執行時就會跳出一個對話視窗,讓使用者輸入資料:

InputBox 資料輸入對話方塊
InputBox 資料輸入對話方塊

使用者輸入資料之後,VBA 程式就可以取得輸入的內容:

輸入的內容
輸入的內容

自訂對話方塊

InputBox 其實還有許多可自訂的選項可用:

InputBox(提示訊息, [標題], [預設值], [X座標], [Y座標])

除了第一個提示訊息參數一定要指定之外,其餘的參數都是選填的。

以下是一個自訂對話方塊標題、預設值、位置的範例:

' 自訂對話方塊標題、預設值、位置
UserData = InputBox("請輸入資料:", "使用者輸入", "OfficeGuide", 1500, 500)

執行的結果會像這樣:

自訂對話方塊
自訂對話方塊

判斷未輸入、取消輸入資料

如果需要判斷使用者是否有在 InputBox 中輸入資料,可以使用以下方式:

UserData = InputBox("請輸入資料:")

If StrPtr(UserData) = 0 Then
  MsgBox "您取消輸入。"
ElseIf UserData = vbNullString Then
  MsgBox "您沒有輸入資料。"
Else
  MsgBox "您輸入的資料是:" & UserData
End If

這樣就可以清楚判斷出使用者按下「取消」、或是未輸入任何資料就按下「確定」的狀況。

Application.InputBox 資料輸入對話方塊

資料輸入對話方塊除了一般的 InputBox 之外,還有另外一種 Application.InputBox,兩者的功能與用法都非常相似,主要的小差異是 Application.InputBox 多了可以指定輸入資料類型的功能:

InputBox(提示訊息, [標題], [預設值], [X座標], [Y座標], [Type:=類型代碼])

以下是可用的類型代碼:

值 描述
0 公式
1 數字
2 文字(字串)
4 邏輯值(True 或 False)
8 儲存格參照,視為 Range 物件
16 錯誤值,例如 #N/A
64 陣列值

假設我們想讓使用者只能輸入數字:

' 輸入數字
UserData = Application.InputBox("請輸入數字:", Type:=1)

如果使用者輸入的資料不是數字,就會出現這樣的提示訊息:

不正確的數字
不正確的數字

選擇範圍、計算總和範例

以下是一個利用 Application.InputBox 讓使用者在 Excel 表格中選擇範圍,並計算範圍內所有數值總和的範例:

Dim rng As Range
Dim cel As Range
Dim s As Integer

' 選擇範圍
Set rng = Application.InputBox("請選擇範圍:", Type:=8)

' 計算總和
s = 0
For Each cel In rng.Cells
  s = s + cel.Value
Next cel

MsgBox "總和:" & s

執行時使用者可以直接以滑鼠選擇 Excel 儲存格範圍:

選擇儲存格範圍
選擇儲存格範圍

選擇範圍之後,就會計算出數值總和:

數值總和
數值總和

參考資料:Office 官方網頁、Access-Excel

分類:Excel 標籤:VBA

讀者互動方式

發佈留言 取消回覆

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

主要資訊欄

搜尋

近期文章

  • C++ 語言使用 Crypto++ 實作 RSA 數位簽章教學與範例
  • C++ 語言使用 Crypto++ 實作 RSA-OAEP 搭配 SHA256 加密教學與範例
  • C++ 語言使用 Crypto++ 實作 AES 加密、解密、認證加密教學與範例
  • C++ 語言使用 Crypto++ 實作 MD5、SHA1、SHA2、BLAKE2 雜湊教學與範例
  • Ubuntu Linux 安裝、使用 Crypto++ 加密函式庫教學與範例
  • C 語言使用 OpenSSL 實作橢圓曲線 ECDH 金鑰交換教學與範例
  • Python 以 eciespy 實作 ECC 非對稱式加密方法教學與範例
  • C 語言使用 OpenSSL 實作 PBKDF2 教學與範例

推薦網站

  • Udemy 線上教學課程
  • Coursera 線上教學課程

關注本站

  • 電子郵件
  • Facebook

公益

  • 家扶基金會
  • 台灣世界展望會
  • Yahoo 奇摩公益
  • igiving 公益網
  • 兒福聯盟

Copyright © 2021 · Office Guide