求无循环VBA代码:含隐藏列整行数据带格式复制至目标行
整行复制(含隐藏列格式)的高效VBA实现
针对你遇到的EntireRow.Copy导致表格错乱,且需要复制隐藏列N数据的需求,这里提供一段无循环、高效的VBA代码:
Sub CopyRowWithHiddenColumns() Dim sourceRow As Range Dim targetRow As Range ' 定义源行(示例为第2行,可按需修改) Set sourceRow = ThisWorkbook.Sheets("Sheet1").UsedRange.Rows(2) ' 定义目标行(示例为第10行,可按需修改) Set targetRow = ThisWorkbook.Sheets("Sheet1").UsedRange.Rows(10) ' 关闭屏幕更新提升执行速度 Application.ScreenUpdating = False ' 复制源行所有内容(含格式、公式、隐藏列数据) sourceRow.Copy targetRow.PasteSpecial Paste:=xlPasteAll ' 清除剪贴板,避免残留内容干扰 Application.CutCopyMode = False ' 恢复屏幕更新 Application.ScreenUpdating = True End Sub
关键说明:
- 使用
UsedRange.Rows替代EntireRow,仅复制工作表实际使用的行范围,避免整行复制引发的表格结构错乱 xlPasteAll参数会完整复制源行的所有内容与格式,包括隐藏列(如列N)的数据,无需单独处理隐藏列- 关闭
ScreenUpdating可大幅提升执行效率,避免界面闪烁 - 全程基于范围批量操作,无循环,性能最优
内容的提问来源于stack exchange,提问作者StaffA
相关产品推荐
相关产品推荐

