我有一个Excel工作簿,其中有两张表,名为“Dashboard Supplier View”和“ComputingSolutions”。在仪表板供应商视图选项卡中,用户必须记下名称中的值cell“categoryName”。当用户在这个命名单元中写下“Computing Solutions”并运行代码时,我希望代码转到ComputingSolutions表单并将该表中列A中的所有供应商名称存储到数组中,以然后打印出原始工作表中的所有供应商名称仪表板供应商视图VBA:代码运行但没有生成输出
“n”变量指的是ComputingSolutions表单上的已命名单元格,并且是该表单上的供应商数目(此编号已被写下,用户不需要更改)
当我运行代码时,什么也没有显示出来。在指定位置的仪表板供应商视图表上没有打印任何内容。我也没有得到任何错误。我查了所有的名字,一切都拼写正确。我不确定可能是什么问题,但我怀疑它与激活工作表有关。
Public Sub DashboardSupplier()
Dim category As String
Dim supplierArray() As String
Dim c As Integer
Worksheets("Dashboard Supplier View").Activate
category = Names("categoryName").Value
'Suppliers for selectec category
If category = "Computing Solutions" Then
Worksheets("ComputingSolutions").Activate
n = Names("supplierAmount").Value
ReDim supplierArray(1 To n) As String
For c = 1 To n
supplierArray(c) = Cells(3 + c, 1)
Next c
Worksheets("Dashboard Supplier View").Activate
For c = 1 To n
Cells(6 + c, 4) = supplierArray(c)
Next c
End If
End Sub
'n'变量与命名单元格有什么关系?名为'n'的单元格是? –
您是否尝试过调试?在“If category =”计算解决方案“然后”块中放置一个中断(例如) - 您的代码是否达到该点? –
n通过n =名称(“supplierAmount”)引用指定的调用supplierAmount。值 –