打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
用vba实现数据的多次复制

 同事一个需求,如图数量列,如果是100就要复制100行,以此类推。每次都手动复制很累人,而且容易粘贴数量错误,因此我给他做了个vba来解决这个问题,代码如下:

Sub Macro1()

 
 With Sheets("sheet1")
    bth = 1 'sheet1的标题行号
    hh = 2 'sheet1有数据的起始行号
    lh = 14 'sheet1数量所在列号
 
    '以下是复制标题行代码
        Sheets("Sheet1").Select
        Range("A" & bth & ":z" & bth).Select '获取要复制的标题行
        Selection.Copy
        Sheets("Sheet2").Select
        Cells(1, 1).Rows.Select '定位sheet2第一行准备接收标题行
        ActiveSheet.Paste '粘贴行
        Cells(ActiveCell.Row + 1, 1).Rows.Select '目标表格光标下移动一行
 
    '以下是复制数据行代码
        Do While Sheet1.Range("A" & hh) > "" '如果A列有值就循环,直到最后
            fzcs = .Cells(hh, lh).Value '将需要复制的次数给变量fzcs(复制次数)
            Sheets("Sheet1").Select
            Range("A" & hh & ":z" & hh).Select '获取要复制的数据行
            Selection.Copy
            Cells(ActiveCell.Row + 1, 1).Rows.Select '原始表格光标下移动一行,准备下次提取数据用
            Sheets("Sheet2").Select
            Do While fzcs > 0 '循环复制
                ActiveSheet.Paste '粘贴行
                Cells(ActiveCell.Row, lh) = 1
                Cells(ActiveCell.Row + 1, 1).Rows.Select '目标表格光标下移动一行,准备下次接受数据用
                fzcs = fzcs - 1
            Loop
           
            hh = hh + 1
        Loop
End With

End Sub

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
第四讲 如何利用VBA代码选择工作表,选择连续区域及选择不连续区域
Excel 最基础的VBA知识
VBA里Range,cells,offset,end 的区别_IcomeH
Excel VBA Range对象基本操作应用示例
Excel VBA解读(8):看看Excel的那些常用对象(续2)
【VBA程序事件核心选手】-Target详解
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服