ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[已解决] 已解决老师帮忙修改代码

[复制链接]

TA的精华主题

TA的得分主题

发表于 2024-6-12 13:11 | 显示全部楼层 |阅读模式
本帖最后由 38180203 于 2024-6-13 09:43 编辑

微信截图_20240612130743.png



上面两条是生成工资条样式.有多少员工就本表最底下留个空白处生成多少工资条


人员姓名行高25   空白行高8

人员行数远远不止这么多.上面只是样式.

现在的代码是只能复制表头...信息是空白的...谢谢老师

工资条6-12.rar

22.03 KB, 下载次数: 10

TA的精华主题

TA的得分主题

发表于 2024-6-12 13:34 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2024-6-12 13:36 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2024-6-12 14:16 | 显示全部楼层

办公电脑有加密,附件不发了
工资条做到另一张表上

练手!

image.jpg

Sub 生成资条()
    '
    ' https://club.excelhome.net/threa ... tml?_dsign=3e09058f
    ' 2024-6-12
    Sheet2.Select
    Columns("A:Y").Select
    Application.CutCopyMode = False
    Selection.Delete Shift:=xlToLeft
    '---
    Sheet1.Select
    x1 = 4
    Do While Not (IsEmpty(Sheet1.Cells(x1, 2).Value))
      x1 = x1 + 1
    Loop
    ygrs = x1 - 4
    Range(Cells(2, 1), Cells(3, 24)).Select
    Selection.Copy
    Sheet2.Select
    For i = 1 To ygrs * 4 Step 4
      Cells(i, 1).Select
      ActiveSheet.Paste
    Next i
    '---
    x1 = 4
    Do While Not (IsEmpty(Sheet1.Cells(x1, 2).Value))
      For y = 1 To 23
        Sheet2.Cells((x1 - 3) * 4 - 1, y).Value = Sheet1.Cells(x1, y).Value
      Next y
      Range(Cells((x1 - 3) * 4 - 1, 1), Cells((x1 - 3) * 4 - 1, 24)).Select
      添加表格线
      x1 = x1 + 1
    Loop
End Sub
Sub 添加表格线()
    Selection.Borders(xlDiagonalDown).LineStyle = xlNone
    Selection.Borders(xlDiagonalUp).LineStyle = xlNone
    With Selection.Borders(xlEdgeLeft)
        .LineStyle = xlContinuous
        .ColorIndex = 0
        .TintAndShade = 0
        .Weight = xlThin
    End With
    With Selection.Borders(xlEdgeTop)
        .LineStyle = xlContinuous
        .ColorIndex = 0
        .TintAndShade = 0
        .Weight = xlThin
    End With
    With Selection.Borders(xlEdgeBottom)
        .LineStyle = xlContinuous
        .ColorIndex = 0
        .TintAndShade = 0
        .Weight = xlThin
    End With
    With Selection.Borders(xlEdgeRight)
        .LineStyle = xlContinuous
        .ColorIndex = 0
        .TintAndShade = 0
        .Weight = xlThin
    End With
    With Selection.Borders(xlInsideVertical)
        .LineStyle = xlContinuous
        .ColorIndex = 0
        .TintAndShade = 0
        .Weight = xlThin
    End With
    With Selection.Borders(xlInsideHorizontal)
        .LineStyle = xlContinuous
        .ColorIndex = 0
        .TintAndShade = 0
        .Weight = xlThin
    End With
End Sub

TA的精华主题

TA的得分主题

发表于 2024-6-12 14:31 | 显示全部楼层

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-6-12 14:35 | 显示全部楼层
小凡、、、 发表于 2024-6-12 13:36
另起一个表格存放会不会好一点

老师,怎么只能复制前面7个人员的工资条....后面的没有出来..谢谢

TA的精华主题

TA的得分主题

发表于 2024-6-12 14:37 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
本帖最后由 小凡、、、 于 2024-6-12 14:44 编辑
38180203 发表于 2024-6-12 14:35
老师,怎么只能复制前面7个人员的工资条....后面的没有出来..谢谢

表头占了3行,for i = 4 to ..... +3,多循环三行
image.png

评分

1

查看全部评分

TA的精华主题

TA的得分主题

发表于 2024-6-12 15:15 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
本帖最后由 ykcbf1100 于 2024-6-12 16:36 编辑

生成工资条

6bc22ef5-9a66-4f86-b759-c91e5e2ed253.png

工资条6-12.zip

26.26 KB, 下载次数: 10

TA的精华主题

TA的得分主题

发表于 2024-6-12 15:16 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
参与一下。。。

  1. Sub ykcbf()   '//2024.6.12   生成工资条
  2.     Application.ScreenUpdating = False
  3.     Application.DisplayAlerts = False
  4.     Set sh = ThisWorkbook.Sheets("工资条")
  5.     sh.UsedRange.Clear
  6.     With Sheets("工资")
  7.         r = .Cells(Rows.Count, 1).End(3).Row
  8.         Set bt = .Rows(2 & ":" & 3)
  9.         For i = 4 To r
  10.             m = m + 1
  11.             If m = 1 Then
  12.                 bt.Copy sh.[a2]
  13.             Else
  14.                 bt.Copy sh.Cells(r1 + 3, 1)
  15.             End If
  16.             sh.[y:y] = ""
  17.             r1 = sh.Cells(Rows.Count, "g").End(3).Row
  18.             .Rows(i).Copy sh.Cells(r1 + 1, 1)
  19.             sh.Rows(r1 + 1 & ":" & r1 + 1).RowHeight = 25
  20.             sh.Rows(r1 + 2 & ":" & r1 + 2).RowHeight = 8
  21.         Next
  22.     End With
  23.     Application.ScreenUpdating = True
  24.     MsgBox "OK!"
  25. End Sub
复制代码


评分

1

查看全部评分

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-6-12 16:10 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
小凡、、、 发表于 2024-6-12 14:37
表头占了3行,for i = 4 to ..... +3,多循环三行

老师,可不可以加句清除代码  现在是运行一次再点一次就累加  点一次就往后面累加
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

关闭

最新热点上一条 /1 下一条

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

GMT+8, 2024-6-18 19:56 , Processed in 0.050655 second(s), 12 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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