標題:
[發問]
找不到的網頁如何設定自動跳過,然後執行下一個呢?
[打印本頁]
作者:
norafang
時間:
2014-2-2 10:37
標題:
找不到的網頁如何設定自動跳過,然後執行下一個呢?
本帖最後由 norafang 於 2014-2-2 10:40 編輯
剛找了一下,相關主題找不到我要的答案,所以想說問看看有沒有大大可以幫忙解決
內容是,我有一個管控表固定去捉一些特定網站的股票資料,但有些網站也許並沒有符合每一檔股票的資料就會產生錯誤
比如我在捉台積電2330也許在yahoo會有公司資料,但台灣50, 0050也許就捉不到了,
遇到這種相關的寫法,又不想因找不到就中斷程式的問題,如何寫一段讓它找不到就跳過去該網站,再進行下一個網站的捉取呢?
因為整個寫法很長,我把我寫的前二個捉取網站貼上,我的0050就停在第二個網址就跑不下去了
x = Worksheets("管控表").Range("a1")
datetake = Format(Now, "yyyy-m-dd")
datetake180 = Format(Now - 180, "yyyy-m-dd")
yeartake = Format(Now, "yyyy")
yeartakech = Worksheets(Sheets.Count).Range("a43")
siteshow = "http://money.hinet.net/z/z0/z00/z00a_" & x & "_" & datetake180 & "_" & datetake & "_M.djhtm"
' MsgBox siteshow
Worksheets("copy").Copy after:=Worksheets(Sheets.Count)
With ActiveSheet.QueryTables.Add(Connection:= _
"URL;http://tw.stock.yahoo.com/q/q?s=" & x, Destination:=Worksheets(Sheets.Count).Range("$AA$1"))
.Name = "q?s=" & x
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.BackgroundQuery = True
.RefreshStyle = xlOverwriteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.WebSelectionType = xlSpecifiedTables
.WebFormatting = xlWebFormattingNone
.WebTables = "7"
.WebPreFormattedTextToColumns = True
.WebConsecutiveDelimitersAsOne = True
.WebSingleBlockTextImport = False
.WebDisableDateRecognition = False
.WebDisableRedirections = False
.Refresh BackgroundQuery:=False
End With
With ActiveSheet.QueryTables.Add(Connection:= _
"URL;http://tw.stock.yahoo.com/d/s/company_" & x & ".html", Destination:=Worksheets(Sheets.Count).Range( _
"$AA$9"))
.Name = "company_" & x
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.BackgroundQuery = True
.RefreshStyle = xlOverwriteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.WebSelectionType = xlSpecifiedTables
.WebFormatting = xlWebFormattingNone
.WebTables = "9,10,11"
.WebPreFormattedTextToColumns = True
.WebConsecutiveDelimitersAsOne = True
.WebSingleBlockTextImport = False
.WebDisableDateRecognition = False
.WebDisableRedirections = False
.Refresh BackgroundQuery:=False
End With
end sub
作者:
GBKEE
時間:
2014-2-3 07:43
回復
1#
norafang
請詳看VBA說明中的 On Error 陳述式
程序的開始加上
On Error Resume Next '表示當一個執行階段錯誤產生時,程式控制立刻到發生錯誤陳述式接下去的陳述式,而繼續執行下去
複製代碼
作者:
norafang
時間:
2014-2-4 09:19
回復
2#
GBKEE
試過,可以用
謝謝G大的回答及解決我困擾的問題,
歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)