ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[分享] 工资条的四种做法【综合】

  [复制链接]

TA的精华主题

TA的得分主题

发表于 2012-6-18 22:17 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
先下来看看。

TA的精华主题

TA的得分主题

发表于 2012-6-18 22:37 | 显示全部楼层
caimh 发表于 2012-6-18 22:07
版主,可能是我意思没表达清楚,我不是要分页的效果,而是要在两个人的中间划一虚线隔开。

就是个线啊,那好弄。那你就应该直接说加虚线,而不是分页。明天开电脑改一下。你自己录制一个宏应该加进去就可以

TA的精华主题

TA的得分主题

发表于 2012-6-18 23:42 | 显示全部楼层
shaowu459 发表于 2012-6-18 22:37
就是个线啊,那好弄。那你就应该直接说加虚线,而不是分页。明天开电脑改一下。你自己录制一个宏应该加进 ...

我是VB菜鸟,恳请版主再帮帮忙。。

点评

明天弄吧。我也是录制宏出来的  发表于 2012-6-18 23:44

TA的精华主题

TA的得分主题

发表于 2012-6-19 10:25 | 显示全部楼层
caimh 发表于 2012-6-18 22:07
版主,可能是我意思没表达清楚,我不是要分页的效果,而是要在两个人的中间划一虚线隔开。
  1. Sub Button29_Click()
  2.     Dim Datasource
  3.     Dim i, n, m, col As Integer
  4.     Sheets("工资条").Select
  5.     Cells.Clear

  6.     ActiveWindow.View = xlNormalView

  7.     Sheets("工资表").Select
  8.     Set Datasource = Application.InputBox(prompt:="请选择要生成工资条的区域:", Type:=8)
  9.     Application.ScreenUpdating = False
  10.     col = Datasource.Columns.Count
  11.     AddressAll = Datasource.Address
  12.     ActiveWorkbook.ActiveSheet.Range(AddressAll).Select
  13.     Selection.Copy
  14.     Sheets("工资条").Select
  15.     Range("A1").Select
  16.     ActiveSheet.Paste
  17.     n = ActiveSheet.Range("A65535").End(xlUp).Row
  18.     For i = n To 3 Step -1
  19.         ActiveCell.Rows("1:1").EntireRow.Select
  20.         Selection.Copy
  21.         ActiveSheet.Rows(i & ":" & i).EntireRow.Select
  22.         Selection.Insert Shift:=xlDown
  23.     Next i

  24.     n = ActiveSheet.Range("A65535").End(xlUp).Row
  25.     For i = n To 2 Step -2
  26.         ActiveSheet.Rows(i - 1 & ":" & i).EntireRow.Select
  27.         Selection.Insert Shift:=xlDown
  28.         Selection.ClearFormats
  29.     Next i
  30.     n = ActiveSheet.Range("A65535").End(xlUp).Row

  31.     For i = 1 To n / 4

  32.         ActiveSheet.Range(Cells(i * 4 - 1, 1), Cells(i * 4, col)).Select
  33.         With Selection.Borders(xlEdgeLeft)
  34.             .LineStyle = xlContinuous
  35.             .Weight = xlMedium
  36.         End With

  37.         With Selection.Borders(xlEdgeTop)
  38.             .LineStyle = xlContinuous
  39.             .Weight = xlMedium
  40.         End With

  41.         With Selection.Borders(xlEdgeBottom)
  42.             .LineStyle = xlContinuous
  43.             .Weight = xlMedium
  44.         End With

  45.         With Selection.Borders(xlEdgeRight)
  46.             .LineStyle = xlContinuous
  47.             .Weight = xlMedium
  48.         End With

  49.         With Selection.Borders(xlInsideVertical)
  50.             .LineStyle = xlDash
  51.             .Weight = xlThin
  52.         End With

  53.         With Selection.Borders(xlInsideHorizontal)
  54.             .LineStyle = xlDash
  55.             .Weight = xlThin
  56.         End With

  57.         ActiveSheet.Range(Cells(i * 4 + 1, 1), Cells(i * 4 + 1, col)).Select

  58.         With Selection.Borders(xlEdgeBottom)
  59.             .LineStyle = xlDot
  60.             .ColorIndex = xlAutomatic
  61.             .TintAndShade = 0
  62.             .Weight = xlThin
  63.         End With

  64.     Next i

  65.     ActiveSheet.Rows("1:1").Delete
  66.     Application.ScreenUpdating = True
  67. End Sub
复制代码

TA的精华主题

TA的得分主题

发表于 2012-6-19 10:26 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
楼上代码的附件,参考。

EH(超人)-2012.06.19-工资发放表(自动生成工资条).zip

34.22 KB, 下载次数: 15

TA的精华主题

TA的得分主题

发表于 2012-6-19 11:05 | 显示全部楼层
shaowu459 发表于 2012-6-19 10:25

代码运行错误:438,对象不支持该属性或方法。错误语句:.TintAndShade = 0

TA的精华主题

TA的得分主题

发表于 2012-6-19 11:17 | 显示全部楼层
shaowu459 发表于 2012-6-19 10:26
楼上代码的附件,参考。

另外,打印预览格式也有问题,截图发下:
未命名.jpg

1、为什么会出现头两行是空白行?
2、两个人工资条中间那两行的单元格都有边框,而不是只有中间只划一虚线呢?

TA的精华主题

TA的得分主题

发表于 2012-6-19 12:31 | 显示全部楼层
caimh 发表于 2012-6-19 11:17
另外,打印预览格式也有问题,截图发下:

你把你想要的结果手动做一个文件上来,若不是上传图片。至少做5行数据及格式。

TA的精华主题

TA的得分主题

发表于 2012-6-19 14:23 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
本帖最后由 caimh 于 2012-6-19 14:24 编辑
shaowu459 发表于 2012-6-19 12:31
你把你想要的结果手动做一个文件上来,若不是上传图片。至少做5行数据及格式。

以6个人的工资条数据为例,附图和附件如下:

效果.jpg

工资条效果.rar (22.89 KB, 下载次数: 8)

TA的精华主题

TA的得分主题

发表于 2012-6-19 14:40 | 显示全部楼层
caimh 发表于 2012-6-19 14:23
以6个人的工资条数据为例,附图和附件如下:

这样可以了吧。

EH(超人)-2012.06.19-工资发放表(自动生成工资条).zip

38 KB, 下载次数: 12

您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-6-20 19:50 , Processed in 0.046039 second(s), 10 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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