won*_*nog 7 excel vba copy excel-vba
我写了一个非常基本的Excel宏来复制选定的行两次,然后将光标向下移动3行,这样可以再次重复该过程.
所以如果我有一个文件,其中前10行都需要重复两次,我运行宏10次.
这已经为我节省了一堆按键,但我确信它可以写得更好,所以我只需选择前10行,然后运行一次宏.
这是我到目前为止所拥有的:
Sub Copy_Twice()
' Copies current row twice
ActiveCell.EntireRow.Select
Selection.Copy
Selection.Insert Shift:=xlDown
ActiveCell.EntireRow.Select
Selection.Copy
Selection.Insert Shift:=xlDown
ActiveCell.Offset(rowOffset:=3).Select
End Sub
Run Code Online (Sandbox Code Playgroud)
对于我运行此宏的每个文件,它可能不是要复制的前10行.
实际上,如果列J中的单元格为空,则更好的宏将是每行复制两次.
更新:文件有一个标题行,其中包含A到X列的值.要复制的行将是标题,其中列J为空白后的第一行x#.因此,在一个示例中,行2-11需要被复制两次.但在另一个文件中,它可能是第2-21行.
尝试这个:
Dim n&, x&
n = 0
x = Application.WorksheetFunction.CountIf(Range("J:J"), " ")
Range("A2").Select
While n <> x
ActiveCell.EntireRow.Copy: ActiveCell.Offset(1, 0).EntireRow.Insert
ActiveCell.EntireRow.Copy: ActiveCell.Offset(1, 0).EntireRow.Insert
ActiveCell.Offset(3, 0).Select
n = n + 1
Wend
Application.CutCopyMode = False
End Sub
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1309 次 |
最近记录: |