標題:
設迴圈
[打印本頁]
作者:
518587
時間:
2014-10-20 17:25
標題:
設迴圈
我想要從第一個網址匯入外部資料、第二個網址匯入外部資料.....到第五個,請問我該如何設立一個迴圈?
[attach]19368[/attach]
以下是我匯入的第一個網址的外部資料
' 擷取網路資料
Range("C3").Select
ActiveCell.FormulaR1C1 = _
"http://www.atpworldtour.com/Tennis/Players/Ac/R/Ricardo-Acioly.aspx"
Sheets("擷取資料").Select
Range("A1").Select
With ActiveSheet.QueryTables.Add(Connection:= _
"URL;http://www.atpworldtour.com/Tennis/Players/Ac/R/Ricardo-Acioly.aspx", _
Destination:=Range("$A$1"))
.Name = "Ricardo-Acioly"
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.BackgroundQuery = True
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.WebSelectionType = xlEntirePage
.WebFormatting = xlWebFormattingNone
.WebPreFormattedTextToColumns = True
.WebConsecutiveDelimitersAsOne = True
.WebSingleBlockTextImport = False
.WebDisableDateRecognition = False
.WebDisableRedirections = False
.Refresh BackgroundQuery:=False
End With
複製代碼
作者:
許瑞祥
時間:
2014-10-20 21:28
你的程式碼是不是沒有複製完整 怎麼會沒有第一行 "sub"
作者:
518587
時間:
2014-10-20 21:35
回復
2#
許瑞祥
對!!! 還缺
Sub 巨集1()
'
' 巨集1 巨集
'
' 快速鍵: Ctrl+q
複製代碼
作者:
luhpro
時間:
2014-10-20 22:20
我想要從第一個網址匯入外部資料、第二個網址匯入外部資料.....到第五個,請問我該如何設立一個迴圈?
以 ...
518587 發表於 2014-10-20 17:25
Sub nn()
' 擷取網路資料
Dim lRows
lRows = 2
Do While Cells(lRows, 2) <> ""
Range("C3").Select
ActiveCell.FormulaR1C1 =
Cells(lRows, 2)
Sheets("擷取資料").Select
Range("A1").Select
With ActiveSheet.QueryTables.Add(Connection:= _
"URL
;" & Cells(lRows, 2),
_
...
End With
Loop
End Sub
作者:
518587
時間:
2014-10-20 22:24
回復
4#
luhpro
請問大大能否詳細說明一下 因為我剛入門 還不太懂 感謝
作者:
luhpro
時間:
2014-10-20 23:16
回復
5#
518587
Dim lRows
' 定義 lRows 變數, 做迴圈中列號變動使用
lRows = 2
' 從第2列開始抓網址
Do While Cells(lRows, 2) <> ""
' Do 迴圈開始, While 符合後面條件就繼續執行迴圈, Cells(列號=lRows, 欄號=2) 儲存格表示方式, <>"" 儲存格內容不等於空字串
Range("C3").Select
ActiveCell.FormulaR1C1 = Cells(lRows, 2)
' 網址用儲存格內容取代, 因 lRows 會遞增, 所以每次迴圈抓的網址都不同
Sheets("擷取資料").Select
Range("A1").Select
With ActiveSheet.QueryTables.Add(Connection:= _
"URL;" & Cells(lRows, 2), _
' "URL;網址" 改為 "URL;" & 儲存格內容(即網址), & 為字串連接使用字元
...
End With
lRows = lRows + 1
' 請加上這行,上面忘了加, 抱歉. lRows 每次變動加 1 , 即 第 2 列 -> 第 3 列 -> ...
Loop
' 迴圈結束
作者:
許瑞祥
時間:
2014-10-21 10:42
回復
1#
518587
Sub test1()
Dim a As String '設定a變數為字串
Dim i As Integer '跑迴圈
For i = 2 To 6 '跑回圈 因為你有五個網址 所以是從2跑到6 五次
a = Worksheets("工作表2").Range("B" & i) 'i=2 是B2 以此類推 B3 B4 B5 B6
With ActiveSheet.QueryTables.Add(Connection:= _
"URL;http://www.atpworldtour.com/Tennis/Players/Ac/R/Ricardo-Acioly.aspx", _
Destination:=Range("$A$1")) '以下網址是你提供 就不解說
.Name = "Ricardo-Acioly"
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.BackgroundQuery = True
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.WebSelectionType = xlEntirePage
.WebFormatting = xlWebFormattingNone
.WebPreFormattedTextToColumns = True
.WebConsecutiveDelimitersAsOne = True
.WebSingleBlockTextImport = False
.WebDisableDateRecognition = False
.WebDisableRedirections = False
.Refresh BackgroundQuery:=False
End With
Next i
End Sub
複製代碼
[attach]19372[/attach]
歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)