У меня есть книга Excel с двумя листами, называемая «Просмотр поставщика Dashboard» и «ComputingSolutions». На вкладке представления поставщика панели инструментов пользователь должен записать значение в названии cell "categoryName". Когда пользователь записывает «Вычислительные решения» в этой именованной ячейке и запускает код, я хочу, чтобы код перешел на лист 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 =" Computing Solutions "Then' block - ваш код достигнет этой точки? –
n относится к названному вызову providerAmount через n = Имена («поставщикAmount»). Значение –