ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 489|回复: 7

[求助] 自动导出工资条

[复制链接]

TA的精华主题

TA的得分主题

发表于 2024-3-16 14:35 | 显示全部楼层 |阅读模式
本帖最后由 jaxpqh 于 2024-3-16 14:37 编辑

  我有一个《工资明细表》,里面有全年全体员工的工资明细,想要按月导出《工资条》,请哪位大师帮助一下,先谢谢了!
  一、新建一个工作簿存放VBA代码,运行代码时不打开《工资明细表》;
  二、运行代码时,手动输入要导出的年月,默认为当月;
  三、导出的《工资条》存在一个命名为《工资条》的文件夹里;
  四、导出的《工资条》的工作簿名和工作表名均命名为“****年*月工资条”;
  五、每一个工资条之间空一行,并用虚边框线间隔开来,方便裁剪。


工资.rar

20.28 KB, 下载次数: 11

TA的精华主题

TA的得分主题

发表于 2024-3-16 16:36 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册

TA的精华主题

TA的得分主题

发表于 2024-3-16 18:59 | 显示全部楼层
本帖最后由 gwjkkkkk 于 2024-3-16 20:42 编辑


Option Explicit
Sub TEST2()
    Dim ar, br, cr, i&, j&, n&, iYearMonth&, strPath$, a
    Dim wks As Worksheet, iPosRow&, strName$
   
    iYearMonth = Application.InputBox("请选择年月,形式202405", Title:="提示", Default:=Format(Now(), "yyyymm"), Type:=1)
    If iYearMonth = 0 Then Exit Sub
   
    Application.ScreenUpdating = False
    Application.DisplayAlerts = False
   
    With [A1].CurrentRegion
        ar = .Value
        br = .Rows(1)
        ReDim cr(1 To 3, 1 To UBound(ar, 2) - 1)
    End With
   
    strPath = ThisWorkbook.Path & "\工资条\"
    With Workbooks.Add
        strName = Left(iYearMonth, 4) & "年" & Right(iYearMonth, 2) & "月工资条"
        With .Worksheets(1)
            .Name = strName
            For i = 2 To UBound(ar)
                If Format(ar(i, 1), "yyyymm") = iYearMonth Then
                     cr(1, 1) = strName
                     For j = 1 To UBound(cr, 2)
                         cr(2, j) = br(1, j + 1)
                         cr(3, j) = ar(i, j + 1)
                     Next j
                     n = n + 1
                     iPosRow = (n - 1) * 4 + 2
                     With .Cells(iPosRow, 1).Resize(3, UBound(cr, 2))
                         .Value = cr
                         .HorizontalAlignment = xlCenter
                         With .Rows(1)
                             If n > 1 Then .Borders(xlEdgeTop).Weight = xlHairline
                             .Merge
                             .Font.Bold = True
                             .Font.Name = "Times New Roman"
                             .Font.Size = 26
                         End With
                         With .Rows(2)
                             .Font.Name = "宋体"
                             .Font.Bold = True
                             .Font.Size = 12
                         End With
                         With .Rows(3)
                             .Font.Name = "Times New Roman"
                             .Font.Size = 12
                         End With
                         With Intersect(.Offset(), .Offset(1))
                             .Borders.LineStyle = xlContinuous
                         End With
                     End With
                End If
            Next i
        End With
        .SaveAs strPath & strName
        .Close
    End With
   
    Application.ScreenUpdating = True
    Application.DisplayAlerts = True
    Beep
End Sub

评分

1

查看全部评分

TA的精华主题

TA的得分主题

发表于 2024-3-16 19:00 | 显示全部楼层
本帖最后由 gwjkkkkk 于 2024-3-16 20:43 编辑

请参考附件。。。

工资.rar

22.57 KB, 下载次数: 29

评分

3

查看全部评分

TA的精华主题

TA的得分主题

发表于 2024-3-17 01:05 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
https://club.excelhome.net/thread-1687203-1-1.html

分享一个我自己编的工资条制作工具,用着还不错,工资条生成后方便裁剪和发放。可以制作个人单月工资条和汇总工资总表,可以试试。

评分

1

查看全部评分

TA的精华主题

TA的得分主题

发表于 2024-3-17 11:26 | 显示全部楼层
用我自己在用的给你修改了一下

工资明细表.rar

28.5 KB, 下载次数: 15

评分

1

查看全部评分

TA的精华主题

TA的得分主题

发表于 2024-3-17 11:31 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
都信息时代了,还在用工资条呀?

TA的精华主题

TA的得分主题

发表于 2024-3-17 13:40 | 显示全部楼层
明天会更好zj 发表于 2024-3-17 11:31
都信息时代了,还在用工资条呀?

我刚想说这是落后的标志,后来想想,这不只是落后的标志,

它就是落后的,生产经营管理方式。

(不是看起来落后,而是就落后)

【论坛上有很多搞人力资源或者财务的,用VBA来处理考勤、工资结算一类事务,群发邮件什么的;但像此帖用来做工资条,实在是……看起来像是一种退步的做法】
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-11-18 03:41 , Processed in 0.039608 second(s), 12 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表