生成工资条宏的优化

取昵称麻烦 2010-05-04 06:38:59
Sub 生成工资条()
'定义工作表名称
gzb = "Sheet1" '工资表
gzt = "Sheet2" '工资条
num = Sheets(gzb).UsedRange.Rows.Count - 1
col = Sheets(gzb).UsedRange.Columns.Count
'删除原来的工资条
Sheets(gzt).Select
Range(Cells(1, 1), Cells(num + 1, col)).Select
'Selection.Delete
'Cells.Select
'Selection.Delete Shift:=xlUp
num1 = 0
Do While num1 < num
'插入标题行
Sheets(gzb).Select
Range(Cells(1, 1), Cells(1, col)).Select
Application.CutCopyMode = False
Selection.Copy
Sheets(gzt).Select
Range(Cells(num1 * 3 + 1, 1), Cells(num1 * 3 + 1, col)).Select
ActiveSheet.Paste
'插入数据行
Sheets(gzb).Select
Range(Cells(num1 + 2, 1), Cells(num1 + 2, col)).Select
Application.CutCopyMode = False
Selection.Copy
Sheets(gzt).Select
Range(Cells(num1 * 3 + 2, 1), Cells(num1 * 3 + 2, col)).Select
ActiveSheet.Paste
num1 = num1 + 1
Loop
Range(Cells(1, 1), Cells(2, col)).Select
Application.CutCopyMode = False
Selection.Borders(xlDiagonalDown).LineStyle = xlNone
Selection.Copy
num3 = 1
Do While num3 < num
Range(Cells(num3 * 3, 1), Cells(num3 * 3, col)).Select
Selection.RowHeight = 20
num3 = num3 + 1
Loop

End Sub
以上语句根据网上的代码修改而成,可以运行,可是运行的效率很低本人对VBA不熟悉,特求各位高手帮忙
怎样修改才能执行此宏的时候不闪。
...全文
60 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
dsd999 2010-05-05
  • 打赏
  • 举报
回复
Sub 生成工资条()
Application.ScreenUpdating = False
'定义工作表名称
.....

Application.ScreenUpdating = True
End Sub

加上这两句就不闪了。
取昵称麻烦 2010-05-05
  • 打赏
  • 举报
回复
谢谢楼上的朋友,问题解决了,呵呵!

5,139

社区成员

发帖
与我相关
我的任务
社区描述
其他开发语言 Office开发/ VBA
社区管理员
  • Office开发/ VBA社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧