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

如何在 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
結束子

相當難以理解,嗯?


智能表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 開發的商業和生產力應用程式。

點擊按鈕

點擊按鈕

ClickUp 是所有企業評價最高的生產力平台之一。Google、Booking.com、San Diego Padres 和 Uber 等大型企業都使用 ClickUp 來提高工作效率。

PDF-XChange 檢視器 2.5.322.10

PDF-XChange 檢視器 2.5.322.10

PDF 已成為閱讀、建立和傳送文字文件的常用格式。反過來,用於此類文件的程式數量也有所增加。PDF-XChange Viewer 是數量不斷增長的 PDF 檢視器之一。

阿帕契開放辦公室

阿帕契開放辦公室

Apache OpenOffice 提供了一整套可與 Microsoft 365 競爭的 Office 應用程序,尤其是 Excel、PowerPoint 和 Word。它允許您更有效地管理您的項目,並支援多種文件格式。

下載 iTaxviewer 1.8.7

下載 iTaxviewer 1.8.7

iTaxViewer軟體是當今最受歡迎的XML檔案讀取軟體。該軟體是用於讀取稅務總局 XML 格式電子報稅單的應用程式。

硝基 PDF 閱讀器

硝基 PDF 閱讀器

Nitro PDF Reader 是一款方便的 PDF 編輯器,涵蓋了大多數人每天使用 PDF 文件執行的所有基本任務。

福昕閱讀器12

福昕閱讀器12

Foxit Reader主要是一個PDF閱讀器,還允許您建立PDF文件、對其進行簽名、編輯以及添加註釋。它適用於作業系統,有 Microsoft Office 軟體包中各種程式的插件。