❶ 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
不知道這樣是否是你想要的~
❷ 怎麼利用vba獲取財經網上股票股價的實時數據
1 這種軟體一般都是花錢的,主要是涉及到xml文件的解析。
2 如果想自己研究那就網上搜集一些資料學習。
以下提供一些網路的資料供參考。具體自己的需求還要自己編寫程序。
https://..com/question/1834142973359770260.html
https://www.hu.com/question/49538066/answer/129694646
❸ EXCEL如何用VBA自動獲取每個股票近幾天的漲幅
excel大量獲取數據是比較慢的 你這種得用vb寫dll多線程刷新數據才行 私聊
❹ 求 EXCEL 自動獲取全部股票近幾天的收盤價的 VBA程序
我只會從安裝的本地文件下載的數據中獲得數據轉化成Excel的表格。
❺ 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
❼ 用VB如何直接獲取股票實時數據
可以通過調用ChinaStockWebService的服務來實現獲取股票的實時數據,代碼如下:
publicstring[]getStockInfo(stringstockcode)
{
//stringurl="http://hq.sinajs.cn/list="+stockcode;
//stockcode某隻股票的代碼
stringurl="http://hq.sinajs.cn/list=sh600683";
WebClientclient=newWebClient();
client.Headers.Add("Content-Type","text/html;charset=gb2312");
Streamdata=client.OpenRead(url);
StreamReaderreader=newStreamReader(data,Encoding.GetEncoding("gb2312"));
strings=reader.ReadToEnd();
reader.Close();
data.Close();
returns.Split(',');
}
❽ VBA 編程問題,具體要求如下
給你一個例子,這是我為了解決部分問題而編寫的,調試已茄汪經通過,其中這些文件放在三個文件夾中,取出來統計到一起,你參考下,有不明白高沒的問我。
'本表的演算法分析
'將不良品日報表本月的內容和本月維修匯總表格本月的內容加總,同時將不良品匯總表格上月的存量一起累計出本月的存量
'為了程序的編寫方便,不考慮不良品匯總表格的上月內容,實際使用時將其直接從上月拷貝過來使用即可
'這個演算法是借用了字典新的item增加是往下加的效果,因此不能高錯亂了,因為上月存量是與料號是一一對應的
'不統計本月維修的料號種類的原因是因為本月不良日報表和上月存量內的所有料號是涵蓋本月維修的料號的
Sub RefreshData()
Dim wb_bl As Workbook '不良品日顫念仔報表工作簿
Dim wb_wx As Workbook '維修日報表工作簿
Dim sht_me As Worksheet '本報表,即不良品匯總表
Dim sht_wx As Worksheet '維修日報表
Dim sht_bl As Worksheet '不良品日報表
Dim str As String
Set sht_me = ThisWorkbook.ActiveSheet
str = ThisWorkbook.Path
str = Mid(str, 1, InStrRev(str, "\")) '獲取上一層目錄
Application.ScreenUpdating = False
Set wb_bl = GetObject(str & "不良品日報表" & "\" & Left(ThisWorkbook.Name, 2) & "年不良品統計.xlsm")
Set wb_wx = GetObject(str & "維修日報表" & "\" & Left(ThisWorkbook.Name, 2) & "年維修統計.xlsm")
For Each sht_bl In wb_bl.Sheets '獲取不良品日報表月份
If sht_bl.Name = sht_me.Name Then
Exit For
End If
Next
For Each sht_wx In wb_wx.Sheets '獲取維修日報表月份
If sht_wx.Name = sht_me.Name Then
Exit For
End If
Next
Set d = CreateObject("scripting.dictionary")
Dim cnt_me As Integer
Dim cnt_bl As Integer
Dim cnt_wx As Integer
Dim arr1, x As Integer
arr1 = sht_me.Range("b3:b" & sht_me.Range("b65536").End(xlUp).Row)
For x = 1 To UBound(arr1) '將本表對應月份的料號導入到字典
d(arr1(x, 1)) = x + 1
Next x
arr1 = sht_bl.Range("b3:b" & sht_bl.Range("b65536").End(xlUp).Row)
For x = 1 To UBound(arr1) '將不良品對應月份的料號導入到字典
d(arr1(x, 1)) = x + 1
Next x
'維修統計表的料號不需要導入的原因是,維修的內容必定是基於上月存量和本月不良
sht_me.Range("B3").Resize(d.Count, 1) = Application.WorksheetFunction.Transpose(d.keys)
cnt_me = sht_me.Cells(65535, 2).End(xlUp).Row
cnt_bl = sht_bl.Cells(65535, 2).End(xlUp).Row
cnt_wx = sht_wx.Cells(65535, 2).End(xlUp).Row
For x = 3 To cnt_me
sht_me.Cells(x, 4).Value = Application.WorksheetFunction.SumIf(sht_bl.Range("b3:b" & cnt_bl), sht_me.Cells(x, 2), sht_bl.Range("d3:d" & cnt_bl)) '不良品數量
sht_me.Cells(x, 5).Value = Application.WorksheetFunction.SumIf(sht_wx.Range("b3:b" & cnt_wx), sht_me.Cells(x, 2), sht_wx.Range("c3:c" & cnt_wx)) '維修數量
sht_me.Cells(x, 6).Value = Application.WorksheetFunction.SumIf(sht_wx.Range("b3:b" & cnt_wx), sht_me.Cells(x, 2), sht_wx.Range("d3:d" & cnt_wx)) '報廢數量
Next x
Set d = Nothing
wb_bl.Close False
wb_wx.Close False
Set wb_bl = Nothing
Set wb_wx = Nothing
Application.ScreenUpdating = True
End Sub
❾ 在EXCEL里用VBA編程,對選擇的數據作股票圖
EXCEL折線圖根本就不可能有這么復雜,VBA畫圖取點與表格實際坐標之間對應又不確定和關系復雜,所以EXCEL不適合做這類工作。
❿ 用excel vba 抓取網頁中 股票的財務數據 然後做分析 做好了可以加分哈
網抓已經OK。
原網頁源代碼寫的不太規范,幾處語法寫錯的地方解析時要特殊處理,花了點時間。