Excel VBA-通过for循环分配值

Excel VBA-通过for循环分配值,excel,vba,Excel,Vba,是否有更有效的方法处理以下问题 Range("approvedSales").Cells(raS, 2).Value = Sheet1.Cells(i, 1).Value Range("approvedSales").Cells(raS, 3).Value = Sheet1.Cells(i, 4).Value Range("approvedSales").Cells(raS,

是否有更有效的方法处理以下问题

                    Range("approvedSales").Cells(raS, 2).Value = Sheet1.Cells(i, 1).Value
                    Range("approvedSales").Cells(raS, 3).Value = Sheet1.Cells(i, 4).Value
                    Range("approvedSales").Cells(raS, 4).Value = Sheet1.Cells(i, 6).Value
                    Range("approvedSales").Cells(raS, 5).Value = Sheet1.Cells(i, 7).Value
                    Range("approvedSales").Cells(raS, 6).Value = Sheet1.Cells(i, 9).Value
                    Range("approvedSales").Cells(raS, 7).Value = Sheet1.Cells(i, 26).Value
                    Range("approvedSales").Cells(raS, 8).Value = Sheet1.Cells(i, 27).Value
                    Range("approvedSales").Cells(raS, 9).Value = Sheet1.Cells(i, 16).Value
                    Range("approvedSales").Cells(raS, 10).Value = Sheet1.Cells(i, 17).Value
                    Range("approvedSales").Cells(raS, 11).Value = Sheet1.Cells(i, 18).Value
                    Range("approvedSales").Cells(raS, 12).Value = Sheet1.Cells(i, 19).Value
                    raS = raS + 1
“更干净”的方法是将值存储在
数组中:

Dim array1() As Variant, array2() As Variant, i As Integer
array1 = Array(2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
array2 = Array(1, 4, 6, 7, 9, 26, 27, 16, 17, 18, 19)

For i = 0 To 10
    Range("approvedSales").Cells(raS, array1(i)).Value = Sheet1.Cells(i, array2(i)).Value
Next i
“更干净”的方法是将值存储在
数组中:

Dim array1() As Variant, array2() As Variant, i As Integer
array1 = Array(2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
array2 = Array(1, 4, 6, 7, 9, 26, 27, 16, 17, 18, 19)

For i = 0 To 10
    Range("approvedSales").Cells(raS, array1(i)).Value = Sheet1.Cells(i, array2(i)).Value
Next i

由于
(i,1)
(i,4)
的值不一致,这使得您的问题非常不清楚。第二个值来自哪里?由于
(i,1)
(i,4)
的值不一致,这使您的问题非常不清楚。第二个值来自哪里?我在寻找什么。泰!我在找什么。泰!