简单的工作表循环并将单元格值放入vba数组中

我想做一个非常简单的程序,但由于某种原因,它不工作。 我想遍历工作簿中的每个工作表并获取O13的单元格值并将其放入一个数组中。 然后在1工作表中打印整个数组。 出于某种原因,它不读取数字。 我试着将数组设置为variant,integer和double,没有任何作用。

Dim WS_Count As Integer Dim I As Integer WS_Count = ActiveWorkbook.Worksheets.Count Dim array1(43) As Double For I = 1 To WS_Count array1(I) = ActiveWorkbook.Worksheets(I).Cells(13, 15).Value Next I Range("A40") = array1 

您需要启动1 Dim array1(1 to 43) As Double的数组,然后设置数组的范围并使用Transpose Range("A40:A83") = Application.Transpose(array1)

这是我的作品:

 Public Sub SWL() Dim WS_Count As Long Dim I As Long Dim array1(43) As String Dim str As String WS_Count = ActiveWorkbook.Worksheets.Count For I = 1 To WS_Count array1(I) = ActiveWorkbook.Worksheets(I).Cells(1, 1).Value Next I str = CStr(Join(array1, " ")) ActiveWorkbook.Worksheets(1).Cells(1, 2) = str End Sub 

使用WorksheetFunction.Transpose方法将数组转换为您希望输出到的范围。

 Range("A40:A83") = WorksheetFunction.Transpose(array1)