2016-06-17 11 views
0

Я довольно новичок в Excel, и я пытаюсь настроить макрос, который добавляет строку после определенной точки рабочего листа. Пример: Строка 2 содержит текст «Оригинал», поэтому впоследствии он должен вставить новую строку и т. Д.Вставить строку после определенного текста

Я знаю, что было бы легче вставить перед чем-то, поэтому я мог бы изменить настройку (так, например, слово «оригинал» будет в строке 2, а новая строка добавлена ​​над ним), если это проще решение.

Возможно ли это? Как?

Спасибо за всю возможную помощь.

+0

Возможно. Прочитайте документацию по методам 'Найти' и' Вставить' объектов «Диапазон». Попробуйте их. Если необходимо, задайте целенаправленный вопрос о любых проблемах, с которыми вы сталкиваетесь, когда используете эти методы в своем коде. –

ответ

0

Попробуйте использовать приведенный ниже код = вы можете изменить значение переменной textvalue на то, что вы хотите искать.

Sub newRow() 
Dim textvalue As String 

textvalue = "Original" 

Cells.Find(What:=textvalue, After:=ActiveCell, LookIn:=xlFormulas, _ 
    LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _ 
    MatchCase:=False, SearchFormat:=False).Activate 
    ActiveCell.offset(rowOffset:=1, columnOffset:=0).Activate 

ActiveCell.EntireRow.Insert 

End Sub 
1

Немного проще, чем предыдущий ответ:

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

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

End Sub 

Это будет работать с текущим активным листом. Если вы хотите использовать какой-либо другой лист, скажем, Лист2, вы можете использовать:

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

и если вы хотите работать на другой книги, например, TestBook.xlsx, вы можете использовать:

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

Обратите внимание, что я избегал использования select. Это может не быть проблемой для вас, но если вы просматриваете тысячи строк и делаете много замен, это может значительно ускорить ваш код.

Смежные вопросы