excel数据整理

我们在日常工作中经常会碰到excel自带公式无法解决的问题,在面对大量数据需要整理计算的时候会消耗大量的时间,如果你了解vba的一些技巧,就可以减少很多工作量。本篇文章将会带你进入一个简单、易懂的自动化世界。
如果在工作中,你遇到了几列数据需要转置,如这样的数据:
需要转换成下图:

常规的方法可以进行选择12个月的数据进行选择性粘贴,如果数据量大的话,这可是一个十分耗费时间的过程。有了vba,我们就可以事半功倍的解决这一系列问题。
在excel界面中安alt+f11即可打开vba编程界面,然后在左侧的目录框中右键点击创建模块,即可出现一下界面。

在里面插入以下代码即可完成上述工作。

Sub excel数据整理()start_row = 2
start_col = 3
end_col = 5
counts = 40For i = 0 To countsRange(Cells(start_row + 12 * i, start_col), Cells(start_row+12 + 12 * i, start_col)).SelectSelection.CopyCells(i + 2, end_col).SelectSelection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _False, Transpose:=TrueNext iEnd Sub

定义过程

sub+过程名称+()为vba过程的开始,end sub为过程的结束。每个过程在编写之前都需要先把开始和结束语句写完。

写入变量

start_row为开始行号,start_col为开始列号,end_col为结束列号,counts 为循环次数。

for循环设定

for和next构成了循环语句,简单来说就是这个粘贴的过程需要进行多少次,i = 0 to counts就定义了该过程需要进行counts+1次。

利用range和cells进行范围选择

range为范围函数,里面的cells为单元格定位函数。range可以用两个cells函数来定义范围,开始为起始单元格,第二个为终止单元格。而cells函数则需要行号和列号两个参数来定义单元格位置。两个函数加在一起就可以定义一个范围,上述定义的范围为第3列的2行到13行这一个矩形区域。后面跟的12*i为循环变量。在i=0的时候定义范围为第3列的2行到13行,在等于1的时候定义范围变为第3列的14行到25行依次类推,直到i=counts时停止。

excel自带函数进行转置粘贴

Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=True为excel自带的选择性粘贴函数,我们需要转置,所以把Transpose:参数改为True。

总结

整体的过程可以概括为先利用range函数选中特定位置 Range(Cells(start_row + 12 * i, start_col), Cells(start_row+12 + 12 * i, start_col)),再利用 Selection.Copy进行复制,然后通过Cells(i + 2, end_col).Select选择要粘贴的位置,最后利用 Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _False, Transpose:=True进行转置操作。
如果想进行改动以适应更广泛的情况,可以进行如下更改。
1.counts值随动,改变后可进行循环次数的改变
2.单元格中12可以改动,改动后可以选择更广阔的范围
3.end_col可以改动,改动后可以改变结果的位置
4.选择位置的操作可以进行省略,可以直接把复制单元格赋值给数组

笔者也是vba的初学者,编程大佬可以略过这篇文章啦,希望对从没有这方面经验的小白有所帮助。

小白vba之批量数据整理(excel自动化入门)相关推荐

  1. 利用Excel VBA实现批量数据分组转置

    问题:如上图所示,按lon,lat分组,再进行转置. VBA代码: Sub admin()Dim conn, xRs, xFdSet conn = CreateObject("ADODB.C ...

  2. python爬网页数据到 excel 自动化_Selenium2+python自动化之读取Excel数据(xlrd)

    前言 当登录的账号有多个的时候,我们一般用excel存放测试数据,本节课介绍,python读取excel方法,并保存为字典格式. 一.环境准备 1.先安装xlrd模块,打开cmd,输入pip inst ...

  3. [小白系列][可视化基础]数据可视化视图从入门到不放弃,数据可视化视图都有哪些,怎么选用,我们一起来康康

    文章目录 1.可视化图形的简单分类 2.Python中常用的两个可视化工具 3.九种常用视图及其具体调用代码 1.散点图(Scatter Chart) 2.折线图(Line Chart) 3.条形图( ...

  4. 一键整理数据秘籍 EXCEL VBA

    估计很多销售和我一样,一到月底都会烦恼一次.原因就是要整理很多数据,做销售报告.客户越多,产品型号越多,工作就越多.曾经有好多次,想聘请一个临时工帮我整理数据.这个烦恼困扰了我很多年,终于在这个漫长的 ...

  5. excel数据匹配_Python 自动整理 Excel 表格

    点击上方"Python爬虫与数据挖掘",进行关注 回复"书籍"即可获赠Python从入门到进阶共10本电子书 今 日 鸡 汤 位卑未敢忘忧国,事定犹须待盖棺. ...

  6. python整理excel数据-Python 自动整理 Excel 表格

    相信有不少朋友日常工作会用到 Excel 处理各式表格文件,更有甚者可能要花大把时间来做繁琐耗时的表格整理工作.最近有朋友问可否编程来减轻表格整理工作量,今儿我们就通过实例来实现 Python 对表格 ...

  7. 批量修改数据_#泰Q头条#065期 四步搞定Excel表中的批量数据修改

    『闻道有先后 术业有专攻』 又到每周五我们Offcie小课堂时间,每周学一点儿,知识从未如此简单,也真诚的希望各位能在留言板写下你们宝贵的建议,给您带来更具价值的分享. 这期跟大家带来的Excel表数 ...

  8. VBA运行将多个excel的矩阵类型数据转为向量数据

    因为从气象站获取的气象数据大都是矩阵形式的,列为站点,行为日期,但是在跑模型的时候需要把这种矩阵类型的数据转为一条一条的向量数据,可以在excel中利用一下VBA代码批量处理多个excel/csv文件 ...

  9. 如何用Python操作Excel自动化办公?一个案例教会你openpyxl——读取数据

    欢迎大家关注我,我是拾陆,关注同名"二八Data" 数据分析工作最难搞的是处理数据的过程,不然不会有专门的ETL(数据抽取.转换.加载)工程师了.如果是企业级数据处理可能数据库直接 ...

  10. excel图文教程:应用PQ工具进行数据整理

    ​今天的问题来自一位群友的求助,是一个数据整理方面的问题,数据源如图所示: 这是一份销售数据,实际有很多个分店的数据,现在需要将这个数据源整理成标准的表格形式: 面对这种诉求,你要用公式来处理不是不行 ...

最新文章

  1. modbus报文解析工具_Linux下网络流量常用那些监控工具
  2. 双链表的建立、求长、定位、插入、删除、输出和释放
  3. MIMIC 以太坊医疗项目开发(5)truffle部署智能合约
  4. 如果你有15M 你会投到那些项目上上面呢?机会-可行性模型帮助你
  5. OpenGL Assimp模型加载库
  6. JAVA虚拟机 安全区域_Java虚拟机的内存区域
  7. android 引入 .so,android studio引入so库方法(示例代码)
  8. 七日掌握设计配色基础_掌握正确的基础知识:如何设计网站的导航,搜索和首页...
  9. 浅谈浏览器多进程与JS线程 1
  10. MFC中从一个类向其他类发送消息的方法
  11. 小学计算机学什么,小学信息技术课学什么
  12. python网络爬虫实战之下载笔趣看小说网小说
  13. 写论文时遇到的问题及解决办法
  14. 12306订票候补是个坑_12306实现自动抢票了,候补购票功能在哪里,怎么用?
  15. 英特尔45nm生产良率已达90%
  16. keil 局部变量不能查看值,显示为not in scope
  17. 入门级带你实现一个安卓智能家居APP(2)kotlin版本
  18. xp系统如何查看计算机用户,xp查看电脑配置、查看电脑型号详细教程和命令
  19. FileZilla快速部署
  20. 小程序云开发实现微信支付,不需要搭建服务器

热门文章

  1. HDLBits练习——Exams/ece241 2013 q7
  2. 在IE浏览器访问网址时显示证书错误,导航已阻止
  3. 发送邮件被退回,提示: Helo command rejected: Invalid name 错误
  4. 08——<use><defs>标签创建图形引用
  5. 计算机的学情分析报告,计算机教学计划合集总结5篇
  6. 锁屏后重新登录程序无响应问题分析
  7. 比例风险(Cox)回归模型——Proportional hazards model
  8. CAD2018下载AutoCAD2018下载AutoCAD2018安装详细教程
  9. [OpenAirInterface实战-19] :OAI 软件无线电USRP UHD硬件驱动程序的使用与网络架构
  10. 高通量DNA测序数据的生物信息学方法