У меня одна рабочая тетрадь с несколькими листами. Я заполняю списки (извлекая статические данные из ячеек) на втором листе, нажимаю кнопку, и все работает нормально.
Когда я заполняю списки именованным диапазоном, список заполняется так, как я хочу, но я получаю сообщение об ошибке, потому что код думает, что я ничего не выбрал в списке, хотя я это сделал. Таким образом, он проходит через ""
вместо "title"
.
Это обычная проблема? Именованный диапазон не является проблемой, потому что он передает данные в список, и я знаю, что он выбирает данные, потому что, как только список теряет фокус, он выводит содержимое ячейки в ячейку A1
.
Что еще более странно, так это то, что у меня для содержимого списка установлено значение Msg1
. Итак, A1
заполняется Msg1
(то, что я выбрал в списке). Но когда я пытаюсь использовать Msg1
в коде, он говорит мне, что Msg1
это ""
. Опять же, это происходит только тогда, когда я использую динамический именованный диапазон, а не со статическими данными в ячейках K1:K9
.
Private Function strEndSQL1 As String
Dim strSQL As String
strSQL = ""
'Create SQL statement
strSQL = "FROM (SELECT * FROM dbo.Filter WHERE ID = " & TextBox1.Text & " And Source IN (" & Msg1 & ")) a FULL OUTER JOIN "
strSQL = strSQL & "(SELECT * FROM dbo.Filters WHERE ID = " & TextBox2.Text & " And Source IN (" & Msg1 & ")) b "
strSQL = strSQL & "ON a.Group = b.Group
strEndSQL = strSQL
End Function