在 Excel 2016 中使用返回數組的 VBA 函數

在 Excel 2016 中使用返回數組的 VBA 函數

數組公式是 Excel 最強大的功能之一。如果您熟悉數組公式,您會很高興知道您可以創建返回數組的 VBA 函數。

返回月份名稱數組

讓我們從一個簡單的例子開始。MonthNames 函數返回一個由 12 個元素組成的數組——你猜對了——月份名稱。

函數 MonthNames()
  MonthNames = Array(“一月”、“二月”、“三月”、_
   “四月”、“五月”、“六月”、“七月”、“八月”、_
   “九月”、“十月”、“十一月”、“十二月”)
結束函數

要在工作表中使用 MonthNames 函數,您必須將其作為 12 個單元格的數組公式輸入。例如,選擇範圍 A2:L2 並輸入=MonthNames()。然後按 Ctrl+Shift+Enter 在所有 12 個選定單元格中輸入數組公式。檢查結果。

在 Excel 2016 中使用返回數組的 VBA 函數

使用 MonthNames 函數返回一個 12 元素數組。

如果您希望月份名稱顯示在一列中,請選擇一列中的 12 個單元格並使用此數組公式。(不要忘記按 Ctrl+Shift+Enter 輸入它。)

=TRANSPOSE(MonthNames())

您還可以從數組中選擇一個月。這是一個公式(不是數組公式),它顯示數組的第四個元素:April。

=INDEX(MonthNames(),4)

返回一個排序列表

假設您有一個要在另一個單元格區域中按排序順序顯示的名稱列表。有一個工作表功能為您做這件事不是很好嗎?

這個自定義函數就是這樣做的:它將單列單元格範圍作為其參數,然後返回一個由這些單元格排序的數組。範圍 A2:A13 包含一些名稱。範圍 C2:C13 包含此多單元格數組公式。(請記住,您必須按 Ctrl+Shift+Enter 輸入公式。)

在 Excel 2016 中使用返回數組的 VBA 函數

使用自定義函數返回排序範圍。

=排序(A2:A13)

這是 Sorted 函數的代碼:

函數排序(Rng As Range)
  Dim SortedData() 作為變體
  將單元格調暗為範圍
  Dim Temp As Variant, i As Long, j As Long
  Dim NonEmpty As Long
' 將數據傳輸到 SortedData
  對於 Rng 中的每個單元格
    如果不是 IsEmpty(Cell) 那麼
      非空 = 非空 + 1
      ReDim 保留已排序數據(1 到非空)
      SortedData(NonEmpty) = Cell.Value
    萬一
  下一個單元格
'對數組進行排序
  對於 i = 1 到非空
    對於 j = i + 1 到非空
      如果 SortedData(i) > SortedData(j) 那麼
        溫度 = SortedData(j)
        SortedData(j) = SortedData(i)
        SortedData(i) = 溫度
      萬一
    下一個
  接下來我
'轉置數組並返回它
  排序 = Application.Transpose(SortedData)
結束函數

Sorted 函數首先創建一個名為 SortedData 的數組。該數組包含參數範圍內的所有非空值。接下來,使用冒泡排序算法對 SortedData 數組進行排序。因為數組是水平數組,所以在函數返回之前必須進行轉置。

Sorted 函數適用於任何大小的範圍,只要它位於單個列或行中。如果未排序的數據在一行中,則您的公式需要使用 Excel 的 TRANSPOSE 函數來水平顯示已排序的數據。例如:

=TRANSPOSE(排序(A16:L16))

智能表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 軟體包中各種程式的插件。