나눔터  
  HOME > 나눔터 > 묻고답하기 > 엑셀
엑셀
엑셀에 대한 질문과 답변을 올려주세요. 단, 취지에 맞지 않는 글은 운영자가 삭제합니다.
 "000 님, 도와주세요", "부탁 드립니다.", "급합니다!" 등과 같이 막연한 제목을 달지 말아주세요.
[필독] 빠르고 정확한 답변을 얻는 16가지 Tip !
[필독] 저작권법 개정에 따른 이용안내
작성자:  

 조삿갓 (choga21)

추천:  2
파일:     ex01[2].xls (42.5KB) 조회:  3669
제목:   [RE]한글을 영어로마자로 표기하는 메크로/단축키부탁드립니다.
     
  - 엑셀 버전(95,97,2000,xp,2003,2007): 2016

* 아래줄에 질문을 작성하세요 >>
안녕하세요. 쇼핑몰을 하고있는데 한글주소를 부득이하게 영어발음나는데로 변경을 해야합니다. 여러군대 검색한 결과 검색할수있는 코드를 발견을 해서 사용을 하려고하는데 제 엑셀에 적용하기가 힘들더군요.

[ex01.xls] 파일에 배송지 주소를 메크로의 값을 넣어 자동연산되는 키를 만들고 싶습니다. (예: A2 셀에 Ctrl+4 를 누르면 자동으로 메크로 연산이되어 주소를 영어로 변환)
주소를 영어로 변환하는 엑셀파일은 [한글→로마자변경.xls] 입니다

고수님들 꼭 좀 부탁드리겠습니다..ㅜㅜ 

==============[전라도호순이님 글에 대한 답변입니다]==============

매크로 파일을 보니 얼마 전에 제가 개선해서 공유한 파일이네요.
질문 내용을 보니, 제공된 매크로 유틸리티를 내 파일에 가져올 방법을 모르시는 것 같네요.

개발자들이 VB 메크로를 공유로 제공하는 방법은 두 가지입니다.

1) *.bas 모듈 파일을 제공하는 방법
2) *.xls 또는 *.xlsm 워크북 자체를 제공하는 방법

방법 1)의 예시는 다음 자료를 참고하시면
활용하는 방법도 설명되어 있습니다.

● http://www.officetutor.co.kr/board/Dtype/bfrmvw.asp?f_tn=Dqa_excel_n2&f_bno=123914&page=

질문하신 파일은 2)의 방법, 즉, 매크로 코드를 포함한 워크북을 공유한 것인데
이 경우에는 사용법이나 예제 등을 워크시트에 작성해서 보급할 수 있습니다.

이렇게
======================================================
워크북 형태로 제공된 매크로를 내 것으로 이용하는 방법은
------------------------------------------------------
A. 1회성 활용법
  1) 제공된 매크로 워크북과 내 파일을 동시에 열어 놓습니다.
  2) 내 파일에서  [보기 – 매크로 – 매크로 보기]를 실행하면
     정의된 매크로(Sub 프로시저)의 이름 목록이 나옵니다.
     매크로가 외부 파일에 있기 때문에 이름 앞에 파일명이 함께 보입니다.
     (예: 똑똑한셀병합.xlsm!MergeCell)
  3) 실행을 원하는 매크로 이름을 선택하고 [실행] 단추를 누르면 됩니다.
  * 단, 이 방법은 Sub로 작성된 매크로에만 한정되며
    Function 형태의 매크로는 이 방식을 쓸 수 없습니다.
    (한글 로마자 변환 매크로는 기본적으로 Function으로 설계되어 있음)

B. 접붙이기 - 내 워크북에는 아직 따로 정의한 매크로가 하나도 없는 경우
  1) 제공된 매크로 워크북과 내 파일을 동시에 열어 놓습니다.
  2) 내 파일에 있는 시트탭에서 맨 왼쪽 것을 클릭한 후,
     Shift 키를 누른 채로 맨 오른쪽 시트탭을 클릭하면 전체 시트가 동시 선택됩니다.
  3) 그 상태 그대로 마지막 시트탭을 마우스 오른쪽 단추로 클릭하고
     이동/복사 메뉴를 실행합니다.
  4) 대상 통합문서의 목록단추를 눌러서 매크로 워크북을 선택하고
     (끝으로 이동)을 선택하여 [확인] 클릭
     (복사본 만들기 체크는 선택하지 않음)
  5) 내 워크북은 자동으로 닫힙니다. 만일 안 닫히면 혹시 이동되지 않고 남아 있는
     시트가 있는 경우일 것입니다.(마저 이동시키든가 버리든가)
     일부 시트를 버릴 생각이라면 그냥 내 워크북 파일은 닫으면 됩니다.
  6) 매크로 워크북을 [다른 이름으로 저장]하여
     내 워크북에 덮어 쓰든가(모든 워크시트를 옮겨 왔으므로)
     또는 제3의 이름으로 저장
  7) 매크로 워크북에 본래 있었던 시트들은 삭제하거나 놔두거나 맘대로...
  * 이렇게 하면 비교적 손 쉽게 매크로를 내 것으로 만들 수 있고
    Sub는 물론 사용자정의 Function도 사용할 수 있게 됩니다.
  * 특히 제공 매크로 워크북이 모듈이나 사용자정의 폼 등을 여러 개 포함하고
    있을 경우에는, 이 방법으로 활용하는 것이 가장 간편한 방법일 수 있습니다.
  * 또 하나 장점은, 사용자가 VB 편집기를 쓸 줄 몰라도 상관 없다는 것이죠.
  * 다만, 내 파일보다 매크로 워크북의 버전이 낮은 경우(xlsx -> xls)에는
    오류가 발생하여 불가할 수 있습니다.
    (내 파일을 xls 형식으로 다운그레이드하거나, 매크로 워크북을 xlsm 형식으로
     다시 저장해서 사용하면 됨)

C. Copy & Paste
  1) 제공된 매크로 워크북과 내 파일을 동시에 열어 놓습니다.
  2) VB 편집기를 열고, 왼쪽에 프로젝트탐색기가 보이게 설정합니다.
  3) 제공된 파일에 소속된 각 모듈별로 하나씩 더블클릭에서 열고
  4) 문서 창에서 Ctrl+A를 눌러서 전체 내용을 선택하여 Ctrl+C(복사)
  5) 프로젝트탐색기에서 내 파일을 선택하고 [삽입-모듈] 메뉴 실행
  6) 새로 생긴 모듈의 문서창에 커서를 넣고 Ctrl+V
  7) 모든 모듈들에 대해 3~6 단계 반복
     (독립 모듈 뿐만 아니라 워크시트 또는 워크북에도 모듈 코드가 있을 수 있음)
  8) 사용자정의폼이 있는 경우에는 모든 사용자정의폼에 대해서도
  9) 먼저 폼 디자인을 Ctrl+A -> Ctrl+C -> [삽입-사용자정의폼] 메뉴 실행
     -> 폼 크기 조정 -> Ctrl+V
  10) 다음 폼 모듈(코드)를 문서 창에 열어 놓고 마찬가지 방법으로
      Copy & Paste
  * 이 방법은 VB 편집기를 기본적으로 다룰 줄 알아야 하며, 상당한 노가다임

D. 모듈 파일 또는 폼 파일 형태로 저장해서 가져오는 방법
  1) 제공된 매크로 워크북에서 VB 편집기를 열고
     (내 파일은 꼭 동시에 열어둘 필요는 없음)
  2) 각 모듈별, 사용자정의폼별로 각각
     프로젝트탐색기에서 마우스 오른쪽 단추로 선택한 뒤 [내보내기] 메뉴 실행
  3) 각각을 적당한 이름으로 저장
  4) 내 파일을 열고
  5) VB 편집기의 프로젝트탐색기에서 [파일-가져오기] 실행
  6) 3단계에서 저장했던 파일들을 각각 선택하여 가져오기

 
===========================
두 번째 질문내용으로
---------------------------
매크로 단축키 설정을 원하셨는데
단축키를 설정할 수 있는 매크로는 매개변수를 사용하지 않는 Sub 프로시저 형태만 가능합니다.
그런데 제가 설계했던 VB 사용자정의함수 ename은 Sub 프로시저가 아닌
함수(Function)로 설계되어 있기 때문에
그대로는 단축키를 설정할 수 없습니다.

그러면 Function이 Sub보다 불편한 게 아니냐고 할지 모르지만
사실은 Function이 훨씬 활용도가 높고 융통성이 있습니다.

굳이 단축키로 하려고 하지 마시고
주소 열 옆에 영문주소 열을 삽입하여

첨부파일의 경우처럼 그냥 쓰시는 것을 권장해드립니다.

그래도 굳이 단축키를 쓰시겠다면
Ctrl+Shift+C를 누르면 되도록 설정은 해 두었습니다.

VB편집기에서 Sub 로마자변환 프로시저와
ename 함수를 어떻게 연결했는지 비교 분석해 보시기 바랍니다.

Sub 매크로에 단축키 설정하는 방법은 다음 자료를 참고하시기 바랍니다.

● http://www.officetutor.co.kr/board/Dtype/bfrmvw.asp?f_tn=Dqa_excel_n2&f_bno=123863&page=1&fchk=&fval=

 
[불량 게시물 신고]  
        
  

작성일 : 2018-03-16(22:57)
최종수정일 : 2018-03-16(22:57)
 


 ◎ 관련글

  제 목   작성자   날짜
한글을 영어로마자로 표기하는 메크로/단축키부탁드립니다. 전라도호순이 2018-03-16
[RE]한글을 영어로마자로 표기하는 메크로/단축키부탁드립니다. 조삿갓 2018-03-16