4
A
回答
1
尼科,
在这种情况下,只需复制该工作表并进行两次删除,代码将立即运行。如果你的最后一排的位置是未知的话,我可以调整这个代码找到真正的最后使用的排
Sub QuickKill()
Application.ScreenUpdating = False
ActiveSheet.Copy After:=Sheets(Sheets.Count)
With ActiveSheet
.AutoFilterMode = False
.Rows("1:1499").Delete
.Rows("2001:30000").Delete
End With
Application.ScreenUpdating = True
End Sub
0
如果这是可以接受只复制单元格值和公式(即无格式invisble )你可以使用这个
Sub CopyAllData()
Dim v As Variant
Dim rngFrom As Range
Dim rngTo As Range
' set a reference to the range to be copied, eg
Set rng = [2:8]
' get the data
v = rng.Formula
' set a range to the desitination, eg
Set rngTo = [8:12]
' put the data
rngTo.Formula = v
End Sub
编辑
刚刚看到您的评论对尼科,看来你做也想要格式。一次复制一行的伎俩
我最初尝试rngTo.Hidden = FALSE
代替rngTo.RowHeight = 15
,但它返回一个错误,不知道为什么
Sub CopyAll()
Dim rngFrom As Range
Dim rngTo As Range
Dim i As Long
Dim sh As Worksheet
Dim OldCalc As XlCalculation
On Error GoTo Cleanup
OldCalc = Application.Calculation
Application.ScreenUpdating = False
Application.EnableEvents = False
Application.Calculation = xlCalculationManual
' set a reference to the range to be copied, eg
Set rngFrom = [2:12]
' set a range to the desitination first row, eg
Set sh = Worksheets("Sheet2")
Set rngTo = sh.[2:2]
' copy each row in turn and restore the copied row height
For i = 1 To rngFrom.Rows.Count
rngFrom.Rows(i).Copy rngTo
rngTo.RowHeight = 15
Set rngTo = rngTo.Offset(1, 0)
Next
Cleanup:
Application.ScreenUpdating = True
Application.EnableEvents = True
Application.Calculation = OldCalc
End Sub
+0
当你得到2000行复制每一行,是一个耗时的过程是不是? – niko
+0
@niko肯定是!虽然有办法改善它,但我会编辑它以包含它们 –
相关问题
- 1. 仅复制可见单元格
- 2. reloadData只在tableView可见单元格
- 3. Excel VBA宏 - 复制并插入复制的单元格
- 4. 将可见单元格仅复制到变量行
- 5. 仅包含可见数据的单元格的复制范围
- 6. 总计可见单元格
- 7. vba excel只复制按键上的可见单元格ctrl + c为受保护的单元
- 8. 复制和粘贴单元格,如果重复列,Excel宏
- 9. 只有选定的单元格在数据网格中可见
- 10. 只更新可见的表格视图单元格?
- 11. 有条件格式化,只选择可见单元格
- 12. 复制随机单元格和粘贴+随机单元格转发的宏
- 13. Excel复制单元格A到单元格C如果单元格B复制
- 14. Excel循环VBA宏复制单元格到新工作表
- 15. Excel VBA宏:通过引用复制单元格
- 16. Excel vba宏根据单元格整数值多次复制行
- 17. VBA代码或宏复制单元格值
- 18. VBA宏复制错误的数据单元格
- 19. 宏 - 每隔一行复制并粘贴单元格
- 20. 复制到宏如果在某个单元格中有“ - ”(VBA)
- 21. 宏复制并粘贴到下一个空白单元格中
- 22. ios reloadData只重新加载不可见的单元格
- 23. 通过可见单元格的VBA循环只有
- 24. iOS UITableView只动画第一个可见单元格
- 25. 是否可以将单元格中的数据复制到宏中?
- 26. 将宏单元格链接到单元格的宏
- 27. 用于复制/粘贴单元格到另一个工作簿的宏的宏
- 28. 只有当前单元格为空时,Excel才会复制单元格的值
- 29. Excel - 将单元格+宏+ VBA从一个表格复制到另一个表格?
- 30. 复制/粘贴/计算过滤表的一列中的可见单元格
取下过滤器,然后复制。 – Reafidy
@Reafidy我很感激你的帮助,但条件是,宏应该不会改变过滤器设置。并且工作表不应该被宏过滤掉,如果即使未被宏过滤以进行复制,它也会像以前一样恢复,但是当我们设置autofiltermode = false时,它不可能返回过滤器。 – niko
请帮助我这些如何复制,即使他们是无形的,而不改变过滤器设置,以及我想到的变种,但问题是一些单元格有背景颜色和变种只挑选数据但不是颜色,所以我不知道该怎么办 ! – niko