看到这篇文章的小白,大家好,希望这里有那么一两个方法能帮助你~如果是大佬路过,请多多批评指正哟!
我的工作岗位经常使用Excel,每个月需要产出给领导和客户的月度报告,不管是原始数据还是月度报告,模板基本是固定的,只不过每个月要进行重复加工、更新,因此这一两年一直想学会使用Python或VBA,解决重复劳动。
上一家公司的领导,人美心善,曾“斥巨资”1300元送了我一套Python入门课程,我没记错的话,大概是20节左右的AI课程,我实在是不争气,从劲头很足到放弃,只用了6节课哈哈哈,大概学到了“类的传承”,后来觉得实在是对不起领导,又重新捡起来,学到了第13节,再度放弃,对一个文科生,实在是太难了~‘
但意外的是,学会VBA后,再度捡起Python,发现并没有记忆中那么难了,特别是在试用openpyxl库的时候,简直跟VBA太像了!但是Pandas等重要的库我还是不太会,这些后面再说吧~反正VBA基本能满足我的刚需了哈哈。
VBA的优势大概也不用我说了,就是简单又好用,做一些小工具,发给同事朋友,他们只需要轻轻一点,也能减少重复工作,还可以骗一顿火锅~~我的第一个VBA小工具,就是给闺蜜写的,只用到了几个简单的技能:
1、导入数据(将原始表copy到我指定的sheet)
2、加工数据(处理copy好的数据,删除指定列(delete)+多条件排序(sort)+复制到指定区域(copy)+美化表格格式(用了录制宏)
3、清除上一次数据(进行下一张表处理时,先清楚这次的所有痕迹(clear))
今天先分享一下VBA的使用界面,和第一段代码,小白可以在自己的excel里略加修改试试
【开发工具】【VBA窗口】
可以试试下面的代码,感受一下导入数据的快乐
Sub 导入原始数据() 'sub相当于告诉电脑,你要开始写代码了
Dim Wb As Workbook '定义个workbook,不一定是wb,可以自己起名字
With Sheet1 '告诉电脑,你要操作sheet1
sname = .Name '表名
.Cells.Clear '全部清除,以免影响下次数据
End With '有with,就要有end with
Set Wb = Workbooks.Open(Application.GetOpenFilename(",*.xls*")) '打开你想导入的原始表
Wb.Activate '一定要激活,不然复制不成功
With Wb.Sheets(1) '指的是你要导入的那个文件的sheet
.Cells.Copy ThisWorkbook.Sheets(sname).Cells(1, 1) '拷贝数据到本文档
End With
Wb.Close 0 '关闭原始表
End Sub ' 一定要写结束,当然不写系统也会提示的



