我是excel的新手,我正在尝试设置一个宏,在工作表的特定点之后添加一行。示例:第2行包含文本“Original”,因此它应该在之后插入新行,依此类推。
我知道在某些内容之前插入可能更容易,因此我可以更改设置(例如,如果这是一个更简单的解决方案,例如“原始”一词将在第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