標題:
請問如何截取指定參數網路內容之指定欄位資料?
[打印本頁]
作者:
peter460191
時間:
2012-1-4 13:39
標題:
請問如何截取指定參數網路內容之指定欄位資料?
本帖最後由 peter460191 於 2012-1-4 13:44 編輯
[attach]9048[/attach]
[attach]9049[/attach]
請問如何按 A欄的參數,截取網佔內容之J 欄及O欄所對應年度股利之資料
查詢網址→http://justdata.yuanta.com.tw/z/zc/zcc/zcc_1101.asp.htm→代號參數可變
作者:
GBKEE
時間:
2012-1-4 14:17
回復
1#
peter460191
Sub Ex()
Dim E As Range, Ar()
With Sheets("Sheet1")
For Each E In .Range(.[A6], .[A6].End(xlDown)) '股票代號區域
With Sheets("Sheet2").[A1].QueryTable 'Sheet2").[A1] 請設有外部查詢
.Connection = "URL;http://justdata.yuanta.com.tw/z/zc/zcc/zcc_" & E & ".asp.htm"
.WebSelectionType = xlSpecifiedTables
.WebFormatting = xlWebFormattingNone
.WebTables = "4"
.WebPreFormattedTextToColumns = True
.WebConsecutiveDelimitersAsOne = True
.WebSingleBlockTextImport = False
.WebDisableDateRecognition = False
.WebDisableRedirections = False
.Refresh BackgroundQuery:=False
With .ResultRange
Ar = .Range(.Cells(2, 6), .Cells(6, 6)).Value '年度股利合計範圍
End With
End With
E.Offset(, 2).Resize(1, 5) = Application.Transpose(Ar) '年度股利合計 複製於 股票代號區域向右2欄(1列,5欄)
Next
End With
End Sub
複製代碼
作者:
peter460191
時間:
2012-1-6 12:58
回復
2#
GBKEE
感謝 GBKEE 版大
試過後已可自動抓取資料,謝謝您!
另外,若要在『代號』參數改變後,自動變更資料,還要加那些程式,請幫忙!
再一次謝謝您!
作者:
GBKEE
時間:
2012-1-6 14:00
回復
3#
peter460191
須複製到 Sheet1
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False 'False 指定物件不能觸發事件
'EnableEvents 屬性 如果指定物件能觸發事件,則本屬性為 True
If Not Intersect(Target(1), Range([A6], [A6].End(xlDown))) Is Nothing Then Ex Target(1)
'Intersect 方法 傳回 Range 物件,此物件代表兩個或多個範圍重疊的矩形範圍。
Application.EnableEvents = True 'True 指定物件能觸發事件
End Sub
Private Sub Ex(E As Range) '接受參數 E As Range
Dim Ar()
With Sheets("Sheet2").[A1].QueryTable ' ***Sheet2").[A1] 請設有外部查詢***
.Connection = "URL;http://justdata.yuanta.com.tw/z/zc/zcc/zcc_" & E & ".asp.htm"
.WebSelectionType = xlSpecifiedTables
.WebFormatting = xlWebFormattingNone
.WebTables = "4"
.WebPreFormattedTextToColumns = True
.WebConsecutiveDelimitersAsOne = True
.WebSingleBlockTextImport = False
.WebDisableDateRecognition = False
.WebDisableRedirections = False
.Refresh BackgroundQuery:=False
With .ResultRange
Ar = .Range(.Cells(2, 6), .Cells(6, 6)).Value '年度股利合計範圍
End With
End With
E.Offset(, 2).Resize(1, 5) = Application.Transpose(Ar) '年度股利合計 複製於 股票代號區域向右2欄(1列,5欄)
'這裡 Sheets("Sheet1")有輸入: 會觸動Sheets("Sheet1")的 Private Sub Worksheet_Change
'Application.EnableEvents = False -> 不會觸發Sheets("Sheet1")的 Private Sub Worksheet_Change
End Sub
複製代碼
作者:
dechiuan999
時間:
2012-1-8 08:54
各位樓主大大您好:
小弟這幾日一直鑽研此篇幅
仍然無法領會,還請各位大大指點
迷津。
一、第二篇版主提到要在sheet2裡
'Sheet2").[A1] 請設有外部查詢
應如何增設呢?
小弟已增列:d:\temp\zcc_1101.iqy
WEB
1
http://justdata.yuanta.com.tw/z/zc/zcc/zcc_1101.asp.htm
Selection=4
Formatting=None
PreFormattedTextToColumns=True
ConsecutiveDelimitersAsOne=True
SingleBlockTextImport=False
DisableDateRecognition=False
DisableRedirections=False
二、請問此網頁為何並未有首頁
可登入呢?
感恩各位大大?
作者:
GBKEE
時間:
2012-1-8 09:13
回復
5#
dechiuan999
Sheets("Sheet2").[A1] 請設有外部查詢 應如何增設呢? 小弟已增列:d:\temp\zcc_1101.iqy
到Sheet2 選擇A1
指令 資料->匯入外部資料->匯入資料 : [選取資料來源] 開啟 d:\temp\zcc_1101.iqy
作者:
dechiuan999
時間:
2012-1-8 14:03
謝謝版主大大。
指令 資料->匯入外部資料->匯入資料 : [選取資料來源] 開啟 d:\temp\zcc_1101.iqy
第二篇語法已測成功。
另第四篇的語法,分為二段
第一段小弟將其擺放在sheets1裡的工作表事件,
而第二段小弟放置在模組內,但無法執行此模組。並在a7輸入股票代號
之後卻無反應,如果全部將其擺放至sheet1工作表事件內
也是不行。請問其原因為何呢?
感恩大大!
作者:
GBKEE
時間:
2012-1-8 14:53
回復
7#
dechiuan999
而第二段小弟放置在
模組
內,但無法執行此
模組
Private
Sub Ex(E As Range) '接受參數 E As Range 刪掉
Private
作者:
dechiuan999
時間:
2012-1-8 21:03
謝謝版主大大。
小弟已遵照版主指示
也是沒有動作
可能是在家裡使用
excel 2002版的關係吧!
我明天到公司改用
excel2010版試試
感恩版主大大!
作者:
peter460191
時間:
2012-1-9 10:03
回復
4#
GBKEE
謝謝GBKEE版大幫忙!
已可以執行隨代號變動資料,一定要花幾天好好研究內容, 自己試著把股名也顯示出來, 再一次謝謝版大!
作者:
peter460191
時間:
2012-1-9 10:20
回復
4#
GBKEE
請教版大:
我若要變更顯示資料的欄位要從那一行修改,我試了好久找不到,只找到變更顯試示結果的範圍,請指點一下,謝謝您!
作者:
peter460191
時間:
2012-1-9 10:35
回復
4#
GBKEE
GBKEE 版大:
我已找到變更資料欄位的地方了。
目前再研究看如何抓出中文股名。
若遇到瓶頸再請教版大,謝謝您!
歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)