'Ralace 이용해서 값 찾아 변경하기'에 해당되는 글 1건

728x90

Ralace 이용해서 값 찾아 변경하기



현재 시트에서 원하는 값을 찾아서 변경하는 VBA 코드입니다.



문자열을 찾아서 변경할 때에는 찾는 문자열은 있는데, 변경할 문자열은 공백인 경우도 있습니다.

그리고 찾는 문자열과 변경할 문자열이 맞는지 확인하는 것도 필요합니다.

IF 함수와 Msgbox 확인을 통해서 조건에 맞으면 진행하고 조건에 맞지 않으면 취소하는 로직도 고려했습니다.

첨부된 엑셀에서 Alt + F11 을 누르고 [모듈] Module2 를 선택하면 코드가 나옵니다.

Replace 를 블럭 설정한 다음 F1 (도움말) 키를 누르면 함수에 대한 설명이 나옵니다.


특정한 열을 기준으로 찾고자 한다면 For Each sht In ThisWorkbook.Worksheets .... Next sht 문 대신에

한줄로

Range([C2], Cells(Rows.Count, "C").End(3)).Replace What:=FindText, Replacement:=replace_Text


Sub replace_Text()
    Dim sht As Worksheet
    Dim FindText  As String
    Dim replace_Text As String   
       
    FindText = InputBox("찾을 문자열 입력") '//찾을 문자열을 변수에 넣음
    If FindText = "" Then Exit Sub
   
    replace_Text = InputBox("[" & FindText & "] 을 바꿀 문자열을 입력하세요")
    If replace_Text = "" Then
        If MsgBox("바꿀 내용이 공백이면 찾을 내용을 삭제합니다" & vbCr & "수정하시겠습니까?", vbYesNo) = vbNo Then Exit Sub
    Else
        If MsgBox("찾을 내용 : " & FindText & vbCr & "바꿀 내용 : " & replace_Text & vbCr & "변경하시겠습니까?", vbYesNo) = vbNo Then Exit Sub
    End If
   
    For Each sht In ThisWorkbook.Worksheets
        sht.Cells.Replace What:=FindText, Replacement:=replace_Text
    Next sht
   
    MsgBox "변경완료 했습니다"
End Sub


replace_VBA_samples.xlsm





블로그 이미지

Link2Me

,