① VBA編程讀入數據
Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
'假設股票數據在1,2行,用戶輸入股票名稱的單元格為「A4」
Set objRange = Range("A4")
'判斷用戶是否在A4中進行輸入
If Not Intersect(Target, objRange) Is Nothing Then
strInput = objRange.Value
'調用HLookUp對數據進行檢索
With Application.WorksheetFunction
strOutput = .HLookup(strInput, Range("1:2"), 2, 0)
End With
'檢索失敗進行提示
If strOutput = "" Then
MsgBox "無效輸入"
'檢索成功,新建Excel文檔,將用戶輸入數據和查詢結果賦值給指定單元格
Else
Set objExcelApp = CreateObject("Excel.Application")
objExcelApp.Visible = True
Set objWorkBook = objExcelApp.Workbooks.Add
Set objSheet = objWorkBook.Sheets.Item(1)
objSheet.Cells(1, 1).Value = strInput
objSheet.Cells(2, 1).Value = strOutput
objWorkBook.SaveAs "D:\test\Result.xls"
objWorkBook.Close
objExcelApp.Quit
Set objExcelApp = Nothing
End If
End If
End Sub
不知道這樣是否是你想要的~
② 請問如何批量下載股票歷史數據
1
打開Choice金融終端,啟動Excel插件
注意事項
下載中數據量龐大時,耗時可能會稍長,當然也比傳統的下載要省事很多
③ 跪求高手幫我寫VBA程序,把所有股票(上證和深證等)當日和前5日收盤價、成交量和流通股列出來
這個功能在一般的股票軟體上自帶,不需要額外編寫程序或公式,我用的是通達信,操作步驟如下:打開軟體,進入板塊行情---點版面上方的「報表分析」---選擇「階段排行」---設置「起始日期」等---點「確定」---然後在板塊行情頁面,在上方任一顯示欄目上點右鍵,換成你想關注的基本欄目,如收盤價、成交量、流通盤、流通市值,即可。
股票公式專家團為你解答,希望能幫到你,祝投資順利。
④ EXCEL如何用VBA自動獲取每個股票近幾天的漲幅
excel大量獲取數據是比較慢的 你這種得用vb寫dll多線程刷新數據才行 私聊
⑤ 1、如何將財經類網上股票歷年分紅數據提取到EXCEL表裡,並獲取股票實時價格
回答此類問題的描述會被網路知道判違規。
請在「數據」選項下的「自網站」進行相應的操作,然後設置數據更新頻率,即可。
⑥ 如何用VBA從WIND里取股票數據
首先 你需要有個萬德的帳號,因為取得股票也是需要excel登錄萬德插件的
⑦ 如何下載股票歷史成交數據到Excel或txt
以華中智能股票軟體為例:(以Think pad X13 銳龍版筆記本電腦,Windows 10 操作為例)首先切換到要下載數據的股票K線形態,按「F1」進入「日線某某股票歷史成交」,點擊滑鼠右鍵->數據導出->導出所有數據->在「請選擇導出的類型」中選擇excel或txt
補充資料:
如何獲取所有股票歷史數據:
如果要對股市進行分析,首先就要獲取所有股票的歷史數據,只有通過股票的歷史數據,我們才能分析出股市的規律。
(以Think pad X13 銳龍版筆記本電腦,Windows 10 操作為例)
一、工具/原料
1、EXCEL2007或者以上版本,不能使用WPS
2、電腦1g內存1核處理器及以上配置
3、擁有較強邏輯分析能力以及少量智慧及以上的大腦一顆
方法/步驟:
第一步,獲取股票代碼,復制其中一部分到第一個工作表A4到A127,然後通過程序把每一個代碼寫入到不同的工作表A2位置,並對該工作表以該股票代碼命名。程序如下:
Sub 工作表命名()
For i = 4 To 127
Sheets(i).Range("a2") = "'" & Sheets(1).Range("a" & i)
Next i
For i = 4 To Sheets.Count
Sheets(i).Name = Sheets(i).Range("a2").Value
Next
End Sub
第二步,獲取股票歷史數據。代碼如下:
Private Function GetSource(sURL As String) As String
Dim oXHTTP As Object
Set oXHTTP = CreateObject("MSXML2.XMLHTTP")
oXHTTP.Open "GET", sURL, False
oXHTTP.Send
GetSource = oXHTTP.responsetext
Set oXHTTP = Nothing
End Function
Sub 歷史數據()
Dim objXML As Object
Dim txtContent As String
Dim i As Integer
Dim strCode As String
Dim gp As String
Dim kaishihang
Dim arr, arr1, arr2, arr3, arr4, arr5, arr6, arr7, arr8, arr9, arr10, arr11
On Error Resume Next
EndRow = Range("a65536").End(xlUp).Row
startRow = 4
If startRow <= EndRow Then
Range(Cells(startRow, 1), Cells(EndRow, 11)).Value = ""
Else
Exit Sub
End If
Set objXML = CreateObject("Microsoft.XMLHTTP")
gp = [A2]
For h = 1 To 4
For m = 1 To 4
kaishihang = [A65535].End(xlUp).Row
nian = Replace(Str(Year(Now) + 1 - h), " ", "")
ji = Replace(Str(4 + 1 - m), " ", "")
With objXML
.Open "GET", "http://quotes.money.163.com/trade/lsjyj_" + gp + ".html?year=" + nian + "&season=" + ji + "", False
.Send
If objXML.Status = 200 Then
txtContent = .responsetext
arr = Split(txtContent, "'>
⑧ 怎麼利用vba獲取財經網上股票股價的實時數據
1 這種軟體一般都是花錢的,主要是涉及到xml文件的解析。
2 如果想自己研究那就網上搜集一些資料學習。
以下提供一些網路的資料供參考。具體自己的需求還要自己編寫程序。
https://..com/question/1834142973359770260.html
https://www.hu.com/question/49538066/answer/129694646
⑨ Excel vba股價數據怎麼自動更新
引用數據無效: 你使用那種方式引用的,用函數的話按F9就自動更新了。 如果是打開Excel,讓數據實事更新,比較困難,只能基於vba的定時管理來刷新了。
⑩ 怎樣用EXCEL 實時讀取 股票日線數據
定量分析的第一步,是獲取數據。
獲取股票歷史行情數據最方便的途徑,就是直接讀取股票行情軟體留在你電腦中的日線數據文件。
但如果不是程序員,電腦里一般不會有VB、VC之類的編程語言。
其實,大家的電腦中一般都有OFFICE。OFFICE中的EXCEL自帶了一個VBA語言的編程環境。功能也很強大。
我用EXCEL里的VBA編寫了一段代碼,讀取通達信股票行情軟體的日線文件。已經測試通過。
代碼如下。與愛好定量分析的朋友分享。
TypeMyType
a1AsLong'標示碼
a2AsLong'日期
a3AsSingle'開盤價
a4AsSingle'最高價
a5AsSingle'最低價
a6AsSingle'收盤價
a7AsSingle'成交金額
a8AsLong'成交量
EndType
Sub按鈕1_Click()
DimFile2AsInteger
DimbAsMyType
File1=FreeFile
Opensh600000.dayForBinaryAccessReadAs#File1i=1DoWhileNotEOF(File1)
Get#File1,,b
Cells(i,1)=b.a1
Cells(i,2)=b.a2
Cells(i,3)=b.a3
Cells(i,4)=b.a4
Cells(i,5)=b.a5
Cells(i,6)=b.a6