如何添加行和过去最后一项 - excel宏

时间:2018-03-26 15:03:28

标签: excel excel-vba vba

我正在尝试创建一个有助于每月任务的宏。到目前为止,我记录下面用文本到列操作列N,然后将整个列复制到名为“删除重复项”的新选项卡中。然后删除该列中的重复项。从这里开始,我想在删除重复项后,在B列的每个剩余项目下面插入4行。我不知道如何编写代码,以便在下面没有更多文本时停止插入行。

e.C::m=10

在这4行中,文字只能说'item 1','item2','item3'和'item4'。因此,例如,如果在删除重复项后,我在列B中留下5行文本,我想在每个现有行下面插入20行,4行(尽管最后一行可能不需要插入任何新行,因为没有任何内容在它下面)。然后在新的4行中的每一行中,它应分别表示'item1',item2'等。

最后,如果可能,我想复制B列中的所有行,并将其粘贴到名为“摘要”的新标签中。此选项卡已经有一个项目列表,也在B列中,我想将新行粘贴到此列表的底部,只需添加即可。

有没有办法创建一些可以实现此目的的代码?

如果这令人困惑,我道歉。我可以回答任何不清楚的问题。

提前致谢!

因此,使用下面提供的代码(我将其扩展为6行),加上我自己的一些研究,我设法获得额外的行,以及复制和粘贴到另一个选项卡的底部 - 和 - 运行。这是我目前的代码:

Columns("O:O").Select
Selection.Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove
Columns("N:N").Select
Selection.TextToColumns Destination:=Range("N1"), DataType:=xlDelimited, _
    TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=False, _
    Semicolon:=False, Comma:=False, Space:=False, Other:=True, OtherChar _
    :="-", FieldInfo:=Array(Array(1, 1), Array(2, 1)), TrailingMinusNumbers:=True
Columns("N:N").Select
Selection.Copy
Sheets("Remove Duplicates").Select
Columns("B:B").Select
ActiveSheet.Paste
Application.CutCopyMode = False
ActiveSheet.Range("$B$1:$B$104").RemoveDuplicates Columns:=1, Header:=xlNo
Rows("4:7").Select
    Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
    Rows("9:12").Select
    Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
    Rows("14:17").Select
    Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
    Rows("19:22").Select
    Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
    Rows("24:27").Select
    Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
    Rows("29:32").Select
    Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
    Rows("34:38").Select
    Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove

最后一块,如果有人可以提供帮助,则添加相同的文字集(称之为'第1项','第2项','第3项','第4项','第5项','第6项')每个新添加的6行。真的很感谢到目前为止的所有帮助!

1 个答案:

答案 0 :(得分:0)

假设在B2上开始数据行,请尝试使用此代码在每个数据行后插入4行。

Screens