需要Excel原始碼的網友請點擊關注和轉發,然後直接私信回覆:原始碼
因為一維數組是以行來分配地址,如果把一維數組的值給單元格列賦值,則需要用Transpose方法進行行列轉換。
示例代碼:
#001 Public Sub 示例()
#002 Dim arr As Variant
#003 Range("A1:E10") = "" '清空A1:E5單元格區域內容
#004 arr = Array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10) '賦值給arr變量,arr變為數組變量
#005 Range("A1:E10").Value = Application.Transpose(arr) '給A1:E10單元格區域賦數組值
#006 Range("A1:E10").Select
#007 End Sub
運行結果如所示:
圖 237 Array數組Transpose方法給列單元格區域賦值
代碼說明:
#002 Dim arr As Variant代碼是使用一個變體類型,當#004行代碼給其賦值時,該變量代表數組。#005行代碼用Transpose方法把arr數據轉換為列數據然後賦值給Range("A1:E10")。
知識擴展點:
返迴轉置單元格區域,即將一行單元格區域轉置成一列單元格區域,反之亦然。在行列數分別與數組 (數組:用於建立可生成多個結果或可對在行和列中排列的一組參數進行運算的單個公式。數組區域共用一個公式;數組常量是用作參數的一組常量。)的行列數相同的區域中,必須將 TRANSPOSE 輸入為數組公式 (數組公式:數組公式對一組或多組值執行多重計算,並返回一個或多個結果。數組公式括於大括號 ({ }) 中。按 Ctrl+Shift+Enter 可以輸入數組公式。)。使用 TRANSPOSE 可在工作表中轉置數組的垂直和水平方向。
語法
表達式.Transpose(Arg1)
表達式 一個代表 WorksheetFunction對象的變量。