Импортировать страницу Gsheet в Excel
Я пытаюсь импортировать страницу Gsheet в Excel, запрашивая URL-адрес Gsheet в окне сообщения.
Мне удается импортировать его, когда я надуваю URL-адрес прямо в код VBA, но не когда я копирую URL-адрес в MsgBox, я получаю ошибку 1004 в ".Refresh", говоря, что адрес не подходит, когда я удаляю это строка код не работает.
Вот код:
Sub I_G()
Sheets("Feuil1").Select
resultats = InputBox("Copy the URL of the data collection", "URL")
If ActiveSheet.FilterMode = True Then ActiveSheet.ShowAllData
With ActiveSheet.QueryTables.Add(Connection:= _
"URL; resultats", Destination:=Range("$A$1"))
.WebFormatting = xlWebFormattingNone
.BackgroundQuery = True
.Refresh
End With
End Sub
1 ответ
Решение
Вы не передаете введенный URL в Querytables.Add
-команда, вы передаете строку "URL; resultats"
. VBA не просматривает строку, чтобы проверить, содержит ли она имя переменной.
var myVar as string
myVar = "ABC"
Debug.print "URL; myVar" ' <-- Will print "URL; myVar"
Debug.print "URL; " & myVar ' <-- Will print "URL; ABC"
Итак, вам нужно изменить строку на
With ActiveSheet.QueryTables.Add(Connection:= _
"URL; " & resultats, Destination:=Range("$A$1"))
...
End With
Таким образом, содержимое вашей переменной объединяется с префиксомURL;