❶ 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。
原网页源代码写的不太规范,几处语法写错的地方解析时要特殊处理,花了点时间。