2016-06-17 2 views
0

저는 Excel에 상당히 익숙하며 워크 시트의 특정 지점 다음에 행을 추가하는 매크로를 설정하려고합니다. 예 : 2 행에는 "원본"텍스트가 포함되어 있으므로 나중에 새 행을 삽입해야합니다.특정 텍스트를 찾은 후 행 삽입

무언가보다 먼저 삽입하는 것이 더 쉽다는 것을 알고 있으므로 설정을 변경할 수 있습니다 (예 : "원본"이라는 단어가 2 행에 있고 새 행이 위에 추가됨). 해결책.

이것이 가능합니까? 방법?

모든 도움을 주셔서 감사합니다.

+0

가능합니다. 'Range' 객체의'Find'와'Insert' 메쏘드에 대한 문서를 읽으십시오. 그것들을 시험해보십시오. 필요한 경우 코드에서 이러한 메서드를 사용할 때 발생하는 모든 문제에 대해 집중적 인 질문을 게시하십시오. –

답변

0

다음 코드를 사용해보십시오 = 텍스트 값 변수 값을 검색하고자하는 값으로 변경할 수 있습니다.

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 

이 현재 활성 시트와 함께 작동합니다. 다른 시트 (Sheet2)를 사용하려면 다음을 사용할 수 있습니다.

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

다른 통합 문서에서 작업하려는 경우. TestBook.xlsx, 당신은 사용할 수 있습니다 :

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

나는 선택의 사용을 피 했음에 유의하십시오. 이것은 당신에게 문제가되지 않을 수도 있지만 수천 개의 행을 검색하고 많은 바꾸기를하면 코드 속도가 상당히 빨라질 수 있습니다.

관련 문제