我的整个项目是使用一个工作表作为要引用的值的数组/存储库,并将其作为宏的一部分提供给其他人使用。我有其他代码引用此数组,并在安装宏中检查此工作表是否已存在:
Sub Detailed_Report_SS_Setup()
Application.DisplayAlerts = False
Dim ws As Worksheet
On Error Resume Next
Set ws = Sheets("Array")
On Error GoTo 0
If Not ws Is Nothing Then
Else
Sheets.Add().Name = "Array"
Populate_Array_Sheet
End If
Application.DisplayAlerts = True
End Sub
在尝试制作Populate_Array_Sheet时,我试图操作一些现有代码,用于命名工作簿中的工作表。我的问题是excel循环遍历我的数组并将每个值添加到列的每一行,在数组通过数组时覆盖它。
我相信我的问题是界限(我使用的是低位和高位),虽然我对此知之甚少,无法弄清楚如何纠正。以下是我有问题的代码示例:
Sub Populate_Array_Sheet()
Dim i As Long
Dim Arf As Variant
Arf = Array("n1", "n2", "n3", ..., "n36")
For i = LBound(Arf) To UBound(Arf)
Sheets("Array").Range("A1:A36") = Arf(i)
Next i
End Sub
我试图将每个单独的值(n1到n36)放到列中自己的行上。
答案 0 :(得分:2)
您正在使用范围(“A1:A36”)将值应用于整个范围尝试此
Sub Populate_Array_Sheet()
Dim i As Long
Dim Arf As Variant
Arf = Array("n1", "n2", "n3",....., "n36")
Sheets("Array").Range("A1").Activate
For i = LBound(Arf) To UBound(Arf)
ActiveCell.Value = Arf(i)
ActiveCell.Offset(1, 0).Activate
Next i
End Sub