商业数据分析3:EXCEL模块,宏与VBA股票数据动态表盘



商业数据分析3:EXCEL模块,宏与VBA股票数据动态表盘

宏:宏就是一系列的操作步骤,比如在单元格输入数据/复制数据或者求和;也可以根据需要不断重复运行多次 。
VBA:就是office提供的支持EXCEL程序的宏语言,比如编写语句和代码;通过这些代码完成程序 。
所以宏就是VBA写的,但可以通过录制的方法制作宏,做完宏你可以查看相应的VBA语句 。

1.宏录制

先在开发工具栏点击录制宏 , 在下方出入两个工作表 , 停止录制 , 运行刚才录制的宏(相当于执行刚才的操作步骤)可以发现又多了两个表格
商业数据分析3:EXCEL模块,宏与VBA股票数据动态表盘

商业数据分析3:EXCEL模块,宏与VBA股票数据动态表盘

每个操作里面都是SUB开头,SUB结尾
商业数据分析3:EXCEL模块,宏与VBA股票数据动态表盘

可以在宏代码后面加单引号进行注释,方便其他人阅读是什么操作
商业数据分析3:EXCEL模块,宏与VBA股票数据动态表盘

2.VBA简单示例:拆分工作表的宏操作

下面我们用宏拆分表格,在插入下面找到按钮,插入按钮,把代码输入 , 来让不同的工作表进行拆分,分别成为单独的excel,这个操作适合有有十几个表格时候,很方便
商业数据分析3:EXCEL模块,宏与VBA股票数据动态表盘

商业数据分析3:EXCEL模块,宏与VBA股票数据动态表盘

在这里点击开始拆分按钮 , 则会把下面四个表格分成四个excel 。来看下代码的解释,
第一行,定义sh是工作表(整个excel文件是工作库,下面sheet单就是工作表)
第二行,定义mybook是工作库
第三行,将将mybook变成当前这个页面(活跃的工作库)
第四行,for循环 , 将my book所有工作表进行以下操作:对工作表复制/存储路径及工作表名称、格式/最后完成这个循环 。
商业数据分析3:EXCEL模块,宏与VBA股票数据动态表盘

此时拆分完毕,可以在桌面看到四个单独的文件 。
商业数据分析3:EXCEL模块,宏与VBA股票数据动态表盘

3. 用VBA与vlookup函数完成股票交易数据dashboard(动态表盘)

下面是标普500公司股票数据的可视化图表,选择不同公司不同时间就可以在右图直接呈现变化
商业数据分析3:EXCEL模块,宏与VBA股票数据动态表盘

一个是是整理好的图表,另一个是清洗之后但没有整理的数据,来看看怎么实现上述操作的 。
首先在第一个表格(左侧)右键查看代码
商业数据分析3:EXCEL模块,宏与VBA股票数据动态表盘

商业数据分析3:EXCEL模块,宏与VBA股票数据动态表盘

左边表格的代码
第一行,输入的是名字,括号里是能触发change的一个范围
第二行,if的条件 , 把范围的位置设置在左边表格B7那里
第三行,当B7变化,则执行更新交易数据模块 。可以看到B7的值就是股票代码
商业数据分析3:EXCEL模块,宏与VBA股票数据动态表盘

交易数据模块的代码又是怎样?
第一 , 行定义为string
第二行,代码=第一个工作表B7的值
第三行 , 操作当前表格Price表里面所有的内容赋值给symbol
第四行,筛选器就是把原始数据从那边自动挪到新表的symbol
商业数据分析3:EXCEL模块,宏与VBA股票数据动态表盘

在此基础上,我们希望交易数据随着开始和终止日期进行改变,对日期进行赋值并添加筛选器的代码如下
商业数据分析3:EXCEL模块,宏与VBA股票数据动态表盘

为了不全其他值,可以用vlookup函数在右表进行查找,比如公司名字进行如下操作,PE/PS等同理
商业数据分析3:EXCEL模块,宏与VBA股票数据动态表盘

商业数据分析3:EXCEL模块,宏与VBA股票数据动态表盘

都选好之后,可以在插入版块里点击组合图,选择日期、交易量、休市价格
商业数据分析3:EXCEL模块,宏与VBA股票数据动态表盘

因为价格、交易量不是一个数量级,所以跟前面文章一样,选择次坐标轴
商业数据分析3:EXCEL模块,宏与VBA股票数据动态表盘

得到下图之后,可以点击图表设计的选择数据,可以把系列1选择交易量这1列,系列2 选择休市价格这列得到下图
商业数据分析3:EXCEL模块,宏与VBA股票数据动态表盘

商业数据分析3:EXCEL模块,宏与VBA股票数据动态表盘

更改系列的名称得到下图,这时候选择其他公司股票,图表也就跟着变化了
商业数据分析3:EXCEL模块,宏与VBA股票数据动态表盘

同样可以加入股票K线图,选择前5列 , 插入K线图
商业数据分析3:EXCEL模块,宏与VBA股票数据动态表盘

【商业数据分析3:EXCEL模块,宏与VBA股票数据动态表盘】最后就完成了整个股票交易量、交易数据的dashboard(动态表盘),点击不同公司,下图随之变化
商业数据分析3:EXCEL模块,宏与VBA股票数据动态表盘

相关经验推荐