.net 从txt中读取行数据_【VBA项目】从指定文件中读取数据并绘制图表

a87391b02397d12a583bbe3f8f8bb5ab.png

VBA 是一种很久远的编程语言,但并不过时。在满足以下两个条件时,借助 VBA 可以极大的提升生产率,降低出错率:

  • 你的电脑上不允许自主安装软件;
  • 你需要执行的工作中大部分的步骤都是固定且重复的。

项目背景

近期接到一个工作任务,在运行设备中,会定期生成数据记录文件(txt 格式),我需要将这个文件中的 1000 个数据导入到 Excel 中,通过公式计算,得到需要的另外两列数据,将这两列数据作为数据源,设置一个组合图表(折线图+折线图),设置好图表的格式,最后将图表转换为图片,保存到指定位置。同时在主表中新建一行记录本次的相关数据。

拿到手的数据如下如所示:

4ef4095464ac9393acdc0612193d19ed.png

最终得到的图片如下图所示:

641a0b8b25c0aba7dd702e6d6be4da9b.png

整个过程看起来并不复杂,一套流程操作下来大概也只需要不到 10 分钟的时间。但是当这个工作变成每天 100 次的话,就是一个相当考验人的任务了。那么借助 VBA,可以将这个过程缩减到 10 秒钟,看一下是如何实现的。

任务分解

首先对文档数据进行分析,它的数据内容是变化的,但是遵循了固定的格式:

  • 文档包含1004个数据,数据以“,”来进行分割;
  • 第1-1000个数据代表测量数据,也是需要进行进一步处理的数据
  • 第1001个数据代表测量序号,需要手动设置到图标上,同时图片的保存文件名也需要用到;
  • 第1002-1004个数据是相关的状态型号,需要记录存档。

然后是对数据进行的处理:

  • 新建一列B,取值为对应记录数据的奇偶性,(奇数为100,偶数为0);
  • 再新建一列C,取值为对应记录数据除以4096,是实际的测量值。

以BC列为数据源,插入一个组合图表:

  • 图表类型选择“组合图表”,
  • 将序列1(B列)设置为“折线图”,设置在“次坐标轴”上;
  • 将序列2(C列)设置为“折现图”,设置在“主坐标轴”上;
  • 为序列2(C列)添加一条趋势线(移动平均、周期20);
  • 修改主标题、主/次坐标轴标题,主/次横轴标题的文字;
  • 修改次坐标轴的坐标刻度(只保留0,100);
  • 设置3条折线的颜色、宽度、透明度等,让数据显示更加明显。

VBA 实现

根据分解的任务,就可以编写VBA程序来实现整个过程。

这个项目中,VBA程序中涉及到的知识点包括:

  1. 数据文件读取
  • “打开文件”对话框的调用
  • 筛选指定格式文件
  • 设置默认打开路径
  • 工作簿、工作表的概念及VBA中对其进行的操作的方法
  • 文件属性的获取
数据清洗处理
  • EXCEL中表格内容到VBA数组的相互转换
  • VBA中的“For Next”循环结构
  • 数据类型及强制转换数据类型
  • 文本格式化函数Format的使用
  • 词典的创建和使用
图表绘制及调整
  • 在EXCEL中使用VBA来创建图表,指定位置和大小;
  • 图表元素的添加、删除和修改;
  • 图表属性的设定
  • 图表转换为图片的方法

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/533118.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

axure实现复选框全选_jq简单的全选、反选和全不选效果

jquery是很实用和方便的前端效果库,可以让我减少很多的操作和节省很多的时间。今天,我们来说一下jq的全选、全不选和反选效果,本篇讲的是最简单简洁的jq全选、全不选和反选的例子。如果还有什么其他的功能要求可自己根据所学到的基础来扩展一…

计算机设备管理器驱动,设备管理器安装驱动程序的详细教程

系统出现问题,很多人都会选择重装系统。但系统重装后,我们所做的第一件事,就是安装驱动。有的驱动程序有安装包,直接安装就行了。但是有的驱动是只有驱动程序文件,而没有执行程序,这时候就需要通过设备管理…

电路串联和并联图解_一个关于交流电路谐振现象的仿真实验

对于一个具有电阻、电感、电容的交流电路中,交流电源两端的电压一般不和它输出的电流同相位。如果调节电路的参数或者电源频率使它们同相位,这时电路就发生了谐振现象。按照发生谐振现象的电路不同,可以分为串联谐振和并联谐振。1、串联谐振在…

sync不生效 vue_Vue实战项目-记账器-重要知识点汇总

历时3周,记账器项目终于可以运行了,这次项目是基于Vue开发,用到了typeScript和Scss,下面基于项目做一个阶段性的总结,回顾一下项目中用到的知识点。一.组件一开始用的是JS对象的写法:构造选项:{ data(){ret…

fifo页面置换算法设计思路_千万级并发!如何设计一个多级缓存系统?

什么是一个多级缓存系统?它有什么用?我们又如何设计一个多级缓存系统?图片来自 Pexels所谓多级缓存系统,就是指在一个系统的不同的架构层级进行数据缓存,以提升访问效率。我们都知道,一个缓存系统,它面临着许多问题&#xff0c…

apple quicktime怎么在ppt中用_PPT情感专题大赏No. 007:一份这就是街舞第三季主题PPT(上集)...

Hello,大家好,这里是千师傅小作坊第35期,我是你们的老朋友千千。熟悉千师傅小作坊的人都知道,千师傅特别喜欢看综艺,尤其是音乐、表演、舞蹈类。作为一个十八线PPT设计师,如果我看到好看的节目视觉设计&…

idea内存溢出解决_各种OOM代码样例及解决方法

针对目前大家对OOM的类型不太熟悉,那么来总结一下各种OOM出现的情况以及解决方法。把各种OOM的情况列出来,然后逐一进行代码编写复现和提供解决方法。1. 堆溢出-java.lang.OutOfMemoryError: Java heap space。2. 栈溢出-java.lang.OutOfMemorryError。3…

win7安装硬盘后无法启动计算机,硬盘装Win7系统电脑后开机提示DISK BOOT FAILURE怎么办【图文】...

很多人都喜欢安装win7系统,而硬盘安装系统的方式也是深受用户们的喜欢,但是最近有用户反映说硬盘安装win7系统之后,在重启计算机的时候屏幕提示DISK BOOT FAILURE,INSERT SYSTEM DISK AND PRESS ENTER,导致无法正常进入系统&#…

导入数据中文乱码_基于Navicat和Kettle的数据迁移完全解读(多图)

需求描述对于数据分析人员来说,工作的基础是数据,没有数据分析就无从谈起,即巧妇难为无米之炊。#数据库# #数据迁移# #Oracle# 然而,数据分析往往在实验环境或者准生产环境中开展,而数据分布在生产环境,因此…

怎样能确保计算机安全,如何确保电脑安全

如何确保电脑安全电脑安全问题层出不穷,如何确保电脑安全呢?下面是小编分享的一些方法,一起来看一下吧。一、关闭默认共享大部分的电脑系统在默认的情况下都是自动开启网络共享设置的,Win7系统也不例外,该功能主要是为了用户能够…

点云平面提取_基于LiDAR点云数据滤波方法

基于LiDAR点云数据滤波方法机载激光雷达所获取的数据被称为“点云(points cloud)”它在三维空间中呈现出随机分布的形状。在点云中,有些点属于真实的地形表面的点,有些点属于人工建筑物塔、输电线、桥等或自然植被如树、灌木、草、其他植物。激光雷达数据…

全国计算机一级书红色封面,年度最强的网红录取通知书,竟然附赠了一张黑胶唱片...

这两天世超被一张来自中国科学院大学的录取通知书给刷屏了,这份录取通知书里还附赠了一张黑胶光盘。光盘上刻录了一份国科大为新生准备的特别的礼物 —— 一段来自宇宙深处的声音。它们是由国科大师生通过 500 米口径球面射电望远镜( FAST )捕获的 15 颗脉冲星信号&…

动态新增表字段_制作动态的数据透视表(一):定义名称法创建数据透视表

——施瓦辛格:没有跌倒过的人不会成功。我们的日常工作中,会经常遇到一种情况:创建好数据透视表后,有其他被遗漏的数据内容需要重新插入到数据源后,有其他被遗漏的数据内容需要重新插入到数据源中;或者是需…

计算机公式or,【转载】 odds、OR和RR的计算公式和实际意义

1. OddsOdds 的意思为机率、可能性,是指某事件发生的可能性(概率)与不发生的可能性(概率)之比。假如某药物有疗效的比例为p1,则无效的比为1-p1,则odds的计算公式为:对于如下表所示的四格表,患病组的中暴露的概率(以实测…

系统相机裁剪比例_拍照时图片比例怎么选?比构图还要提前一步的摄影攻略要做好...

谈到摄影第一步,很多人都在说构图,但是比构图还要提前一步的,是选择合适的拍摄比例。在拍照时,始终是把要拍的东西装进设备的取景器里面,所以取景器的比例是16:9,还是4:3或者其他,就直接影响了我…

源码安装mysql_CentOS 7中源码安装MySQL 5.7.16 (亲测成功)

最近在CentOS 7中源码安装MySQL 5.7.16,发现MySQL5.7.6以后的安装方式真的与以前版本的MySQL安装方式大大的不同呀。不自己安装一把,下面这篇文章是通过自己的安装过程总结的一篇安装教程,有需要的朋友们可以参考借鉴,下面来一起看…

css动画定义,CSS3中Animation动画的定义和调用

现在经常会看到一些门户网站的专题使用到CSS3的动画,咋也不能落伍,在此这梳理下动画知识吧,便于后面用到。接下来介绍下Animation动画的定义和调用,在介绍Animation之前需要了解下Keyframes,英文意思就是关键帧&#x…

mysql5.7+proxy_mysql 5.7+mysql-proxy 0.8.5 读写分离

主从环境:mysql操做系统:CentOS6.5_x64linux主服务器Master:192.168.0.103sql从服务器Slave:192.168.0.105后端调度服务器MySQL-Proxy:192.168.0.104服务器1、mysql主从复制tcp2、mysql-proxy实现读写分离测试一、安装…

mysql 账户管理_Mysql账户管理原理与实现方法详解

本文实例讲述了Mysql账户管理原理与实现方法。分享给大家供大家参考,具体如下:账户管理在生产环境下操作数据库时,绝对不可以使用root账户连接,而是创建特定的账户,授予这个账户特定的操作权限,然后连接进行…

navicat for mysql 用户_Navicat for MySQL 怎么/怎么添加管理用户?Navicat for MySQL 添加管理用户教程_37游游网...

【37游游攻略】为了保证数据库的安全,对操作用户分级授权是非常有必要的,Navicat for MySQL 给我们提供了一个非常强悍又非常便捷的用户管理系统。点击位于连接右侧的用户命令,随之弹出管理用户的界面,Navicat for MySQL 系统默认…