arrays - 数组未从 For Loop VBA 填充

标签 arrays excel vba

我正在尝试创建一个填充在 for 循环中的单元格条目数组(例如 A6、B6 等)。

然而数组

    MyArray

总是空的,我不知道为什么它没有被填充到 for 循环中。下面是(代码的适当部分正在做其他事情)我的代码:
    Sub ListSheets()

    ' Defining all variables (objects) used within the code, establishing their
    'classes                                   

   Dim i As Integer
   Dim array_size As Integer
   Dim MyArray() As String

   array_size = 26
   ReDim MyArray(array_size) As String

   For intLoop = 1 To 26
   MyArray(intLoop, 1) = Chr$(64 + intLoop) + "6"
   Next

   Set CopyFrom = MyArray
   Sheets("vba_deposit").Range("A1").Resize(CopyFrom.Rows.Count).Value = CopyFrom.Value

   End Sub

有任何想法吗?

提前谢谢了。

最佳答案

试试这个:

Sub ListSheets()
   Dim i As Integer
   Dim array_size As Integer
   Dim MyArray() As String

   array_size = 26
   ReDim MyArray(1 To array_size, 1 To 1)

   For intLoop = 1 To 26
        MyArray(intLoop, 1) = Chr$(64 + intLoop) + "6"
   Next

   Sheets("vba_deposit").Range("A1").Resize(UBound(MyArray)).Value = MyArray    
End Sub

您第一个使用 MyArray(intLoop, 1) 的想法很好 - 因为在这种情况下,不需要使用 Transpose (这并不总是有效,因为它对数组中的元素数量有限制):Range(...).Value = MyArray .但是,我对您的代码进行了一些更改:
  • redim 二维数组:ReDim MyArray(1 To array_size, 1 To 1)
  • 直接使用Range(...).Value = MyArray
  • 关于arrays - 数组未从 For Loop VBA 填充,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22758776/

    相关文章:

    Excel从非堆叠单元格创建数组

    excel - 将每张纸的最后一列导出到文本文件中

    excel - ScreenUpdating是否有必要写成True

    python - 我是否遗漏了一些东西,或者这个用于计算 Excel 列字符的 Microsoft 算法是否不正确?

    arrays - 在 Laravel 的 Blade 模板中显示数组

    iphone - 删除 NSMutablearray 中的最后一个对象

    java - 按升序对整数排序 - Java

    excel - 代码在复制/粘贴为宏时运行,但在另存为加载项时不运行

    java - 这个变量是如何改变的?

    excel - 尝试比较两个 Excel 报告的标题更改