반응형

업무에 엑셀을 활용하다 보면 몇건 안될때는 별거 아니지만 자주하게 되면 은근히 사람 귀찮게 하는 경우가 자주 발생합니다. 이런 작업들은 매크로를 사용하면 조금 더 쉽게 처리 할 수 있게됩니다. 엑셀 매크로를 모른다거나, VBA를 접해본적이 없어서 시도조차 해보지 않았던 분들도 크게 어렵지 않으니 매크로에 한번 도전해 보셨으면 좋겠습니다.

 

저는 업무 시 브라우저에서 복붙하여 엑셀에 입력된 날짜 형태가 2020.12.10 와 같이 (.)으로 연월일이 구분되어있으면 셀서식도 먹히지 않고 계산도 되지 않아 매우 불편했습니다. 문자로 인식되기 떄문인데요

간단하게 (.)을 (-)으로 변경하는 방법으로는 찾아바꾸기 기능을 사용하는 방법입니다. 하지만 데이터를 엑셀에 붙여 넣을 때 마다 찾아바꾸기 하는게 여간 성가신게 아니라서 매크로로 작성했었습니다.

저도 찾아바꾸기 기능을 사용하는  VBA소스는 알지 못합니다. 하지만 엑셀에 있는 [보기]-[매크로]-[매크로 기록] 기능을 사용하면 누구나 쉽게 필요한 매크로를 작성하여 사용할 수 있게됩니다. 약간의 수정을 할 수 있다면 활용도를 더 높일수도 있고요

 

일단 매크로 작성 시작해볼까요??

먼저 [보기]-[매크로]-[매크로 기록] 메뉴를 찾아서 클릭해줍니다

 

다음과 같은 창이 나오면 매크로 이름을 지정해주고, 필요하다면 단축키도 지정한 후 확인 버튼을 눌러 눌러줍니다.

 

변경이 필요한 부분을 드래그하여 범위 지정 한 후 찾기 및 바꾸기 기능을 실행합니다. (단축키는 Ctrl+F / 바꾸기로 탭 변경)

찾을 내용 : . / 바꿀 내용 : - 입력 후 [모두 바꾸기] 버튼을 클릭합니다.

 

텍스트 형태였던 위 2행의 값이 날짜 형태로 바뀌었네요, 이제 작성된 매크로 확인을 해봅니다

ALT + F11 버튼을 눌러 코드를 확인해 봅니다. 영어로 뭐라뭐라 적혀있는데 Range("B19:B22).Select 이 부분은 드래그 하여 선택하였던 부분이고, 이후 3줄이 찾아바꾸기 기능 관련 소스임을 추정해볼 수 있습니다.

 

Sub 매크로1()
'
' 매크로1 매크로
'

    Selection.Replace What:=".", Replacement:="-", LookAt:=xlPart, _
        SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
        ReplaceFormat:=False
End Sub

 찾아바꾸기 기능 관련 소스만 남기고 드래그 관련 소스는 지워줍니다.

다른 셀들에 2020.12.10 형태의 데이터들을 입력 해두고, 드래그하여 선택 한 후 매크로를 실행*시켜 봅니다.

 

보았듯이 매크로 입력을 통해서 소스를 모르는 엑셀 기능들도 사용할 수 있습니다. 본인이 사용하는 데이터와 숙련도에 따라서 녹화된 코드를 수정하여 다양하게 활용가능합니다.

감사합니다.

 

*매크로 실행방법(엑셀에 도형 삽입 후 매크로 지정 - 해당 도형 클릭시 실행, 단축키 지정해두었을 경우 단축키 누르기, VBA 창에서 재생표시 누르기)

 

반응형

+ Recent posts