• 跳至主要導覽
  • 跳至主要內容
  • 跳至主要資訊欄
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

讀者互動方式

發佈留言 取消回覆

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

主要資訊欄

搜尋

近期文章

  • Linux 檢查、測試 CPU AES-NI 硬體加速加密指令集教學
  • CentOS Linux 7.9 自行編譯、安裝 OpenSSH 9.0p1 伺服器教學與範例
  • Python 使用 zipfile 模組壓縮、解壓縮 ZIP 檔案教學與範例
  • Python 以 LINE Notify 自動傳送即時訊息、圖片教學與範例
  • Linux 使用 Prometheus 與 Grafana 監控伺服器狀態、發送告警 Email 簡訊教學與範例
  • Linux 設定 pam_tty_audit 記錄 SSH 使用者操作指令教學與範例
  • Linux 封鎖、解鎖登入失敗次數過多的帳號 pam_faillock 教學與範例
  • Python 使用 pytube 自動下載 YouTube 影片教學與範例

推薦網站

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

關注本站

  • 電子郵件
  • Facebook

公益

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

Copyright © 2021 · Office Guide