在VBA中,可以通过基于单元格输入来更改Excel查询源。这可以通过以下步骤实现:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("A1")) Is Nothing Then '将A1替换为你的输入单元格
'在这里编写更改查询源的代码
End If
End Sub
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("A1")) Is Nothing Then '将A1替换为你的输入单元格
Dim ws As Worksheet
Set ws = ThisWorkbook.Worksheets("Sheet1") '将Sheet1替换为你的工作表名称
'清除现有查询
ws.ListObjects("Table1").QueryTable.Delete
'设置新的查询源
Dim querySource As String
querySource = ws.Range("A1").Value '将A1替换为你的输入单元格
'创建新的查询
Dim qt As QueryTable
Set qt = ws.ListObjects("Table1").QueryTable
qt.Connection = "OLEDB;Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & querySource & ";Extended Properties=""Excel 12.0 Xml;HDR=YES"";"
qt.CommandType = xlCmdTable
qt.CommandText = "Sheet1$" '将Sheet1替换为你的工作表名称
qt.Refresh
'调整表格格式
ws.ListObjects("Table1").TableStyle = "TableStyleMedium2"
End If
End Sub
在上述代码中,我们首先清除现有的查询,然后使用输入单元格的值作为新的查询源。接下来,我们创建一个新的查询,并刷新它以更新数据。最后,我们调整表格的格式。
请注意,上述代码中的"Table1"和"Sheet1"是示例中使用的表格和工作表名称,你需要根据你的实际情况进行相应的更改。
这是一个基于单元格输入更改Excel查询源的示例。你可以根据自己的需求进行修改和扩展。
领取专属 10元无门槛券
手把手带您无忧上云