[算表] EXCEL VBA 將網址修改成有變數

看板Office作者 (40+大叔)時間6年前 (2020/01/06 12:52), 編輯推噓0(0016)
留言16則, 2人參與, 6年前最新討論串1/1
軟體: EXCEL VBA 版本: office 365 請問我要將https://goodinfo.tw/StockInfo/EquityDistributionClassHis.asp?STOCK_ID=3049中的3049改為sheet(Company)中的儲存格B2, 試了""https://goodinfo.tw/StockInfo/EquityDistributionClassHis.asp?STOCK_ID="" & Sheets("Company").Range("B2").Value,VBA說語法錯誤,請問版上高手是否能幫忙解惑? Application.CutCopyMode = False ActiveWorkbook.Queries.Add Name:="Table 3", Formula:= _ "let" & Chr(13) & "" & Chr(10) & " 來源 = Web.Page(Web.Contents(""https://goodinfo.tw/StockInfo/EquityDistributionClassHis.asp?STOCK_ID=3049""))," & Chr(13) & "" & Chr(10) & " Data3 = 來源{3}[Data]," & Chr(13) & "" & Chr(10) & " 已變更類型 = Table.TransformColumnTypes(Data3,{{""週別"", type text}, {""統計 日期"", type date}, {""當月股價 收盤"", type number}, {""當月股 價 漲跌 (元)"", type number}, {""當月股價 漲跌 (%)"", type number}, {""各持股 等級股東之持股比例(%) 10張 以下"", type number" & _ "}, {""各持股等級股東之持股比例(%) 10至 50張"", type number}, {""各持 股等級股東之持股比例(%) 50至 100張"", type number}, {""各持股等級股東之持股比 例(%) 100至 200張"", type number}, {""各持股等級股東之持股比例(%) 200至 400張 "", type number}, {""各持股等級股東之持股比例(%) 400至 800張"", type number}, {""各持股等級股東之持股比例(%) 800至 1千張"", type number}, {""各持股等級股東 之持股比例(%) 超過 1千張"", type number}})" & Chr(13) & "" & Chr(10) & "in" & Chr(13) & "" & Chr(10) & " 已變更類型" & _ "" With ActiveSheet.ListObjects.Add(SourceType:=0, Source:= _ "OLEDB;Provider=Microsoft.Mashup.OleDb.1;Data Source=$Workbook$;Location=""Table 3"";Extended Properties=""""" _ , Destination:=Range("$A$1")).QueryTable .CommandType = xlCmdSql .CommandText = Array("SELECT * FROM [Table 3]") .RowNumbers = False .FillAdjacentFormulas = False .PreserveFormatting = True .RefreshOnFileOpen = False .BackgroundQuery = True .RefreshStyle = xlInsertDeleteCells .SavePassword = False .SaveData = True .AdjustColumnWidth = True .RefreshPeriod = 0 .PreserveColumnInfo = True .ListObject.DisplayName = "Table_3" .Refresh BackgroundQuery:=False End With End Sub -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 220.135.13.55 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Office/M.1578286337.A.AF3.html

01/06 12:53, 6年前 , 1F
"https//....STOCK_ID" & sheets(..).range("b2").value
01/06 12:53, 1F

01/06 12:58, 6年前 , 2F
字串連接上,以"字串" & 儲存格值 的方式,改左右各一個雙
01/06 12:58, 2F

01/06 12:58, 6年前 , 3F
引號
01/06 12:58, 3F

01/06 13:38, 6年前 , 4F
如用於內文巨集formula的字串的話
01/06 13:38, 4F

01/06 13:38, 6年前 , 5F
01/06 13:38, 5F

01/06 13:46, 6年前 , 6F
感謝soyoso,終於可用了
01/06 13:46, 6F

01/07 00:03, 6年前 , 7F
不好意思 我在執行上遇到錯誤 "名為"Table 3"的查詢已存
01/07 00:03, 7F

01/07 00:03, 6年前 , 8F
在"
01/07 00:03, 8F

01/07 00:04, 6年前 , 9F
我只要更新 不要新增,請問有解法嗎?
01/07 00:04, 9F

01/07 07:35, 6年前 , 10F
更新方面,activeworkbook.queries(...).formula
01/07 07:35, 10F

01/07 07:57, 6年前 , 11F
如出現...範圍重疊的錯誤訊息的話先range.clear再
01/07 07:57, 11F

01/07 07:57, 6年前 , 12F
listobjects.add
01/07 07:57, 12F

01/07 08:36, 6年前 , 13F
更新方面,activeworkbook.queries(...).formula, 對不起
01/07 08:36, 13F

01/07 08:36, 6年前 , 14F
,我太菜了,有點試不出來,這一句要怎麼用呢?
01/07 08:36, 14F

01/07 08:39, 6年前 , 15F
...formula = 要調整的字串
01/07 08:39, 15F

01/07 08:40, 6年前 , 16F
字串為let起至最後的已變更類型
01/07 08:40, 16F
文章代碼(AID): #1U4hq1hp (Office)
文章代碼(AID): #1U4hq1hp (Office)