找到特定文本后插入行

时间:2016-06-17 11:37:08

标签: excel excel-vba vba

我是excel的新手,我正在尝试设置一个宏,在工作表的特定点之后添加一行。示例:第2行包含文本“Original”,因此它应该在之后插入新行,依此类推。

我知道在某些内容之前插入可能更容易,因此我可以更改设置(例如,如果这是一个更简单的解决方案,例如“原始”一词将在第2行并且新行添加到其上方) 。

这可能吗?怎么样?

感谢所有可能的帮助。

2 个答案:

答案 0 :(得分:2)

比上一个答案稍微简单一些:

Sub NewRowInsert()
Dim SearchText As String
Dim GCell As Range

SearchText = "Original"
Set GCell = Cells.Find(SearchText).Offset(1)
GCell.EntireRow.Insert

End Sub

这适用于当前的活动工作表。如果你想使用其他工作表,比如Sheet2,你可以使用:

Set GCell = Worksheets("Sheet2").Cells.Find(SearchText).Offset(1)

如果你想在不同的工作簿上操作,例如TestBook.xlsx,您可以使用:

Set GCell = Workbooks("TestBook.xlsx").Worksheets("Sheet2").Cells.Find(SearchText).Offset(1)

请注意,我避免使用select。这对您来说可能不是问题,但如果您搜索数千行并进行多次替换,则可能会大大加快您的代码速度。

答案 1 :(得分:0)

尝试以下代码=您可以将textvalue变量值更改为您想要搜索的内容。

ab.png