How can I use VBA to creat new web query?

  • Thread starter Thread starter Guest
  • Start date Start date
G

Guest

I need to build an addin application that creates a brand new web query in
the target cell / cell range. I know how to modify, refresh, but not create
a brand new query. I intend to provide a choice of several data page queries.
 
Here's an example

With ActiveWorkbook.Worksheets("Data").QueryTables.Add( _
Connection:="URL;" & your_url,
Destination:=Worksheets("Data").Cells(1, 1))
.BackgroundQuery = True
.TablesOnlyFromHTML = False
.Refresh BackgroundQuery:=False
.SaveData = True
End With
 
Thanks that helps a lot.

This puts the table in A1 of the sheet "Data", can it be adapted to the
current selected cell?
 
I have tried working with the Destination to make it the current cell. This
did not work: Destination:=ActiveSheet.Cells(ActiveCell))
 
Thanks Mike

But that does not seem to work Here is my full code

With ActiveWorkbook.ActiveSheet _
.QueryTables.Add(Connection:="URL;mytargetpage", _
Destination:=Worksheets("sheet1").ActiveCell)
.BackgroundQuery = True
.TablesOnlyFromHTML = False
.Refresh BackgroundQuery:=False
.SaveData = True
End With
 
Destination:=.ActiveCell)

We were trying to do things to two different worksheets:
With ActiveWorkbook.ActiveSheet _ 'Activesheet
and then tried to
Destination:=Worksheets("sheet1").ActiveCell) 'Sheet1

Now we need:
With ActiveWorkbook.ActiveSheet _
..QueryTables.Add(Connection:="URL;mytargetpage", _
Destination:=.ActiveCell)

Mike F
 
That didn't work either under testing, but this did:

Dim rng As Range
Set rng = ActiveCell
With ActiveWorkbook.ActiveSheet _
.QueryTables.Add(Connection:="URL;mytargetpage", _
Destination:=rng)
.BackgroundQuery = True
.TablesOnlyFromHTML = False
.Refresh BackgroundQuery:=False
.SaveData = True
End With

Mike F
 
Mike - Thanks. That did it.

Mike Fogleman said:
That didn't work either under testing, but this did:

Dim rng As Range
Set rng = ActiveCell
With ActiveWorkbook.ActiveSheet _
.QueryTables.Add(Connection:="URL;mytargetpage", _
Destination:=rng)
.BackgroundQuery = True
.TablesOnlyFromHTML = False
.Refresh BackgroundQuery:=False
.SaveData = True
End With

Mike F
 
Back
Top