在VBA中编辑数组

问题描述 投票:0回答:1

我试图通过一个数组捕获一个表,并多次遍历该数组,通过每次迭代更改两列中的数据。我当前的代码(下面)设置为迭代数组一次,在两个部分(,5)和(,6)中更改数据。不幸的是,它显示错误读数

运行时错误'9':下标超出范围

Sub arraytest()

Dim myArray As Variant

myArray = ActiveWorkbook.Worksheets("Semesters").ListObjects("tblSemester").DataBodyRange.Value

Dim i As Integer
Dim Roww As Integer

Roww = 1

While i < 10
    For Each r In myArray
        myArray(i, 5) = "18/19"
        myArray(i, 6) = "Fall"
        Roww = Roww + 1
        i = 10
    Next
Wend


Worksheets("Sheet1").Range("A2", "U2").Resize(UBound(myArray, 1)).Value = myArray

End Sub

如何编辑代码以成功遍历数组,更改特定列上的数据?

arrays vba excel-vba excel
1个回答
0
投票

我想你想要这个:

Sub arraytest()

Dim myArray As Variant
Dim i As Integer

myArray = ActiveWorkbook.Worksheets("Semesters").ListObjects("tblSemester").DataBodyRange.Value

For i = 1 To UBound(myArray, 1)
    myArray(i, 5) = "18/19"
    myArray(i, 6) = "Fall"
Next

Worksheets("Sheet1").Range("A2").Resize(UBound(myArray, 1), UBound(myArray, 2)).Value = myArray

End Sub
© www.soinside.com 2019 - 2024. All rights reserved.