我有一本带有几张纸的工作簿。我在第二张表上填充列表框(从单元格中提取静态数据),单击一个按钮,它运行良好。
当我使用命名范围填充列表框时,列表框会以我想要的方式填充,但我收到错误,因为代码认为我没有在列表框中选择任何内容,即使我这样做了。所以它通过""
而不是"title"
.
这是一个常见问题吗?命名范围不是问题,因为它将数据传递到列表框,我知道它正在选择数据,因为一旦列表框失去焦点,它将单元格的内容吐出到 cell 中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