Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 3691|回复: 5

[已解决]请用VBN帮忙解决,把sheet2内容复制到sheet1内

[复制链接]
发表于 2015-4-26 14:14 | 显示全部楼层 |阅读模式
把sheet2内容复制到sheet1第一行内,如果sheet1单元格有内容,,那么内容下移,复制完成后如sheet3样式,请帮忙,谢谢  
最佳答案
2015-4-26 14:30
本帖最后由 Excel学徒123 于 2015-4-26 14:31 编辑
  1. Sub test()
  2.     Dim arr
  3.     Dim Irow As Integer
  4.     arr = Sheets("Sheet2").Range("a1").CurrentRegion
  5.     For Irow = 1 To UBound(arr)
  6.         Sheets("Sheet1").Range("a2").EntireRow.Insert
  7.     Next
  8.     Sheets("Sheet1").Range("a2").Resize(UBound(arr), UBound(arr, 2)) = arr
  9.     Application.Intersect(Sheets("Sheet1").UsedRange, Sheets("Sheet1").Range("a:a")).SpecialCells(xlCellTypeBlanks).EntireRow.Delete
  10. End Sub
复制代码

工作簿2.zip

8.52 KB, 下载次数: 31

发表于 2015-4-26 14:30 | 显示全部楼层    本楼为最佳答案   
本帖最后由 Excel学徒123 于 2015-4-26 14:31 编辑
  1. Sub test()
  2.     Dim arr
  3.     Dim Irow As Integer
  4.     arr = Sheets("Sheet2").Range("a1").CurrentRegion
  5.     For Irow = 1 To UBound(arr)
  6.         Sheets("Sheet1").Range("a2").EntireRow.Insert
  7.     Next
  8.     Sheets("Sheet1").Range("a2").Resize(UBound(arr), UBound(arr, 2)) = arr
  9.     Application.Intersect(Sheets("Sheet1").UsedRange, Sheets("Sheet1").Range("a:a")).SpecialCells(xlCellTypeBlanks).EntireRow.Delete
  10. End Sub
复制代码

评分

参与人数 1 +1 收起 理由
一成不变变 + 1 赞一个!

查看全部评分

回复

使用道具 举报

 楼主| 发表于 2015-4-26 16:13 | 显示全部楼层
回复

使用道具 举报

发表于 2015-4-26 16:16 | 显示全部楼层
一成不变变 发表于 2015-4-26 16:13
正在学习VBN,可否注释一下,

可以,等下
回复

使用道具 举报

发表于 2015-4-26 16:19 | 显示全部楼层
  1. Sub test()
  2.     Dim arr
  3.     Dim Irow As Integer
  4.     arr = Sheets("Sheet2").Range("a1").CurrentRegion              '将Sheet2中的数据给数组arr赋值
  5.     For Irow = 1 To UBound(arr)                        '循环,终值为数组的上届
  6.         Sheets("Sheet1").Range("a2").EntireRow.Insert         '插入空行,Sheet2中有多少行,Sheet1就插入多少行
  7.     Next
  8.     Sheets("Sheet1").Range("a2").Resize(UBound(arr), UBound(arr, 2)) = arr           '将数组的值写入单元格
  9.     Application.Intersect(Sheets("Sheet1").UsedRange, Sheets("Sheet1").Range("a:a")).SpecialCells(xlCellTypeBlanks).EntireRow.Delete          '删除多余的空行
  10. End Sub
复制代码
回复

使用道具 举报

 楼主| 发表于 2015-4-26 18:50 | 显示全部楼层
谢谢,非常感谢
回复

使用道具 举报

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

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-5-20 05:16 , Processed in 0.319066 second(s), 14 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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