Ⅰ Excel VBA代码如何实现股票数据汇总
上截图,说明你想要达到的效果,这样才能弄。问题不描述清楚没人能帮上你。
Ⅱ 怎样用Excel看股票如何看股票
首先打开一个Excel表格,输入标题,比如我输入的是“股票查询”,
选中“股票查询”下部的空格准备插入数据。首先选择“数据”,然后选择“来自网站”,
将自己经常看股票的网站网址输入进弹出的对话框,并点击转到,
在出现的页面中选择要插入的数据区域,点击“→”,然后点击导入,
选择当前单元格插入,如图所示插入后的数据列:
选中数据区域,鼠标右键点击,在弹出的菜单中单击“数据区域属性”,
在弹出的对话框中选择好刷新频率,以及用新的数据覆盖现有单元格等,
如果等不及自动刷新的话,可以右键单击后选择“刷新”,手动刷新查看数据,
Ⅲ Excel vba股价数据怎么自动更新
引用数据无效: 你使用那种方式引用的,用函数的话按F9就自动更新了。 如果是打开Excel,让数据实事更新,比较困难,只能基于vba的定时管理来刷新了。
Ⅳ 如何用VBA从WIND里取股票数据
首先 你需要有个万德的帐号,因为取得股票也是需要excel登录万德插件的
Ⅳ 用vba求股票中一分钟内的开、高、低、收
代码如下,详见附件
Private Sub CommandButton1_Click()
Dim Max!, Min!, Ro%, Rom%, T1 As Date, Tim As Date
Ro = 1: Rom = [A65536].End(3).Row + 1
Range("d2:h1441").ClearContents
For i = 2 To Rom
T1 = TimeSerial(Hour(Cells(i, 1)), Minute(Cells(i, 1)), 0)
If T1 <> Tim Then
Tim = T1
If Ro > 1 Then
Cells(Ro, 6) = Max
Cells(Ro, 7) = Min
Cells(Ro, 8) = Cells(i - 1, 2)
End If
Ro = Ro + 1
If i < Rom Then Cells(Ro, 4) = Tim
Cells(Ro, 5) = Cells(i, 2)
Max = Cells(i, 2)
Min = Max
Else
If Cells(i, 2) > Max Then Max = Cells(i, 2)
If Cells(i, 2) < Min Then Min = Cells(i, 2)
End If
Next
End Sub
Ⅵ 跪求高手帮我写VBA程序,把所有股票(上证和深证等)当日和前5日收盘价、成交量和流通股列出来
这个功能在一般的股票软件上自带,不需要额外编写程序或公式,我用的是通达信,操作步骤如下:打开软件,进入板块行情---点版面上方的“报表分析”---选择“阶段排行”---设置“起始日期”等---点“确定”---然后在板块行情页面,在上方任一显示栏目上点右键,换成你想关注的基本栏目,如收盘价、成交量、流通盘、流通市值,即可。
股票公式专家团为你解答,希望能帮到你,祝投资顺利。
Ⅶ VBA编程问题
亲,试试这个:假设数据在Sheet1,公式在Sheet2;假设数据都是从Sheet1的A2开始,一共100行。
=SUM(SUMPRODUCT((Sheet1!A2:A100=A2)*(YEAR(Sheet1!B2:B100)=B2)*(Sheet1!C2:C100)))/SUMPRODUCT((Sheet1!A2:A100=A2)*(YEAR(Sheet1!B2:B100)=B2))
Ⅷ excel股票自动刷新,VBA代码如何写啊
我测试了下发现是鼠标放上去悬停才能触发刷新数据的动作。。。
sheet1里写:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
宏2
End Sub
模块1里写:
Sub 宏2()
'
' 宏2 宏
ActiveWorkbook.RefreshAll
If Sheet1.[G1] <> "停止刷新" Then Application.OnTime (Now + TimeSerial(0, 0, 2)), "宏2"
End Sub
亲测OK。
TimeSerial(0, 0, 2) 里面的2就是每2秒刷新一次,可以改成你想要的数值。
这个是我录制宏,再稍微修改下,几分钟完成的。
Ⅸ 求VBA代码运算得到行业指数数据
Ⅹ 求VBA代码大全
1:打开所有隐藏工作表
2:循环宏
3:录制宏时调用“停止录制”工具栏
4:高级筛选5列不重复数据至指定表
5:双击单元执行宏(工作表代码)
6:双击指定区域单元执行宏(工作表代码)
7:进入单元执行宏(工作表代码)
8:进入指定区域单元执行宏(工作表代码)
9:在多个宏中依次循环执行一个(控件按钮代码)
10:在两个宏中依次循环执行一个并相应修改按钮名称(控件按钮代码)
11:在三个宏中依次循环执行一个并相应修改按钮名称(控件按钮代码)
12:根据A1单元文本隐藏/显示按钮(控件按钮代码)
13:当前单元返回按钮名称(控件按钮代码)
14:当前单元内容返回到按钮名称(控件按钮代码)
15:奇偶页分别打印
16:自动打印多工作表第一页
17:查找A列文本循环插入分页符
18:将A列最后数据行以上的所有B列图片大小调整为所在单元大小
19:返回光标所在行数20:在A1返回当前选中单元格数量
21:返回当前工作簿中工作表数量
22:返回光标选择区域的行数和列数
23:工作表中包含数据的最大行数
24:返回A列数据的最大行数
25:将所选区域文本插入新建文本框
26:批量插入地址批注
27:批量插入统一批注
28:以A1单元内容批量插入批注
29:不连续区域插入当前文件名和表名及地址
30:不连续区域录入当前单元地址
31:连续区域录入当前单元地址
32:返回当前单元地址
33:不连续区域录入当前日期
34:不连续区域录入当前数字日期
35:不连续区域录入当前日期和时间
36:不连续区域录入对勾
37:不连续区域录入当前文件名
38:不连续区域添加文本
39:不连续区域插入文本
40:从指定位置向下同时录入多单元指定内容
41:按aa工作表A列的内容排列工作表标签顺序
42:以A1单元文本作表名插入工作表
43:删除所有未选定工作表
44:工作表标签排序
45:定义指定工作表标签颜色
46:在目录表建立本工作簿中各表链接目录
47:建立工作表文本目录
48:查另一文件的所有表名
49:当前单元录入计算机名
50:当前单元录入计算机用户名
51:解除所有工作表保护
52:为指定工作表加指定密码保护表
53:在有密码的工作表执行代码
54:执行前需要验证密码的宏(控件按钮代码)
55:执行前需要验证密码的宏()
56:拷贝A1公式和格式到A2
57:复制单元数值
58:插入数值条件格式
59:插入透明批注
60:添加文本
61:光标定位到指定工作表A列最后数据行下一单元
62:定位选定单元格式相同的所有单元格
63:按当前单元文本定位
64:按固定文本定位
65:删除包含固定文本单元的行或列
66:定位数据及区域以上的空值
67:右侧单元自动加5(工作表代码)
68:当前单元加2
69:A列等于A列减B列
70:用于光标选定多区域跳转指定单元(工作表代码)
71:将A1单元录入的数据累加到B1单元(工作表代码)
72:在指定颜色区域选择单元时添加/取消"√"(工作表代码)
73:在指定区域选择单元时添加/取消"√"(工作表代码)
74:双击指定单元,循环录入文本(工作表代码)
75:双击指定单元,循环录入文本(工作表代码)
76:单元区域引用(工作表代码)
77:在指定区域选择单元时数值加1(工作表代码)
78:混合文本的编号
79:指定区域单元双击数据累加(工作表代码)
80:选择单元区域触发事件(工作表代码)
81:当修改指定单元内容时自动执行宏(工作表代码)
82:被指定单元内容限制执行宏
83:双击单元隐藏该行(工作表代码)
84:高亮显示行(工作表代码)
85:高亮显示行和列(工作表代码)
86:为指定工作表设置滚动范围(工作簿代码)
87:在指定单元记录打印和预览次数(工作簿代码)
88:自动数字金额转大写(工作表代码)
89:将所有工作表的A1单元作为单击按钮(工作簿代码)
90:闹钟——到指定时间执行宏(工作簿代码)
91:改变Excel界面标题的宏(工作簿代码)
92:在指定工作表的指定单元返回光标当前多选区地址(工作簿代码)
93:B列录入数据时在A列返回记录时间(工作表代码)
94:当指定区域修改时在其右侧的2个单元返回当前日期和时间(工作表代码)
95:指定单元显示光标位置内容(工作表代码)
96:每编辑一个单元保存文件
97:指定允许编辑区域
98:解除允许编辑区域限制
99:删除指定行
100:删除A列为指定内容的行
1:打开所有隐藏工作表
Sub打开所有隐藏工作表()
DimiAsInteger
Fori=1ToSheets.Count
Sheets(i).Visible=True
Nexti
EndSub
2:循环宏
Sub循环()
AAA=Range("C2")
DimiAsLong
DimtimesAsLong
times=AAA
'times代表循环次数,执行前把times赋值即可(不可小于1,不可大于2147483647)
Fori=1Totimes
Call过滤一行
IfRange("完成标志")="完成"Then
ExitFor
'假如名为'完成标志'的命名单元的值等于'完成',则退出循环,假如一开始就等于'完成',则只执行一次循环就退出
'IfSheets("传送参数").Range("A"&i).Text="完成"Then
ExitFor
'假如某列出现"完成"内容则退出循环
Nexti
EndSub
3:录制宏时调用“停止录制”工具栏
Sub录制宏时调用停止录制工具栏()
Application.CommandBars("StopRecording").Visible=True
EndSub
4:高级筛选5列不重复数据至指定表
Sub高级筛选5列不重复数据至Sheet2()
Sheets("Sheet2").Range("A1:E65536")=""'清除Sheet2的A:D列
Range("A1:E65536").AdvancedFilterAction:=xlFilterCopy,CopyToRange:=Sheet2.Range(_
"A1"),Unique:=True
Sheet2.Columns("A:E").SortKey1:=Sheet2.Range("A2"),Order1:=xlAscending,Header:=xlGuess,_
OrderCustom:=1,MatchCase:=False,Orientation:=xlTopToBottom,SortMethod_
:=xlPinYin
EndSub
5:双击单元执行宏(工作表代码)
PrivateSubWorksheet_BeforeDoubleClick(ByValTargetAsRange,CancelAsBoolean)
IfRange("$A$1")="关闭"Then
ExitSub
SelectCaseTarget.Address
Case"$A$4"
Call宏1
Cancel=True
Case"$B$4"
Call宏2
Cancel=True
Case"$C$4"
Call宏3
Cancel=True
Case"$E$4"
Call宏4
Cancel=True
EndSelect
EndSub
6:双击指定区域单元执行宏(工作表代码)
PrivateSubWorksheet_BeforeDoubleClick(ByValTargetAsRange,CancelAsBoolean)
IfRange("$A$1")="关闭"ThenExitSub
IfNotApplication.Intersect(Target,Range("A4:A9","C4:C9"))IsNothingThenCall打开隐藏表
EndSub
7:进入单元执行宏(工作表代码)
PrivateSubWorksheet_SelectionChange(ByValTargetAsRange)'以单元格进入代替按钮对象调用宏
IfRange("$A$1")="关闭"ThenExitSub
SelectCaseTarget.Address
Case"$A$5"'单元地址(Target.Address),或命名单元名字(Target.Name)
Call宏1
Case"$B$5"
Call宏2
Case"$C$5"
Call宏3
EndSelect
EndSub
8:进入指定区域单元执行宏(工作表代码)
PrivateSubWorksheet_SelectionChange(ByValTargetAsRange)
IfRange("$A$1")="关闭"ThenExitSub
IfNotApplication.Intersect(Target,Range("A4:A9","C4:C9"))IsNothingThenCall打开隐藏表
EndSub
9:在多个宏中依次循环执行一个(控件按钮代码)
PrivateSubCommandButton1_Click()
StaticRunMacroAsInteger
SelectCaseRunMacro
Case0
宏1
RunMacro=1
Case1
宏2
RunMacro=2
Case2
宏3
RunMacro=0
EndSelect
EndSub
10:在两个宏中依次循环执行一个并相应修改按钮名称(控件按钮代码)
PrivateSubCommandButton1_Click()
WithCommandButton1
If.Caption="保护工作表"Then
Call保护工作表
.Caption="取消工作表保护"
ExitSub
EndIf
If.Caption="取消工作表保护"Then
Call取消工作表保护
.Caption="保护工作表"
ExitSub
EndIf
EndWith
EndSub
11:在三个宏中依次循环执行一个并相应修改按钮名称(控件按钮代码)
_Click()
WithCommandButton1
If.Caption="宏1"Then
Call宏1
.Caption="宏2"
ExitSub
EndIf
If.Caption="宏2"Then
Call宏2
.Caption="宏3"
ExitSub
EndIf
If.Caption="宏3"Then
Call宏3
.Caption="宏1"
ExitSub
EndIf
EndWith
EndSub
12:根据A1单元文本隐藏/显示按钮(控件按钮代码)
PrivateSubWorksheet_SelectionChange(ByValTargetAsRange)
IfRange("A1")>2Then
CommandButton1.Visible=1
Else
CommandButton1.Visible=0
EndIf
EndSub
PrivateSubCommandButton1_Click()
重排窗口
EndSub
13:当前单元返回按钮名称(控件按钮代码)
PrivateSubCommandButton1_Click()
ActiveCell=CommandButton1.Caption
EndSub
14:当前单元内容返回到按钮名称(控件按钮代码)
PrivateSubCommandButton1_Click()
CommandButton1.Caption=ActiveCell
EndSub
15:奇偶页分别打印
Sub奇偶页分别打印()
Dimi%,Ps%
Ps=ExecuteExcel4Macro("GET.DOCUMENT(50)")'总页数
MsgBox"现在打印奇数页,按确定开始."
Fori=1ToPsStep2
ActiveSheet.PrintOutfrom:=i,To:=i
Nexti
MsgBox"现在打印偶数页,按确定开始."
Fori=2ToPsStep2
ActiveSheet.PrintOutfrom:=i,To:=i
Nexti
EndSub
16:自动打印多工作表第一页
Sub自动打印多工作表第一页()
DimshAsInteger
Dimx
Dimy
Dimsy
Dimsyz
x=InputBox("请输入起始工作表名字:")
sy=InputBox("请输入结束工作表名字:")
y=Sheets(x).Index
syz=Sheets(sy).Index
Forsh=yTosyz
Sheets(sh).Select
Sheets(sh).PrintOutfrom:=1,To:=1
Nextsh
EndSub
17:查找A列文本循环插入分页符
Sub循环插入分页符()
'Selection=Workbooks("临时表").Sheets("表2").Range("A1")调用指定地址内容
DimiAsLong
DimtimesAsLong
times=Application.WorksheetFunction.CountIf(Sheet1.Range("a:a"),"分页")'times代表循环次数,执行前把times赋值即可(不可小于1,不可大于2147483647)
Fori=1Totimes
Call插入分页符
Nexti
EndSub
Sub插入分页符()
Cells.Find(What:="分页",After:=ActiveCell,LookIn:=xlValues,LookAt:=_
xlPart,SearchOrder:=xlByRows,SearchDirection:=xlNext,MatchCase:=False)_
.Activate
ActiveWindow.SelectedSheets.HPageBreaks.AddBefore:=ActiveCell
EndSub
Sub取消原分页()
Cells.Select
ActiveSheet.ResetAllPageBreaks
EndSub
18:将A列最后数据行以上的所有B列图片大小调整为所在单元大小
Sub将A列最后数据行以上的所有B列图片大小调整为所在单元大小()
DimPicAsPicture,i&
i=[A65536].End(xlUp).Row
ForEachPicInSheet1.Pictures
IfNotApplication.Intersect(Pic.TopLeftCell,Range("B1:B"&i))IsNothingThen
Pic.Top=Pic.TopLeftCell.Top
Pic.Left=Pic.TopLeftCell.Left
Pic.Height=Pic.TopLeftCell.Height
Pic.Width=Pic.TopLeftCell.Width
EndIf
Next
EndSub
19:返回光标所在行数
Sub返回光标所在行数()
x=ActiveCell.Row
Range("A1")=x
EndSub
20:在A1返回当前选中单元格数量
Sub在A1返回当前选中单元格数量()
[A1]=Selection.Count
EndSub
21:返回当前工作簿中工作表数量
Sub返回当前工作簿中工作表数量()
t=Application.Sheets.Count
MsgBoxt
EndSub93:B列录入数据时在A列返回记录时间(工作表代码)
PublicSubWorksheet_Change(ByValTargetAsRange)
IfTarget.Column=2Then
Target.Offset(,-1)=Now
EndIf
EndSub
94:当指定区域修改时在其右侧的2个单元返回当前日期和时间(工作表代码)
PublicSubWorksheet_Change(ByValTargetAsRange)
IfNotApplication.Intersect(Target,[A1:A1000])IsNothingThen
IfTarget.Column=1Then
Target.Offset(,1)=Date
Target.Offset(,2)=Time
EndIf
EndIf
EndSub
PublicSubWorksheet_Change(ByValTargetAsRange)
IfNotApplication.Intersect(Target,[A1:A1000])IsNothingThen
IfTarget.Column=1Then
Target.Offset(,1)=Format(Now(),"yyyy-mm-dd")
Target.Offset(,2)=Format(Now(),"h:mm:ss")
EndIf
EndIf
EndSub
95:指定单元显示光标位置内容(工作表代码)
PrivateSubWorksheet_SelectionChange(ByValTAsRange)
Sheets(1).Range("A1")=Selection
EndSub
96:每编辑一个单元保存文件
PrivateSubWorksheet_Change(ByValTargetAsRange)
ThisWorkbook.Save
EndSub
97:指定允许编辑区域
Sub指定允许编辑区域()
ActiveSheet.ScrollArea="B8:G15"
EndSub
98:解除允许编辑区域限制
Sub解除允许编辑区域限制()
ActiveSheet.ScrollArea=""
EndSub
99:删除指定行
Sub删除指定行()
Workbooks("临时表").Sheets("表2").Range("5:5").Delete
EndSub
100:删除A列为指定内容的行
Sub删除A列为指定内容的行()
Dima,bAsInteger
a=Sheet1.[a65536].End(xlUp).Row
Forb=aTo2Step-1
IfCells(b,1).Value="删除"Then
Rows(b).Delete
EndIf
Next
EndSub