gpt4 book ai didi

vba - 复制所选行两次

转载 作者:行者123 更新时间:2023-12-02 01:58:01 24 4
gpt4 key购买 nike

我编写了一个非常基本的 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

对于我运行此宏的每个文件,它可能不是要复制的前 10 行。

事实上,如果 J 列中的单元格为空,更好的宏是将每行复制两次。

更新:文件的标题行包含 A 至 X 列的值。要复制的行将是标题后的前 x # 行,其中 J 列为空白。因此,在一个示例中,第 2-11 行需要重复两次。但在另一个文件中,可能是第 2-21 行。

最佳答案

我也可以玩吗? :P

这是最快的方法。假设您的数据来自单元格 A1:A10。只需运行此代码即可。

您根本不必使用复制/粘贴

此代码的作用是,插入空白行,然后模拟 Ctrl + G --> 特殊 --> 空白单元格 --> 用以下内容填充空白单元格使用 CTRL + ENTER 从上行获取数据。

For i = 10 To 2 Step -1
Rows(i).Insert: Rows(i).Insert
Next i

'~~> After the blank rows are inserted your range will
'~~> expand up to row 30
Range("A1:A30").SpecialCells(xlCellTypeBlanks).FormulaR1C1 = "=R[-1]C"
Range("A1:A30").Value = Range("A1:A30").Value '<~~ Convert formuals back to values

enter image description here

关于vba - 复制所选行两次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33610534/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com