Определенные имена не распознаются в VBA - PullRequest
0 голосов
/ 24 марта 2020

Я выполнил тестовый запуск с использованием определенных имен из Excel и затем использовал их в VBA для заполнения ActiveX ComboBox, как показано ниже:

Option Explicit

Private Sub Worksheet_Activate()
Dim dogs1 As Object

Dim Sh As Worksheet
'Me.all.Clear

If Choose = "dogs" Then
    With Sheets("dogs")
        all.ListFillRange = "dogs1"
        Debug.Print all
    End With
ElseIf Choose = "Cats" Then
    With Sheets("cats")
        all.ListFillRange = "Cats"
        Debug.Print all
    End With
End If



End Sub

Private Sub Choose_Click()

With Sheets("Index")
Choose.ListFillRange = "animalL"
End With

Worksheets("Print").Select
Worksheets("Interface").Select

End Sub

Этот работает как сон, используя мои определенные имена из первенствует. однако сейчас я пытаюсь реализовать это в моей реальной программе, и определенные имена не работают. У меня была похожая проблема при создании выпадающих списков животных, но это было только потому, что я не сделал их именами рабочих книг (глобальными), но я делаю это, и теперь я в растерянности, что не так. Вот код, над которым я работаю:

Option Explicit

Private Sub Worksheet_Activate()
Dim Sh As Worksheet

Me.MFG.Clear
For Each Sh In ThisWorkbook.Worksheets
    Me.MFG.AddItem Sh.Name
Next Sh

If MFG.Value = "Kawneer" Then
    With Sheets("Kawneer")
        Disc.ListFillRange = "Frames"
        Debug.Print Frame
    End With
ElseIf MFG.Value = "PRL" Then
    With Sheets("PRL")
        Disc.ListFillRange = "test"
    End With
End If

End Sub

мой вариант явно говорит, что мое имя, определенное в Frames, не определено, но оно должно быть, что означает, что test не читает ни то, ни другое, поэтому это не c проблема, но общая проблема с моими определенными именами. Все настроены на рабочую книгу (я тоже пытался делать их как отдельные листы), и когда я тестирую их в Excel, они работают просто отлично (например, нажмите на ячейку, нажмите «=», а затем введите «Кадры», это даст мне мой диапазон). Я не добавил свой код ComboBox, потому что он, кажется, работает нормально, просто не могу заставить работать определенные имена. Спасибо

...