excel怎么一键生成工资条(EXCEL一键生成工资条)

原创作者: 卢子 转自:EXCEL不加班

真的没骗你,点起来超爽,做完了2个按钮,我都点了几十次。

点一下工资表就变成工资条。

excel怎么一键生成工资条(EXCEL一键生成工资条)(1)

再点一下,工资条就变成工资表。

excel怎么一键生成工资条(EXCEL一键生成工资条)(2)

要用VBA实现这2个功能,真的很简单,只要你懂得最基础的复制粘贴,插入删除等功能即可。

其实,VBA就是将你当初学基础操作的过程,再重新来一遍而已。不要说什么不会英语,学不会之类,压根儿就跟英语无关,我也不会英语。

工资条,其实就是将第一行的标题复制,插入到3、5、7等奇数行,对吧。

excel怎么一键生成工资条(EXCEL一键生成工资条)(3)

Step 01 录制一个宏,将第一行的标题复制,插入到第3行。

excel怎么一键生成工资条(EXCEL一键生成工资条)(4)

Step 02 点VB进入后台,再点模块,就可以看到刚刚录制的宏。

excel怎么一键生成工资条(EXCEL一键生成工资条)(5)

Step 03 现在已经实现了在第3行插入标题,下面要实现在第5行插入标题。将A3改成A5,点绿色运行按钮。

excel怎么一键生成工资条(EXCEL一键生成工资条)(6)

接着是7、9、11……如果一次次改,那就体现不了VBA的优越性了,前面已经提过,可以借助循环语句。

Sub 工资条()

For i = 1 To 18

Rows("1:1").Select

Selection.Copy

Range("A" & i * 2 1).Select

Selection.Insert Shift:=xlDown

Next

End Sub

现在是19个人,而第一个人有标题,也就是需要操作18次。i * 2 1就是获取数字3、5、7……

写代码的时候,养成一个好习惯,就是定义变量,最终代码就出来了。

Sub 工资条()

Dim i As Integer

For i = 1 To 18

Rows("1:1").Select

Selection.Copy

Range("A" & i * 2 1).Select

Selection.Insert Shift:=xlDown

Next

End Sub

Step 04 将原来手工插入的标题删除掉,运行代码,即可生成工资条。

excel怎么一键生成工资条(EXCEL一键生成工资条)(7)

不难吧。

现在如何将工资条复原成工资表,也就是将3、5、7……行删除掉。

同理,录制宏,改代码。

Step 01 录制一个宏,选择A3,删除整行。

excel怎么一键生成工资条(EXCEL一键生成工资条)(8)

Step 02 点VB进入后台,再点模块,就可以看到刚刚录制的宏。

excel怎么一键生成工资条(EXCEL一键生成工资条)(9)

Step 03 有了前面的基础,现在修改代码就变得简单,将工资条修改的部分全部照搬过来。

excel怎么一键生成工资条(EXCEL一键生成工资条)(10)

刚刚录制宏的时候是从上删除行,删除后 ,你会发现标题行错位了,现在并不是3、5、7……行。

excel怎么一键生成工资条(EXCEL一键生成工资条)(11)

记住,删除行跟插入行有所不同,插入行是从上面往下插入,而删除行要从下面往上删除。

现在是从18倒数到1,Step -1就是步长-1。

Sub 工资表()

Dim i As Integer

For i = 18 To 1 Step -1

Range("A" & i * 2 1).Select

Selection.EntireRow.Delete

Next

End Sub

excel怎么一键生成工资条(EXCEL一键生成工资条)(12)

Step 04 将原来手工删除的标题恢复,运行代码,即可生成工资表。

excel怎么一键生成工资条(EXCEL一键生成工资条)(13)

最后,插入按钮来执行代码,会看起来更高大上。

excel怎么一键生成工资条(EXCEL一键生成工资条)(14)

不要老是害怕学不会,只要你知道循环语句,会录制宏就可以解决掉很多问题了。

,

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com

    分享
    投诉
    首页