如何在 Excel 2016 VBA 中使用 Select Case 結構

Select Case 結構是一個有用的 VBA 結構,用於在 Excel 2016 中涉及三個或更多選項的決策(儘管它也適用於兩個選項,提供 If-Then-Else 結構的替代方案)。

選擇案例示例

以下示例顯示瞭如何使用 Select Case 結構:

Sub ShowDiscount3()
  昏暗的數量一樣長
  Dim 折扣雙倍
  數量 = InputBox(“請輸入數量:”)
  選擇案例數量
    案例 0 到 24
      折扣 = 0.1
    案例 25 至 49
      折扣 = 0.15
    案例 50 至 74
      折扣 = 0.2
    大小寫 >= 75
      折扣 = 0.25
  結束選擇
  MsgBox “折扣:” & 折扣
結束子

在此示例中,正在評估 Quantity 變量。例行程序檢查四種不同情況(0–24、25–49、50–74 和 75 或更高)。

每個 Case 語句後面可以有任意數量的語句,如果 case 為真,它們都會被執行。如果您只使用一個語句(如本例所示),您可以將該語句與 Case 關鍵字放在同一行,前面有一個冒號 — VBA 語句分隔符。這使代碼更緊湊,更清晰。以下是這種格式的例程:

Sub ShowDiscount4 ()
  昏暗的數量一樣長
  Dim 折扣雙倍
  數量 = InputBox(“請輸入數量:”)
  選擇案例數量
    案例 0 到 24:折扣 = 0.1
    案例 25 至 49:折扣 = 0.15
    案例 50 至 74:折扣 = 0.2
    案例 >= 75:折扣 = 0.25
  結束選擇
  MsgBox “折扣:” & 折扣
結束子

當 VBA 執行 Select Case 結構時,一旦 VBA 發現一個真實的案例並執行該案例的語句,該結構就會退出。

嵌套的 Select Case 示例

如以下示例所示,您可以嵌套 Select Case 結構。此例程檢查活動單元格並顯示描述單元格內容的消息。請注意,該過程具有三個 Select Case 結構,每個結構都有自己的 End Select 語句:

子 CheckCell()
  將消息調暗為字符串
  Select Case IsEmpty(ActiveCell)
    大小寫真
     Msg = “為空。”
    其他情況
     選擇案例 ActiveCell.HasFormula
       大小寫真
        Msg =“有公式”
       其他情況
        Select Case IsNumeric(ActiveCell)
          大小寫真
           Msg =“有號碼”
          其他情況
           Msg =“有文字”
        結束選擇
    結束選擇
  結束選擇
  MsgBox “Cell” & ActiveCell.Address & “ “ & Msg
結束子

邏輯是這樣的:

找出單元格是否為空。

如果它不為空,請查看它是否包含公式。

如果沒有公式,請查明它是否包含數值或文本。

當例程結束時,Msg 變量包含一個描述單元格內容的字符串。MsgBox 函數顯示該消息。

如何在 Excel 2016 VBA 中使用 Select Case 結構

CheckCell 過程顯示的消息。

您可以根據需要盡可能深地嵌套 Select Case 結構,但要確保每個 Select Case 語句都有一個對應的 End Select 語句。

如果您仍然不相信縮進代碼值得付出努力,那麼前面的清單就是一個很好的例子。縮進確實使嵌套級別清晰。看一下沒有任何縮進的相同過程:

子 CheckCell()
將消息調暗為字符串
Select Case IsEmpty(ActiveCell)
大小寫真
Msg = “為空。”
其他情況
選擇案例 ActiveCell.HasFormula
大小寫真
Msg =“有公式”
其他情況
Select Case IsNumeric(ActiveCell)
大小寫真
Msg =“有號碼”
其他情況
Msg =“有文字”
結束選擇
結束選擇
結束選擇
MsgBox “Cell” & ActiveCell.Address & “ “ & Msg
結束子

相當難以理解,嗯?

Leave a Comment

HTKK 5.0.3

HTKK 5.0.3

HTKK 是稅務總局免費發布的報稅支援軟體,提供企業快速建立報稅表。了解HTKK的安裝步驟與升級功能。

有用的 Microsoft Power Query 日期函數

有用的 Microsoft Power Query 日期函數

探索 Excel 中的 Microsoft Power Query 日期函數,快速處理日期計算和操作,其中包含添加天數、提取日期部分等功能的詳細說明。

如何在 Excel 2019 中使用 3D 地圖功能

如何在 Excel 2019 中使用 3D 地圖功能

3D 地圖是 Excel 2019 中提供的令人興奮的可視化分析功能,讓你能夠在 Excel 中創建動態的 3D 地圖。探索如何利用這項技術提升數據分析的效果。

如何在 Excel 中使用 SKEW 和 SKEW.P 函數

如何在 Excel 中使用 SKEW 和 SKEW.P 函數

了解如何在 Excel 中使用 SKEW 和 SKEW.P 函數來衡量數據分佈的偏度,這對於分析數據的對稱性至關重要。

如何為 Excel 儀表板創建時間線切片器

如何為 Excel 儀表板創建時間線切片器

時間軸切片器的工作方式與標準切片器的工作方式相同,因為它允許您使用視覺選擇機製過濾數據透視表。了解如何在 Excel 中使用時間軸切片器來高效管理日期字段。

如何在 Excel 2016 中使用 XLOOKUP 函數

如何在 Excel 2016 中使用 XLOOKUP 函數

了解如何在 Excel 2016 中使用 XLOOKUP 函數,這是一個 VLOOKUP 函數的優秀替代品,具有更強大和靈活的功能!

智能表9.1.1

智能表9.1.1

Smartsheet 是一個動態工作平台,可讓您管理專案、建立工作流程以及與團隊合作。

共享點

共享點

SharePoint 是一個基於 Web 的協作系統,它使用各種工作流程應用程式、「清單」資料庫和其他 Web 元件以及安全功能來控制業務群組的協同工作。

萬年曆1.0.38/1.0.36

萬年曆1.0.38/1.0.36

萬年日曆是一款手機上的日曆檢視應用程式,可協助您在手機上快速查看陰陽日期,從而安排您的重要工作。

微軟 Outlook 2021

微軟 Outlook 2021

Microsoft Outlook 是由 Microsoft Corporation 開發的商業和生產力應用程式。