ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[求助] VBA很简单中工资条的问题

[复制链接]

TA的精华主题

TA的得分主题

发表于 2016-2-16 11:16 | 显示全部楼层 |阅读模式
工资条.rar (5.68 KB, 下载次数: 216)




买了VBA很简单这本书,里面有工资条的内容,比较感兴趣,但是还是有些问题。
附件中的excel是模拟的工资条。如果希望达到如下的效果,程序怎么写?
1,增加按钮
2,当按钮按下时,为所有行增加表头,变成 表头+内容+表头+内容的格式。 但是不确定有多少行。 书中说可以用do while 来使用。

麻烦大神写下代码,我先开始学习看懂代码把...

TA的精华主题

TA的得分主题

发表于 2016-2-16 11:25 | 显示全部楼层
  1. Sub ddd()
  2. For i = [a1].CurrentRegion.Rows.Count To 3 Step -1
  3.     Rows(1).Copy
  4.     Rows(i).Insert Shift:=xlDown
  5. Next
  6. End Sub
复制代码

TA的精华主题

TA的得分主题

发表于 2016-2-16 11:32 | 显示全部楼层
在开发工具种插入Activex控件,代码如下。
    Application.ScreenUpdating = False
   
    Dim I As Long
        For I = Range("a65535").End(xlUp).Row To 3 Step -1
        Rows(I).Insert
        Range(Cells(I, 1), Cells(I, 5)) = Range("A1:E1").Value
    Next
    Application.ScreenUpdating = True

TA的精华主题

TA的得分主题

 楼主| 发表于 2016-2-16 11:41 | 显示全部楼层

可以使用
点击一次之后每行都有表头了,但是如果误操作再点击第二次,然后首行还是一个表头 但是其他的变成3个表头了。
有什么方法可以杜绝误操作吗?比如查看第三行如果有表头了就停止,或者只能执行一次?

TA的精华主题

TA的得分主题

发表于 2016-2-16 11:43 | 显示全部楼层
inameit 发表于 2016-2-16 11:41
可以使用
点击一次之后每行都有表头了,但是如果误操作再点击第二次,然后首行还是一个表头 但是其他的 ...

Sub ddd()
If [a3].Value = "序号" Then Exit Sub
For i = [a1].CurrentRegion.Rows.Count To 3 Step -1
    Rows(1).Copy
    Rows(i).Insert Shift:=xlDown
Next
End Sub

TA的精华主题

TA的得分主题

 楼主| 发表于 2016-2-16 11:45 | 显示全部楼层
rligong 发表于 2016-2-16 11:32
在开发工具种插入Activex控件,代码如下。
    Application.ScreenUpdating = False
   

可以使用
点击一次之后每行都有表头了,但是如果误操作再点击第二次,然后首行还是一个表头 但是其他的变成3个表头了。
有什么方法可以杜绝误操作吗?比如查看第三行如果有表头了就停止,或者只能执行一次?

TA的精华主题

TA的得分主题

 楼主| 发表于 2016-2-16 12:04 | 显示全部楼层
看见星光 发表于 2016-2-16 11:43
Sub ddd()
If [a3].Value = "序号" Then Exit Sub
For i = [a1].CurrentRegion.Rows.Count To 3 Step - ...

又来麻烦你了 可以  后续的点击就没有反映了。

假如我我现在有三个sheet 都是工资表(依据工总分类,分别为sheet1,sheet2,sheet3)格式一样,首行是表头 下面的是内容。
现在想在sheet4中创建一个按钮,点击之后sheet1,2,3自动执行增加表头的操作,这几个sheet的操作相对独立。
这个能实现吗?

TA的精华主题

TA的得分主题

发表于 2016-2-16 12:13 | 显示全部楼层
inameit 发表于 2016-2-16 11:45
可以使用
点击一次之后每行都有表头了,但是如果误操作再点击第二次,然后首行还是一个表头 但是其他的 ...

5楼已经给出解决方法了,增加一个判断。

TA的精华主题

TA的得分主题

发表于 2018-8-16 16:47 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2018-8-16 16:48 | 显示全部楼层
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2025-1-12 08:06 , Processed in 0.029422 second(s), 10 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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