excel - 将列单元格从活动行复制到新行
问题描述
我需要在活动单元格下方添加一行,然后将活动行中 EJ 列中的单元格复制到新插入的行。
Sub Addrow()
ActiveCell.Offset(1).EntireRow.Insert
Range(Cells(ActiveCell.Row, "E"), Cells(ActiveCell.Row, "F"), Cells(ActiveCell.Row, "G"), Cells(ActiveCell.Row, "H"), Cells(ActiveCell.Row, "I"), Cells(ActiveCell.Row, "J")).Select
Selection.Copy
Range(Cells(ActiveCell.Offset(1), "E")).Select
ActiveSheet.Paste
End Sub
我相信问题是在插入新行后选择单元格范围。
解决方案
问题之一可能是您不能为函数提供超过 2 个参数Range
。
此外,您通常希望避免在代码运行时依赖工作表或范围处于活动状态(因为ActiveSheet
orActiveCell
可能会更改,这可能会使您的代码行为不可预测/不可靠)。
Intersect
是一个函数,它将返回其所有参数共享的范围。columns E to J
在这种情况下,它返回 range和 range共有的单元格row of the Active cell
。
Range.Copy
接受一个Destination
参数,因此您可以直接将目标范围传递给它。
Sub AddRow()
Dim selectedCell As Range
Set selectedCell = ActiveCell
Dim parentSheet As Worksheet
Set parentSheet = selectedCell.Parent
selectedCell.Offset(1, 0).EntireRow.Insert xlShiftDown
With Intersect(parentSheet.Range("E:J"), selectedCell.EntireRow)
.Copy .Offset(1)
End With
End Sub
我确实测试了代码,它似乎做了你所描述的(即从选定的行复制并粘贴到它下面新插入的行)。
推荐阅读
- ssh - ssh config - 将选定的密钥发送给代理
- excel - 有没有办法让 VBA Power 查询刷新更快?
- android - 使用带有 Navigation Jetpack 的查询参数的深层链接时保留特殊字符
- http - 在 Netlify 上部署网站后,来自 newsapi.org 的错误 426
- docker - “/bin/sh: [/bin/sh,: not found” 启动 kilna/liquibase-postgres 时的响应
- oracle - Oracle 分区建议
- aws-lambda - 将生成的 lambda 端点用于静态 javascript 代码的无服务器最佳方式
- c - 将 clang 更改为在 C11 或更高版本中编译?
- javascript - 在 Wagtail 导航栏上显示活动选择时出现问题
- java - 尝试在空对象引用上调用虚拟方法 'android.view.View android.widget.ImageView.findViewById(int)'