Excel精英培训网

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

[已解决]工作表中的数据按奇数行复制提取到其他工作表

[复制链接]
发表于 2010-8-16 10:15 | 显示全部楼层 |阅读模式
oEHg8DbC.rar (6.13 KB, 下载次数: 18)
发表于 2010-8-16 10:21 | 显示全部楼层

数据量大,数组慢吧,V白路过,帮顶一下
回复

使用道具 举报

发表于 2010-8-16 10:24 | 显示全部楼层
回复

使用道具 举报

发表于 2010-8-16 10:27 | 显示全部楼层

Sub test() '(粘贴工作表)
Dim Rng As Range
Sheet2.Cells.Clear
Sheet1.UsedRange.Copy Sheet2.Range("a1")

With Sheet2
 Set Rng = .Range("a65536")
 For i = 2 To .UsedRange.Rows.Count Step 2
  Set Rng = Union(Rng, .Range("A" & i))
 Next
 Rng.EntireRow.Delete
End With
End Sub

回复

使用道具 举报

发表于 2010-8-16 10:34 | 显示全部楼层

数据量大,数组慢吧,V白路过,帮顶一下
回复

使用道具 举报

 楼主| 发表于 2010-8-16 10:52 | 显示全部楼层

sheet1的数据复制到sheet2后删除偶数行,能不能一步到位

[此贴子已经被作者于2010-8-16 10:53:21编辑过]
回复

使用道具 举报

发表于 2010-8-16 11:06 | 显示全部楼层    本楼为最佳答案   


Sub CopyCont()
 Dim Arr
 Dim i&, j%
 Arr = Sheet1.UsedRange.Value
 If UBound(Arr) > 0 Then
  ReDim arrtemp(1 To Int(UBound(Arr) / 2) + 1, 1 To UBound(Arr, 2))
    For i = 1 To UBound(Arr) Step 2
     For j = 1 To UBound(Arr, 2)
      arrtemp((i + 1) / 2, j) = Arr(i, j)
     Next j
    Next i
 End If
 Sheet2.ClearArrows
 Sheet2.Range("a1").Resize(UBound(arrtemp), UBound(arrtemp, 2)) = arrtemp
 Sheet3.ClearArrows
 Sheet3.Range("a1").Resize(UBound(arrtemp), UBound(arrtemp, 2)) = arrtemp
 
End Sub
回复

使用道具 举报

发表于 2010-8-16 11:10 | 显示全部楼层

8lCOoSRq.rar (8.85 KB, 下载次数: 19)
回复

使用道具 举报

发表于 2010-8-16 11:12 | 显示全部楼层

对。楼上的很好,用高级筛选就OK了。没A列也可以做

回复

使用道具 举报

发表于 2013-7-5 10:04 | 显示全部楼层
前来学习了,谢谢分享
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-28 17:03 , Processed in 0.471307 second(s), 9 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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