<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>VBA 스나이퍼</title>
    <link>https://dream2049.tistory.com/</link>
    <description>엑셀 VBA 기초지식을 배우고, 유사 모델을 찾아, 당신의 작품을 완성하세요.</description>
    <language>ko</language>
    <pubDate>Tue, 19 May 2026 19:01:29 +0900</pubDate>
    <generator>TISTORY</generator>
    <ttl>100</ttl>
    <managingEditor>노만e</managingEditor>
    <image>
      <title>VBA 스나이퍼</title>
      <url>https://tistory1.daumcdn.net/tistory/7755985/attach/6cc678efce164a2d88df52f6e95c5ecc</url>
      <link>https://dream2049.tistory.com</link>
    </image>
    <item>
      <title>엑셀 노가다 끝! 버튼 하나로 칼퇴하는 커스텀 리본 메뉴 「우공이산」</title>
      <link>https://dream2049.tistory.com/200</link>
      <description>&lt;p data-path-to-node=&quot;8&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1907&quot; data-origin-height=&quot;141&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/3qy6a/dJMcaf0TR8y/Y4MknLkQ5bOIe74f7Da7BK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/3qy6a/dJMcaf0TR8y/Y4MknLkQ5bOIe74f7Da7BK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/3qy6a/dJMcaf0TR8y/Y4MknLkQ5bOIe74f7Da7BK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F3qy6a%2FdJMcaf0TR8y%2FY4MknLkQ5bOIe74f7Da7BK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1907&quot; height=&quot;141&quot; data-origin-width=&quot;1907&quot; data-origin-height=&quot;141&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-path-to-node=&quot;8&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-path-to-node=&quot;8&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock widthContent&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1071&quot; data-origin-height=&quot;867&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cAD0Hq/dJMcaayzISM/ssWzquXFlLlhXkUti6tRW1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cAD0Hq/dJMcaayzISM/ssWzquXFlLlhXkUti6tRW1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cAD0Hq/dJMcaayzISM/ssWzquXFlLlhXkUti6tRW1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcAD0Hq%2FdJMcaayzISM%2FssWzquXFlLlhXkUti6tRW1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1071&quot; height=&quot;867&quot; data-origin-width=&quot;1071&quot; data-origin-height=&quot;867&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-path-to-node=&quot;8&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-path-to-node=&quot;8&quot; data-ke-size=&quot;size16&quot;&gt;혹시 매일 엑셀을 열 때마다 반복되는 '복사-붙여넣기',&lt;/p&gt;
&lt;p data-path-to-node=&quot;8&quot; data-ke-size=&quot;size16&quot;&gt;제각각인 파일 이름 바꾸기, 수십 개 시트 일일이 PDF로 저장하기 같은&lt;/p&gt;
&lt;p data-path-to-node=&quot;8&quot; data-ke-size=&quot;size16&quot;&gt;무의미한 '노가다 업무'로 고통받고 계시진 않나요?&lt;/p&gt;
&lt;p data-path-to-node=&quot;9&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-path-to-node=&quot;9&quot; data-ke-size=&quot;size16&quot;&gt;&quot;이 단순 반복 업무를 버튼 하나로 끝낼 수 있다면 얼마나 좋을까?&quot;&lt;/p&gt;
&lt;p id=&quot;p-rc_ce4eae6c77d202bb-36&quot; data-path-to-node=&quot;10&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span data-path-to-node=&quot;10,0&quot;&gt;&lt;/span&gt;&lt;span data-path-to-node=&quot;10,1&quot;&gt;&lt;span&gt;이런 고민에서 출발해, 매일 반복되는 엑셀 업무를 조금씩 자동화하여 &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-path-to-node=&quot;10&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span data-path-to-node=&quot;10,1&quot;&gt;&lt;span&gt;결국 거대한 업무 효율을 이루겠다는 의미를 담은 엑셀 커스텀 리본 메뉴 &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-path-to-node=&quot;10&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span data-path-to-node=&quot;10,1&quot;&gt;&lt;span&gt;우공이산(愚公移山)」을 소개합니다!&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span data-path-to-node=&quot;10,2&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-path-to-node=&quot;10&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-path-to-node=&quot;10&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span data-path-to-node=&quot;10,1&quot;&gt;&lt;span&gt;비밀번호가 걸려 있지 않습니다.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-path-to-node=&quot;10&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span data-path-to-node=&quot;10,1&quot;&gt;&lt;span&gt;코딩을 하실 줄 아는 분은, 불편한 부분 수정해서 사용하셔도 됩니다.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-path-to-node=&quot;11&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p id=&quot;p-rc_ce4eae6c77d202bb-37&quot; data-path-to-node=&quot;11&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span data-path-to-node=&quot;11,0&quot;&gt;&lt;/span&gt;&lt;span data-path-to-node=&quot;11,1&quot;&gt;&lt;span&gt;하루에 3시간씩 걸리는 반복 업무를 딱 20%씩만 줄여도, &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-path-to-node=&quot;11&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span data-path-to-node=&quot;11,1&quot;&gt;&lt;span&gt;한 달이면 무려 12시간 이상의 여유 시간이 생깁니다&lt;/span&gt;&lt;/span&gt;&lt;span data-path-to-node=&quot;11,2&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span data-path-to-node=&quot;11,3&quot;&gt;. &lt;/span&gt;&lt;/p&gt;
&lt;p data-path-to-node=&quot;11&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span data-path-to-node=&quot;11,3&quot;&gt;자주 사용하는 핵심 매크로 기능을 엑셀 상단 탭 하나에 모아놓고 원클릭으로 실행해 보세요. &lt;/span&gt;&lt;/p&gt;
&lt;p data-path-to-node=&quot;11&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span data-path-to-node=&quot;11,4&quot;&gt;&lt;/span&gt;&lt;span data-path-to-node=&quot;11,5&quot;&gt;&lt;span&gt;여러분의 업무 생산성이 비약적으로 향상될 것입니다&lt;/span&gt;&lt;/span&gt;&lt;span data-path-to-node=&quot;11,6&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span data-path-to-node=&quot;11,7&quot;&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;h4 data-path-to-node=&quot;12&quot; data-ke-size=&quot;size20&quot;&gt;  이런 분들께 강력 추천합니다!&lt;/h4&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-path-to-node=&quot;13&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;span data-path-to-node=&quot;13,0,0,0&quot;&gt;&lt;/span&gt;&lt;span data-path-to-node=&quot;13,0,0,1&quot;&gt;&lt;span&gt;엑셀은 기본적으로 쓸 줄 알지만 VBA나 매크로는 구경도 못 해보신 분 &lt;/span&gt;&lt;/span&gt;&lt;span data-path-to-node=&quot;13,0,0,2&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span data-path-to-node=&quot;13,1,0,0&quot;&gt;&lt;/span&gt;&lt;span data-path-to-node=&quot;13,1,0,1&quot;&gt;&lt;span&gt;리본 메뉴를 내 입맛대로 바꾸고 싶지만 XML 코드의 'X'자도 모르시는 분 &lt;/span&gt;&lt;/span&gt;&lt;span data-path-to-node=&quot;13,1,0,2&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span data-path-to-node=&quot;13,2,0,0&quot;&gt;&lt;/span&gt;&lt;span data-path-to-node=&quot;13,2,0,1&quot;&gt;&lt;span&gt;이미 완성된 「우공이산」 추가기능(.xlam) 파일을 엑셀에 설치해서 바로 실무에 써먹고 싶으신 분 &lt;/span&gt;&lt;/span&gt;&lt;span data-path-to-node=&quot;13,2,0,2&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p id=&quot;p-rc_ce4eae6c77d202bb-41&quot; data-path-to-node=&quot;14&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span data-path-to-node=&quot;14,0&quot;&gt;&lt;/span&gt;&lt;span data-path-to-node=&quot;14,1&quot;&gt;&lt;span&gt;  「우공이산」 리본 메뉴 핵심 기능 (1개 탭, 9개 그룹, 80개 이상의 기능) - &lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;i&gt;&lt;b&gt;제가 회사에서 쓰는 기능들을 모아놨습니다.&lt;/b&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span data-path-to-node=&quot;14,2&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-path-to-node=&quot;15&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p id=&quot;p-rc_ce4eae6c77d202bb-42&quot; data-path-to-node=&quot;15&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span data-path-to-node=&quot;15,0&quot;&gt;&lt;/span&gt;&lt;span data-path-to-node=&quot;15,1&quot;&gt;&lt;span&gt;이번 최신 버전의 「우공이산」은 홈 탭 바로 앞에 떡하니 자리 잡고 실무에 즉시 투입 가능한 강력한 자동화 기능들을 제공합니다&lt;/span&gt;&lt;/span&gt;&lt;span data-path-to-node=&quot;15,2&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span data-path-to-node=&quot;15,3&quot;&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-path-to-node=&quot;16&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li id=&quot;p-rc_ce4eae6c77d202bb-43&quot; data-path-to-node=&quot;16,0,1&quot;&gt;&lt;span data-path-to-node=&quot;16,0,1,0&quot;&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;16,0,1,0&quot;&gt;&lt;span&gt;파일 및 인쇄:&lt;/span&gt;&lt;/b&gt;&lt;span&gt; 수십 개 파일 이름 일괄 변경, 특정 조건별 파일 분할 저장, 모든 시트를 각각 또는 하나의 PDF로 원클릭 출력 &lt;/span&gt;&lt;/span&gt;&lt;span data-path-to-node=&quot;16,0,1,1&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li id=&quot;p-rc_ce4eae6c77d202bb-44&quot; data-path-to-node=&quot;16,1,1&quot;&gt;&lt;span data-path-to-node=&quot;16,1,1,0&quot;&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;16,1,1,0&quot;&gt;&lt;span&gt;원클릭 채우기:&lt;/span&gt;&lt;/b&gt;&lt;span&gt; 셀 서식 창을 열 필요 없이 13가지 프리셋 색상으로 배경색 즉시 변경, 홀/짝 교대 행 색상(줄무늬 효과) 자동 적용&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li id=&quot;p-rc_ce4eae6c77d202bb-45&quot; data-path-to-node=&quot;16,2,1&quot;&gt;&lt;span data-path-to-node=&quot;16,2,1,0&quot;&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;16,2,1,0&quot;&gt;&lt;span&gt;핵심 셀 편집:&lt;/span&gt;&lt;/b&gt;&lt;span&gt; 병합된 셀을 분할하면서 빈 공간에 원래 값 다 채워넣기(분할+채움 동시 수행), 같은 값을 가진 연속 셀 자동 병합, 데이터 범위 내 빈 행 일괄 삭제&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li id=&quot;p-rc_ce4eae6c77d202bb-46&quot; data-path-to-node=&quot;16,3,1&quot;&gt;&lt;span data-path-to-node=&quot;16,3,1,0&quot;&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;16,3,1,0&quot;&gt;&lt;span&gt;고급 복사 및 필터:&lt;/span&gt;&lt;/b&gt;&lt;span&gt; 엑셀에서 원래 안 되는 비연속 범위(떨어져 있는 셀들) 한 번에 복사하기, 특정 셀과 똑같은 배경색을 가진 셀들만 귀신같이 찾아내어 일괄 선택&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li data-path-to-node=&quot;16,3,1&quot;&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;16,4,1,0&quot;&gt;강력한 그림(이미지) 관리:&lt;/b&gt;&lt;span style=&quot;letter-spacing: 0px;&quot;&gt; 셀에 적힌 이름과 똑같은 이미지 파일을 찾아 옆 셀에 자동 삽입(제품 대장 작성 시 혁신!), 대량의 이미지를 셀 크기에 맞춰 한 번에 일괄 조정, 사진대지 양식 자동 삽입&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;letter-spacing: 0px;&quot;&gt;조금이나마 업무에 도움이 되면 좋겠습니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;fileblock&quot; data-ke-align=&quot;alignCenter&quot;&gt;&lt;a href=&quot;https://blog.kakaocdn.net/dn/be7Vid/dJMcafNruAw/LebD0lSWoeXPYp9b6qEULK/%EC%9A%B0%EA%B3%B5%EC%9D%B4%EC%82%B0_ver1.0.xlam?attach=1&amp;amp;knm=tfile.xlam&quot; class=&quot;&quot;&gt;
    &lt;div class=&quot;image&quot;&gt;&lt;/div&gt;
    &lt;div class=&quot;desc&quot;&gt;&lt;div class=&quot;filename&quot;&gt;&lt;span class=&quot;name&quot;&gt;우공이산_ver1.0.xlam&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;size&quot;&gt;0.59MB&lt;/div&gt;
&lt;/div&gt;
  &lt;/a&gt;&lt;/figure&gt;
&lt;figure class=&quot;fileblock&quot; data-ke-align=&quot;alignCenter&quot;&gt;&lt;a href=&quot;https://blog.kakaocdn.net/dn/LAgsE/dJMcafNruBy/INkRjtKVTvTW9fqPeklH9k/%F0%9F%93%98%20%EC%97%91%EC%85%80%20%EC%BB%A4%EC%8A%A4%ED%85%80%20%EB%A6%AC%EB%B3%B8%20%EB%A9%94%EB%89%B4%20%E3%80%8C%EC%9A%B0%EA%B3%B5%EC%9D%B4%EC%82%B0%E3%80%8D%20%EB%A7%A4%EB%89%B4%EC%96%BC.docx?attach=1&amp;amp;knm=tfile.docx&quot; class=&quot;&quot;&gt;
    &lt;div class=&quot;image&quot;&gt;&lt;/div&gt;
    &lt;div class=&quot;desc&quot;&gt;&lt;div class=&quot;filename&quot;&gt;&lt;span class=&quot;name&quot;&gt;  엑셀 커스텀 리본 메뉴 「우공이산」 매뉴얼.docx&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;size&quot;&gt;0.06MB&lt;/div&gt;
&lt;/div&gt;
  &lt;/a&gt;&lt;/figure&gt;
&lt;/p&gt;</description>
      <category>사용자 리본 만들기</category>
      <category>#엑셀 #Excel #엑셀VBA #엑셀매크로 #엑셀자동화 #업무자동화 #VBA #매크로 #OfficeRibbonXEditor #리본메뉴 #리본메뉴만들기 #엑셀추가기능 #xlam #XML #엑셀커스텀 #엑셀리본메뉴 #엑셀실무 #직장인엑셀 #칼퇴 #업무효율 #엑셀노가다 #스마트워크 #생산성향상 #보고서작성 #우공이산 #엑셀우공이산 #엑셀매뉴얼 #VBA강좌 #엑셀초보 #독학</category>
      <author>노만e</author>
      <guid isPermaLink="true">https://dream2049.tistory.com/200</guid>
      <comments>https://dream2049.tistory.com/200#entry200comment</comments>
      <pubDate>Sat, 16 May 2026 16:07:58 +0900</pubDate>
    </item>
    <item>
      <title>VBA Scripting.Dictionary 완전 정복  ️</title>
      <link>https://dream2049.tistory.com/199</link>
      <description>&lt;h2 style=&quot;list-style-type: none; background-color: #ffffff; color: #232425; text-align: start;&quot; data-source-line=&quot;5-5&quot; data-ke-size=&quot;size26&quot;&gt;1. Dictionary란 무엇인가?&lt;/h2&gt;
&lt;p style=&quot;list-style-type: none; background-color: #ffffff; color: #232425; text-align: start;&quot; data-source-line=&quot;7-7&quot; data-ke-size=&quot;size16&quot;&gt;Dictionary는&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;b&gt;&quot;열쇠(Key)&quot;와 &quot;값(Value)&quot;을 쌍으로 저장하는 메모리 저장소&lt;/b&gt;입니다.&lt;/p&gt;
&lt;p style=&quot;list-style-type: none; background-color: #ffffff; color: #232425; text-align: start;&quot; data-source-line=&quot;9-9&quot; data-ke-size=&quot;size16&quot;&gt;우리가 일상에서 사용하는&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;b&gt;사전(단어장)&lt;/b&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;과 똑같은 원리입니다.&lt;/p&gt;
&lt;blockquote style=&quot;background-color: #ffffff; color: #606366; text-align: start;&quot; data-source-line=&quot;11-12&quot; data-ke-style=&quot;style1&quot;&gt;
&lt;p style=&quot;list-style-type: none;&quot; data-source-line=&quot;11-12&quot; data-ke-size=&quot;size16&quot;&gt;영어사전에서 &quot;apple&quot;을 찾으면 &amp;rarr; &quot;사과&quot;가 나오듯이 Dictionary에서 &quot;apple&quot;을 찾으면 &amp;rarr; 저장해둔 값이 즉시 나옵니다.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;pre class=&quot;isbl&quot; style=&quot;background-color: #fafafa; color: #232425; text-align: start;&quot; data-source-line=&quot;14-26&quot;&gt;&lt;code&gt;┌─────────────────────────────────────────┐
│           Scripting.Dictionary          │
│                                         │
│  Key(열쇠)      Value(값)               │
│  ──────────     ──────────              │
│  &quot;김치찌개&quot;  &amp;rarr;  8000                   │
│  &quot;된장찌개&quot;  &amp;rarr;  7000                   │
│  &quot;비빔밥&quot;    &amp;rarr;  9000                   │
│                                         │
│  찾는 방법: dict(&quot;김치찌개&quot;) &amp;rarr; 8000    │
└─────────────────────────────────────────┘
&lt;/code&gt;&lt;/pre&gt;
&lt;hr data-source-line=&quot;28-28&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h2 style=&quot;list-style-type: none; background-color: #ffffff; color: #232425; text-align: start;&quot; data-source-line=&quot;30-30&quot; data-ke-size=&quot;size26&quot;&gt;2. 왜 Dictionary를 사용해야 하는가?&lt;/h2&gt;
&lt;h3 id=&quot;%F0%9F%90%A2-dictionary-%EC%97%86%EC%9D%B4-%E2%80%94-%EB%B0%98%EB%B3%B5%EB%AC%B8-%ED%83%90%EC%83%89-(%EB%8A%90%EB%A6%BC)&quot; style=&quot;list-style-type: none; background-color: #ffffff; color: #232425; text-align: start;&quot; data-source-line=&quot;32-32&quot; data-ke-size=&quot;size23&quot;&gt;  Dictionary 없이 &amp;mdash; 반복문 탐색 (느림)&lt;/h3&gt;
&lt;p style=&quot;list-style-type: none; background-color: #ffffff; color: #232425; text-align: start;&quot; data-source-line=&quot;34-34&quot; data-ke-size=&quot;size16&quot;&gt;데이터가 많아질수록 속도가 급격히 느려집니다. 예를 들어 Message 시트에 10,000행, Fault Type 시트에 500행이 있다면 최악의 경우&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;b&gt;10,000 &amp;times; 500 = 5,000,000번&lt;/b&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;비교해야 합니다.&lt;/p&gt;
&lt;pre class=&quot;vbnet&quot; style=&quot;background-color: #fafafa; color: #232425; text-align: start;&quot; data-source-line=&quot;36-47&quot;&gt;&lt;code&gt;' ❌ 느린 방식 - 매번 처음부터 끝까지 탐색
For i = 1 To 10000          ' Message 시트 행
    For j = 1 To 500        ' Fault Type 시트 행
        If msgData(i) = faultData(j) Then
            result(i) = faultType(j)
            Exit For
        End If
    Next j
Next i
' 최악의 경우 5,000,000번 비교 발생!
&lt;/code&gt;&lt;/pre&gt;
&lt;h3 id=&quot;%F0%9F%90%87-dictionary-%EC%82%AC%EC%9A%A9-%E2%80%94-%EC%A6%89%EC%8B%9C-%ED%83%90%EC%83%89-(%EB%B9%A0%EB%A6%84)&quot; style=&quot;list-style-type: none; background-color: #ffffff; color: #232425; text-align: start;&quot; data-source-line=&quot;49-49&quot; data-ke-size=&quot;size23&quot;&gt;  Dictionary 사용 &amp;mdash; 즉시 탐색 (빠름)&lt;/h3&gt;
&lt;p style=&quot;list-style-type: none; background-color: #ffffff; color: #232425; text-align: start;&quot; data-source-line=&quot;51-51&quot; data-ke-size=&quot;size16&quot;&gt;Dictionary는&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;b&gt;처음 한 번만 데이터를 등록&lt;/b&gt;해두면, 이후 검색은&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;b&gt;단 1번&lt;/b&gt;으로 끝납니다.&lt;/p&gt;
&lt;pre class=&quot;vbnet&quot; style=&quot;background-color: #fafafa; color: #232425; text-align: start;&quot; data-source-line=&quot;53-59&quot;&gt;&lt;code&gt;' ✅ 빠른 방식 - Key로 즉시 탐색
For i = 1 To 10000          ' Message 시트 행만큼만 반복
    result(i) = dict(msgData(i))   ' 단 1번 검색!
Next i
' 10,000번만 실행! 속도 차이 수십~수백 배
&lt;/code&gt;&lt;/pre&gt;
&lt;h3 id=&quot;%F0%9F%93%8A-%EC%86%8D%EB%8F%84-%EB%B9%84%EA%B5%90%ED%91%9C&quot; style=&quot;list-style-type: none; background-color: #ffffff; color: #232425; text-align: start;&quot; data-source-line=&quot;61-61&quot; data-ke-size=&quot;size23&quot;&gt;  속도 비교표&lt;/h3&gt;
&lt;div style=&quot;background-color: #ffffff; color: #232425; text-align: start;&quot;&gt;구분Message 행Fault Type 행최대 비교 횟수
&lt;table style=&quot;text-align: left; border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-source-line=&quot;63-67&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody data-source-line=&quot;65-67&quot;&gt;
&lt;tr data-source-line=&quot;65-65&quot;&gt;
&lt;td style=&quot;text-align: center;&quot;&gt;반복문 방식&lt;/td&gt;
&lt;td style=&quot;text-align: center;&quot;&gt;10,000&lt;/td&gt;
&lt;td style=&quot;text-align: center;&quot;&gt;500&lt;/td&gt;
&lt;td style=&quot;text-align: center;&quot;&gt;&lt;b&gt;5,000,000번&lt;/b&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-source-line=&quot;66-66&quot;&gt;
&lt;td style=&quot;text-align: center;&quot;&gt;Dictionary 방식&lt;/td&gt;
&lt;td style=&quot;text-align: center;&quot;&gt;10,000&lt;/td&gt;
&lt;td style=&quot;text-align: center;&quot;&gt;500&lt;/td&gt;
&lt;td style=&quot;text-align: center;&quot;&gt;&lt;b&gt;10,000번&lt;/b&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-source-line=&quot;67-67&quot;&gt;
&lt;td style=&quot;text-align: center;&quot;&gt;&lt;b&gt;속도 차이&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;text-align: center;&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;td style=&quot;text-align: center;&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;td style=&quot;text-align: center;&quot;&gt;&lt;b&gt;약 500배 빠름&lt;/b&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;hr data-source-line=&quot;69-69&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h2 style=&quot;list-style-type: none; background-color: #ffffff; color: #232425; text-align: start;&quot; data-source-line=&quot;71-71&quot; data-ke-size=&quot;size26&quot;&gt;3. Dictionary 메서드 완전 정리&lt;/h2&gt;
&lt;h3 id=&quot;%F0%9F%93%8C-%EC%83%9D%EC%84%B1-%EB%B0%8F-%EC%84%A4%EC%A0%95&quot; style=&quot;list-style-type: none; background-color: #ffffff; color: #232425; text-align: start;&quot; data-source-line=&quot;73-73&quot; data-ke-size=&quot;size23&quot;&gt;  생성 및 설정&lt;/h3&gt;
&lt;pre class=&quot;vbnet&quot; style=&quot;background-color: #fafafa; color: #232425; text-align: start;&quot; data-source-line=&quot;75-83&quot;&gt;&lt;code&gt;' Dictionary 생성
Dim dict As Object
Set dict = CreateObject(&quot;Scripting.Dictionary&quot;)

' 대소문자 설정
dict.CompareMode = vbTextCompare    ' 대소문자 무시 (A = a)
dict.CompareMode = vbBinaryCompare  ' 대소문자 구분 (A &amp;ne; a) &amp;larr; 기본값
&lt;/code&gt;&lt;/pre&gt;
&lt;h3 id=&quot;%F0%9F%93%8C-%ED%95%B5%EC%8B%AC-%EB%A9%94%EC%84%9C%EB%93%9C-6%EA%B0%80%EC%A7%80&quot; style=&quot;list-style-type: none; background-color: #ffffff; color: #232425; text-align: start;&quot; data-source-line=&quot;85-85&quot; data-ke-size=&quot;size23&quot;&gt;  핵심 메서드 6가지&lt;/h3&gt;
&lt;p style=&quot;list-style-type: none; background-color: #ffffff; color: #232425; text-align: start;&quot; data-source-line=&quot;87-87&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;① Add &amp;mdash; 항목 추가&lt;/b&gt;&lt;/p&gt;
&lt;pre class=&quot;pgsql&quot; style=&quot;background-color: #fafafa; color: #232425; text-align: start;&quot; data-source-line=&quot;88-94&quot;&gt;&lt;code&gt;dict.Add Key, Value

dict.Add &quot;김치찌개&quot;, 8000
dict.Add &quot;된장찌개&quot;, 7000
' ※ 중복 Key 추가 시 오류 발생!
&lt;/code&gt;&lt;/pre&gt;
&lt;p style=&quot;list-style-type: none; background-color: #ffffff; color: #232425; text-align: start;&quot; data-source-line=&quot;96-96&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;② Exists &amp;mdash; Key 존재 여부 확인&lt;/b&gt;&lt;/p&gt;
&lt;pre class=&quot;mathematica&quot; style=&quot;background-color: #fafafa; color: #232425; text-align: start;&quot; data-source-line=&quot;97-105&quot;&gt;&lt;code&gt;dict.Exists(Key)  ' True / False 반환

If dict.Exists(&quot;김치찌개&quot;) Then
    MsgBox &quot;있음! &amp;rarr; &quot; &amp;amp; dict(&quot;김치찌개&quot;)  ' 8000
Else
    MsgBox &quot;없음 &amp;rarr; etc 처리&quot;
End If
&lt;/code&gt;&lt;/pre&gt;
&lt;p style=&quot;list-style-type: none; background-color: #ffffff; color: #232425; text-align: start;&quot; data-source-line=&quot;107-107&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;③ Remove &amp;mdash; 특정 항목 삭제&lt;/b&gt;&lt;/p&gt;
&lt;pre class=&quot;routeros&quot; style=&quot;background-color: #fafafa; color: #232425; text-align: start;&quot; data-source-line=&quot;108-112&quot;&gt;&lt;code&gt;dict.Remove Key

dict.Remove &quot;김치찌개&quot;   ' 김치찌개 항목만 삭제
&lt;/code&gt;&lt;/pre&gt;
&lt;p style=&quot;list-style-type: none; background-color: #ffffff; color: #232425; text-align: start;&quot; data-source-line=&quot;114-114&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;④ RemoveAll &amp;mdash; 전체 삭제&lt;/b&gt;&lt;/p&gt;
&lt;pre class=&quot;mipsasm&quot; style=&quot;background-color: #fafafa; color: #232425; text-align: start;&quot; data-source-line=&quot;115-117&quot;&gt;&lt;code&gt;dict.RemoveAll   ' 모든 항목 삭제
&lt;/code&gt;&lt;/pre&gt;
&lt;p style=&quot;list-style-type: none; background-color: #ffffff; color: #232425; text-align: start;&quot; data-source-line=&quot;119-119&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;⑤ Keys &amp;mdash; 전체 Key 목록&lt;/b&gt;&lt;/p&gt;
&lt;pre class=&quot;purebasic&quot; style=&quot;background-color: #fafafa; color: #232425; text-align: start;&quot; data-source-line=&quot;120-128&quot;&gt;&lt;code&gt;Dim keys As Variant
keys = dict.Keys   ' 배열로 반환

Dim i As Long
For i = 0 To UBound(keys)
    Debug.Print keys(i)   ' 김치찌개, 된장찌개, 비빔밥
Next i
&lt;/code&gt;&lt;/pre&gt;
&lt;p style=&quot;list-style-type: none; background-color: #ffffff; color: #232425; text-align: start;&quot; data-source-line=&quot;130-130&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;⑥ Items &amp;mdash; 전체 Value 목록&lt;/b&gt;&lt;/p&gt;
&lt;pre class=&quot;purebasic&quot; style=&quot;background-color: #fafafa; color: #232425; text-align: start;&quot; data-source-line=&quot;131-138&quot;&gt;&lt;code&gt;Dim vals As Variant
vals = dict.Items  ' 배열로 반환

For i = 0 To UBound(vals)
    Debug.Print vals(i)   ' 8000, 7000, 9000
Next i
&lt;/code&gt;&lt;/pre&gt;
&lt;h3 id=&quot;%F0%9F%93%8C-%EC%86%8D%EC%84%B1&quot; style=&quot;list-style-type: none; background-color: #ffffff; color: #232425; text-align: start;&quot; data-source-line=&quot;140-140&quot; data-ke-size=&quot;size23&quot;&gt;  속성&lt;/h3&gt;
&lt;pre class=&quot;sqf&quot; style=&quot;background-color: #fafafa; color: #232425; text-align: start;&quot; data-source-line=&quot;142-145&quot;&gt;&lt;code&gt;dict.Count   ' 저장된 항목 수 반환
' &amp;rarr; 3
&lt;/code&gt;&lt;/pre&gt;
&lt;h3 id=&quot;%F0%9F%93%8C-%EC%A0%84%EC%B2%B4-%EB%A9%94%EC%84%9C%EB%93%9C-%EC%9A%94%EC%95%BD%ED%91%9C&quot; style=&quot;list-style-type: none; background-color: #ffffff; color: #232425; text-align: start;&quot; data-source-line=&quot;147-147&quot; data-ke-size=&quot;size23&quot;&gt;  전체 메서드 요약표&lt;/h3&gt;
&lt;div style=&quot;background-color: #ffffff; color: #232425; text-align: start;&quot;&gt;메서드 / 속성사용법설명
&lt;table style=&quot;text-align: left; border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-source-line=&quot;149-157&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody data-source-line=&quot;151-157&quot;&gt;
&lt;tr data-source-line=&quot;151-151&quot;&gt;
&lt;td style=&quot;text-align: center;&quot;&gt;.Add&lt;/td&gt;
&lt;td style=&quot;text-align: center;&quot;&gt;dict.Add Key, Value&lt;/td&gt;
&lt;td style=&quot;text-align: center;&quot;&gt;항목 추가&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-source-line=&quot;152-152&quot;&gt;
&lt;td style=&quot;text-align: center;&quot;&gt;.Exists&lt;/td&gt;
&lt;td style=&quot;text-align: center;&quot;&gt;dict.Exists(Key)&lt;/td&gt;
&lt;td style=&quot;text-align: center;&quot;&gt;Key 존재 여부 확인&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-source-line=&quot;153-153&quot;&gt;
&lt;td style=&quot;text-align: center;&quot;&gt;.Remove&lt;/td&gt;
&lt;td style=&quot;text-align: center;&quot;&gt;dict.Remove Key&lt;/td&gt;
&lt;td style=&quot;text-align: center;&quot;&gt;특정 항목 삭제&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-source-line=&quot;154-154&quot;&gt;
&lt;td style=&quot;text-align: center;&quot;&gt;.RemoveAll&lt;/td&gt;
&lt;td style=&quot;text-align: center;&quot;&gt;dict.RemoveAll&lt;/td&gt;
&lt;td style=&quot;text-align: center;&quot;&gt;전체 삭제&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-source-line=&quot;155-155&quot;&gt;
&lt;td style=&quot;text-align: center;&quot;&gt;.Count&lt;/td&gt;
&lt;td style=&quot;text-align: center;&quot;&gt;dict.Count&lt;/td&gt;
&lt;td style=&quot;text-align: center;&quot;&gt;항목 개수 반환&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-source-line=&quot;156-156&quot;&gt;
&lt;td style=&quot;text-align: center;&quot;&gt;.Keys&lt;/td&gt;
&lt;td style=&quot;text-align: center;&quot;&gt;dict.Keys&lt;/td&gt;
&lt;td style=&quot;text-align: center;&quot;&gt;전체 Key 배열 반환&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-source-line=&quot;157-157&quot;&gt;
&lt;td style=&quot;text-align: center;&quot;&gt;.Items&lt;/td&gt;
&lt;td style=&quot;text-align: center;&quot;&gt;dict.Items&lt;/td&gt;
&lt;td style=&quot;text-align: center;&quot;&gt;전체 Value 배열 반환&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;hr data-source-line=&quot;159-159&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h2 style=&quot;list-style-type: none; background-color: #ffffff; color: #232425; text-align: start;&quot; data-source-line=&quot;161-161&quot; data-ke-size=&quot;size26&quot;&gt;4. 기본 예제 코드&lt;/h2&gt;
&lt;pre class=&quot;mathematica&quot; style=&quot;background-color: #fafafa; color: #232425; text-align: start;&quot; data-source-line=&quot;163-231&quot;&gt;&lt;code&gt;Sub Dictionary_Basic()

    '==========================================================
    ' Step 1. Dictionary 생성
    '==========================================================
    Dim dict As Object
    Set dict = CreateObject(&quot;Scripting.Dictionary&quot;)
    dict.CompareMode = vbTextCompare  ' 대소문자 무시

    '==========================================================
    ' Step 2. 데이터 추가 (Add)
    '==========================================================
    dict.Add &quot;김치찌개&quot;, 8000
    dict.Add &quot;된장찌개&quot;, 7000
    dict.Add &quot;비빔밥&quot;,   9000
    dict.Add &quot;냉면&quot;,     10000

    Debug.Print &quot;▶ 항목 수: &quot; &amp;amp; dict.Count   ' &amp;rarr; 4

    '==========================================================
    ' Step 3. 값 읽기
    '==========================================================
    Debug.Print &quot;▶ 김치찌개: &quot; &amp;amp; dict(&quot;김치찌개&quot;)  ' &amp;rarr; 8000

    '==========================================================
    ' Step 4. 존재 여부 확인 후 읽기 (Exists - 안전한 방법!)
    '==========================================================
    If dict.Exists(&quot;냉면&quot;) Then
        Debug.Print &quot;▶ 냉면: &quot; &amp;amp; dict(&quot;냉면&quot;)      ' &amp;rarr; 10000
    Else
        Debug.Print &quot;▶ 없음 &amp;rarr; etc&quot;
    End If

    If dict.Exists(&quot;삼겹살&quot;) Then
        Debug.Print &quot;▶ 삼겹살: &quot; &amp;amp; dict(&quot;삼겹살&quot;)
    Else
        Debug.Print &quot;▶ 없음 &amp;rarr; etc&quot;                 ' &amp;larr; 이쪽 실행
    End If

    '==========================================================
    ' Step 5. 값 수정
    '==========================================================
    dict(&quot;김치찌개&quot;) = 9500
    Debug.Print &quot;▶ 수정 후: &quot; &amp;amp; dict(&quot;김치찌개&quot;)   ' &amp;rarr; 9500

    '==========================================================
    ' Step 6. 특정 항목 삭제
    '==========================================================
    dict.Remove &quot;냉면&quot;
    Debug.Print &quot;▶ 삭제 후 항목 수: &quot; &amp;amp; dict.Count ' &amp;rarr; 3

    '==========================================================
    ' Step 7. 전체 Key / Value 출력
    '==========================================================
    Dim k As Variant
    For Each k In dict.Keys
        Debug.Print &quot;  &quot; &amp;amp; k &amp;amp; &quot; &amp;rarr; &quot; &amp;amp; dict(k)
    Next k

    '==========================================================
    ' Step 8. 메모리 해제 (필수!)
    '==========================================================
    Set dict = Nothing

    MsgBox &quot;완료! Ctrl+G 로 결과 확인&quot;, vbInformation

End Sub
&lt;/code&gt;&lt;/pre&gt;
&lt;hr data-source-line=&quot;233-233&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h2 style=&quot;list-style-type: none; background-color: #ffffff; color: #232425; text-align: start;&quot; data-source-line=&quot;235-235&quot; data-ke-size=&quot;size26&quot;&gt;5. 실전 예제 &amp;mdash; Fault Type 자동 분류&lt;/h2&gt;
&lt;p style=&quot;list-style-type: none; background-color: #ffffff; color: #232425; text-align: start;&quot; data-source-line=&quot;237-237&quot; data-ke-size=&quot;size16&quot;&gt;아래는 실제 업무에 적용한 예제입니다.&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;b&gt;Message 시트의 오류 메시지(G열)&lt;/b&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;를 읽어서&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;b&gt;Fault Type 시트&lt;/b&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;와 매칭한 뒤,&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;b&gt;P열에 분류값을 자동으로 입력&lt;/b&gt;하는 코드입니다.&lt;/p&gt;
&lt;h3 id=&quot;%F0%9F%93%81-%EC%98%88%EC%A0%9C-%ED%8C%8C%EC%9D%BC-%EA%B5%AC%EC%A1%B0&quot; style=&quot;list-style-type: none; background-color: #ffffff; color: #232425; text-align: start;&quot; data-source-line=&quot;239-239&quot; data-ke-size=&quot;size23&quot;&gt;  예제 파일 구조&lt;/h3&gt;
&lt;p style=&quot;list-style-type: none; background-color: #ffffff; color: #232425; text-align: start;&quot; data-source-line=&quot;241-241&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;[Message 시트]&lt;/b&gt;&lt;/p&gt;
&lt;div style=&quot;background-color: #ffffff; color: #232425; text-align: start;&quot;&gt;A열...G열 (LONGTEXT)...P열 (결과)
&lt;table style=&quot;text-align: left; border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-source-line=&quot;243-247&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody data-source-line=&quot;245-247&quot;&gt;
&lt;tr data-source-line=&quot;245-245&quot;&gt;
&lt;td style=&quot;text-align: center;&quot;&gt;2020-03-01&lt;/td&gt;
&lt;td style=&quot;text-align: center;&quot;&gt;...&lt;/td&gt;
&lt;td style=&quot;text-align: center;&quot;&gt;Overlength fault&lt;/td&gt;
&lt;td style=&quot;text-align: center;&quot;&gt;...&lt;/td&gt;
&lt;td style=&quot;text-align: center;&quot;&gt;&amp;larr; 여기에 자동입력&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-source-line=&quot;246-246&quot;&gt;
&lt;td style=&quot;text-align: center;&quot;&gt;2020-03-01&lt;/td&gt;
&lt;td style=&quot;text-align: center;&quot;&gt;...&lt;/td&gt;
&lt;td style=&quot;text-align: center;&quot;&gt;Workplace occupied&lt;/td&gt;
&lt;td style=&quot;text-align: center;&quot;&gt;...&lt;/td&gt;
&lt;td style=&quot;text-align: center;&quot;&gt;&amp;larr; 여기에 자동입력&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-source-line=&quot;247-247&quot;&gt;
&lt;td style=&quot;text-align: center;&quot;&gt;2020-03-01&lt;/td&gt;
&lt;td style=&quot;text-align: center;&quot;&gt;...&lt;/td&gt;
&lt;td style=&quot;text-align: center;&quot;&gt;Timeout stop mode&lt;/td&gt;
&lt;td style=&quot;text-align: center;&quot;&gt;...&lt;/td&gt;
&lt;td style=&quot;text-align: center;&quot;&gt;&amp;larr; 여기에 자동입력&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;p style=&quot;list-style-type: none; background-color: #ffffff; color: #232425; text-align: start;&quot; data-source-line=&quot;249-249&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;[Fault Type 시트]&lt;/b&gt;&lt;/p&gt;
&lt;div style=&quot;background-color: #ffffff; color: #232425; text-align: start;&quot;&gt;A열 (LongText)B열 (Type)
&lt;table style=&quot;text-align: left; border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-source-line=&quot;251-255&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody data-source-line=&quot;253-255&quot;&gt;
&lt;tr data-source-line=&quot;253-253&quot;&gt;
&lt;td style=&quot;text-align: center;&quot;&gt;Overlength fault&lt;/td&gt;
&lt;td style=&quot;text-align: center;&quot;&gt;Sensor Fault&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-source-line=&quot;254-254&quot;&gt;
&lt;td style=&quot;text-align: center;&quot;&gt;Workplace occupied&lt;/td&gt;
&lt;td style=&quot;text-align: center;&quot;&gt;Operator&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-source-line=&quot;255-255&quot;&gt;
&lt;td style=&quot;text-align: center;&quot;&gt;Timeout stop mode&lt;/td&gt;
&lt;td style=&quot;text-align: center;&quot;&gt;Mechanical&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;h3 id=&quot;%F0%9F%93%9D-%EC%A0%84%EC%B2%B4-%EC%BD%94%EB%93%9C&quot; style=&quot;list-style-type: none; background-color: #ffffff; color: #232425; text-align: start;&quot; data-source-line=&quot;257-257&quot; data-ke-size=&quot;size23&quot;&gt;  전체 코드&lt;/h3&gt;
&lt;pre class=&quot;vbscript&quot; style=&quot;background-color: #fafafa; color: #232425; text-align: start;&quot; data-source-line=&quot;259-391&quot;&gt;&lt;code&gt;Sub AddFaultType()

    '==========================================================
    ' 변수 선언
    '==========================================================
    Dim wsMessage   As Worksheet    ' Message 시트
    Dim wsFaultType As Worksheet    ' Fault Type 시트
    Dim lastRowMsg  As Long         ' Message 시트 마지막 행
    Dim lastRowFault As Long        ' Fault Type 시트 마지막 행
    Dim dictFault   As Object       ' Dictionary 객체
    Dim i           As Long         ' 반복문 카운터
    Dim startTime   As Double       ' 시작 시간 (처리 속도 측정용)

    startTime = Timer               ' 시작 시간 기록

    '==========================================================
    ' Step 1. 시트 연결
    '==========================================================
    Set wsMessage   = ThisWorkbook.Sheets(&quot;Message&quot;)
    Set wsFaultType = ThisWorkbook.Sheets(&quot;Fault Type&quot;)

    '==========================================================
    ' Step 2. 마지막 행 찾기
    '==========================================================
    lastRowMsg   = wsMessage.Cells(wsMessage.Rows.Count, &quot;G&quot;).End(xlUp).Row
    lastRowFault = wsFaultType.Cells(wsFaultType.Rows.Count, &quot;A&quot;).End(xlUp).Row

    '==========================================================
    ' Step 3. 화면 업데이트 비활성화 (속도 향상 핵심!)
    '  - ScreenUpdating : 화면 갱신 중지
    '  - Calculation    : 자동 계산 중지
    '  - EnableEvents   : 이벤트 중지
    '==========================================================
    Application.ScreenUpdating = False
    Application.Calculation    = xlCalculationManual
    Application.EnableEvents   = False

    '==========================================================
    ' Step 4. Dictionary 생성 및 Fault Type 데이터 로드
    '  - Fault Type 시트 A열(Key) &amp;rarr; B열(Value) 매핑
    '  - 한 번만 읽어서 메모리에 저장
    '==========================================================
    Set dictFault = CreateObject(&quot;Scripting.Dictionary&quot;)
    dictFault.CompareMode = vbTextCompare  ' 대소문자 무시

    Dim faultKeys As Variant
    Dim faultVals As Variant

    ' 배열로 한 번에 읽기 (시트 접근 최소화)
    faultKeys = wsFaultType.Range(&quot;A2:A&quot; &amp;amp; lastRowFault).Value
    faultVals = wsFaultType.Range(&quot;B2:B&quot; &amp;amp; lastRowFault).Value

    ' Dictionary에 등록
    Dim key As String
    For i = 1 To UBound(faultKeys, 1)
        key = Trim(CStr(faultKeys(i, 1)))
        ' 빈 값 제외, 중복 Key 제외
        If key &amp;lt;&amp;gt; &quot;&quot; And Not dictFault.Exists(key) Then
            dictFault.Add key, CStr(faultVals(i, 1))
        End If
    Next i

    '==========================================================
    ' Step 5. Message 시트 G열 데이터를 배열로 읽기
    '  - 셀 하나씩 읽지 않고 배열로 한 번에 읽어 속도 향상
    '==========================================================
    Dim msgData As Variant
    msgData = wsMessage.Range(&quot;G2:G&quot; &amp;amp; lastRowMsg).Value

    '==========================================================
    ' Step 6. 결과 배열 생성 및 매칭 처리
    '  - Dictionary로 즉시 검색
    '  - 매칭 없으면 &quot;etc&quot; 입력
    '==========================================================
    Dim resultArr  As Variant
    Dim lookupKey  As String
    ReDim resultArr(1 To UBound(msgData, 1), 1 To 1)

    For i = 1 To UBound(msgData, 1)
        lookupKey = Trim(CStr(msgData(i, 1)))
        If dictFault.Exists(lookupKey) Then
            resultArr(i, 1) = dictFault(lookupKey)  ' 매칭 성공
        Else
            resultArr(i, 1) = &quot;etc&quot;                 ' 매칭 실패 &amp;rarr; etc
        End If
    Next i

    '==========================================================
    ' Step 7. 결과를 P열에 한 번에 쓰기
    '  - 셀 하나씩 쓰지 않고 배열로 한 번에 입력 (속도 핵심!)
    '==========================================================
    wsMessage.Cells(1, &quot;P&quot;).Value = &quot;Fault Type&quot;    ' 헤더
    wsMessage.Range(&quot;P2:P&quot; &amp;amp; lastRowMsg).Value = resultArr

    '==========================================================
    ' Step 8. 화면 업데이트 복원 (반드시 복원!)
    '==========================================================
    Application.ScreenUpdating = True
    Application.Calculation    = xlCalculationAutomatic
    Application.EnableEvents   = True

    '==========================================================
    ' Step 9. 결과 통계 계산 및 완료 메시지
    '==========================================================
    Dim etcCount   As Long
    Dim matchCount As Long

    For i = 1 To UBound(resultArr, 1)
        If resultArr(i, 1) = &quot;etc&quot; Then
            etcCount = etcCount + 1
        Else
            matchCount = matchCount + 1
        End If
    Next i

    MsgBox &quot;✅ 처리 완료!&quot; &amp;amp; vbNewLine &amp;amp; vbNewLine &amp;amp; _
           &quot;⏱ 처리 시간    : &quot; &amp;amp; Format(Timer - startTime, &quot;0.00&quot;) &amp;amp; &quot;초&quot; &amp;amp; vbNewLine &amp;amp; _
           &quot;  총 처리 행   : &quot; &amp;amp; Format(lastRowMsg - 1, &quot;#,##0&quot;) &amp;amp; &quot;행&quot; &amp;amp; vbNewLine &amp;amp; _
           &quot;✔ 매칭 성공    : &quot; &amp;amp; Format(matchCount, &quot;#,##0&quot;) &amp;amp; &quot;행&quot; &amp;amp; vbNewLine &amp;amp; _
           &quot;❌ 매칭 실패(etc): &quot; &amp;amp; Format(etcCount, &quot;#,##0&quot;) &amp;amp; &quot;행&quot; &amp;amp; vbNewLine &amp;amp; _
           &quot;  Fault Type 수 : &quot; &amp;amp; dictFault.Count &amp;amp; &quot;개&quot;, _
           vbInformation, &quot;Fault Type 추가 완료&quot;

    '==========================================================
    ' Step 10. 메모리 해제 (사용한 객체 반드시 해제!)
    '==========================================================
    Set dictFault   = Nothing
    Set wsMessage   = Nothing
    Set wsFaultType = Nothing

End Sub
&lt;/code&gt;&lt;/pre&gt;
&lt;hr data-source-line=&quot;393-393&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h2 style=&quot;list-style-type: none; background-color: #ffffff; color: #232425; text-align: start;&quot; data-source-line=&quot;395-395&quot; data-ke-size=&quot;size26&quot;&gt;6. 전체 처리 흐름 요약&lt;/h2&gt;
&lt;pre class=&quot;routeros&quot; style=&quot;background-color: #fafafa; color: #232425; text-align: start;&quot; data-source-line=&quot;397-406&quot;&gt;&lt;code&gt;[Fault Type 시트]         [Dictionary]            [Message 시트]
  A열      B열             (메모리 저장)            G열    &amp;rarr;    P열
──────────────────    ───────────────────────    ────────────────────
Overlength Sensor  &amp;rarr;  &quot;Overlength&quot; : &quot;Sensor&quot;   Overlength &amp;rarr; Sensor
Jam fault  Mech    &amp;rarr;  &quot;Jam fault&quot;  : &quot;Mech&quot;     Jam fault  &amp;rarr; Mech
Timeout    Elec    &amp;rarr;  &quot;Timeout&quot;    : &quot;Elec&quot;     알수없는값  &amp;rarr; etc
                      &amp;uarr;                          &amp;uarr;
                  1회만 읽어 등록          즉시 검색 후 배열로 한번에 쓰기
&lt;/code&gt;&lt;/pre&gt;
&lt;hr data-source-line=&quot;408-408&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h2 style=&quot;list-style-type: none; background-color: #ffffff; color: #232425; text-align: start;&quot; data-source-line=&quot;410-410&quot; data-ke-size=&quot;size26&quot;&gt;✅ 핵심 요약 3가지&lt;/h2&gt;
&lt;ul style=&quot;list-style-type: disc; background-color: #ffffff; color: #232425; text-align: start;&quot; data-source-line=&quot;412-414&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;list-style-type: inherit;&quot; data-source-line=&quot;412-412&quot;&gt;&lt;b&gt;Dictionary&lt;/b&gt;는 Key-Value 구조의 메모리 저장소로&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;b&gt;즉시 탐색(O(1))&lt;/b&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;이 가능합니다&lt;/li&gt;
&lt;li style=&quot;list-style-type: inherit;&quot; data-source-line=&quot;413-413&quot;&gt;반복문 이중 탐색 대비&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;b&gt;수십~수백 배 빠른 속도&lt;/b&gt;를 제공합니다&lt;/li&gt;
&lt;li style=&quot;list-style-type: inherit;&quot; data-source-line=&quot;414-414&quot;&gt;&lt;b&gt;배열 일괄 읽기/쓰기&lt;/b&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;와 함께 사용하면 대용량 데이터도 수초 내 처리가 가능합니다&lt;/li&gt;
&lt;/ul&gt;</description>
      <category>DATA</category>
      <category>#VBA #엑셀VBA #ExcelVBA #딕셔너리 #Dictionary #ScriptingDictionary #엑셀자동화 #업무자동화 #엑셀매크로 #VBA기초 #VBA입문 #VBA활용 #엑셀팁 #엑셀고수 #데이터처리 #대용량데이터 #배열처리 #엑셀배열 #VLOOKUP대체 #엑셀속도향상 #Key값매핑 #데이터매칭 #FaultType #오류분류 #엑셀업무 #사무자동화 #코딩입문 #프로그래밍기초 #엑셀공부 #VBA공부</category>
      <author>노만e</author>
      <guid isPermaLink="true">https://dream2049.tistory.com/199</guid>
      <comments>https://dream2049.tistory.com/199#entry199comment</comments>
      <pubDate>Sun, 22 Mar 2026 14:49:58 +0900</pubDate>
    </item>
    <item>
      <title>Excel VBA 지점별 매출 통합 검색 시스템 완벽 가이드</title>
      <link>https://dream2049.tistory.com/198</link>
      <description>&lt;h2 style=&quot;list-style-type: none; background-color: #ffffff; color: #232425; text-align: start;&quot; data-source-line=&quot;3-3&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;들어가며&lt;/b&gt;&lt;/h2&gt;
&lt;p style=&quot;list-style-type: none; background-color: #ffffff; color: #232425; text-align: start;&quot; data-source-line=&quot;5-5&quot; data-ke-size=&quot;size16&quot;&gt;엑셀로 여러 지점의 매출 데이터를 관리하다 보면, 각 시트에 흩어진 정보를 일일이 찾아보는 것이 매우 번거롭습니다. 이번 글에서는 VBA를 활용하여 여러 시트에 분산된 데이터를 한 번에 검색하고, 제품별&amp;middot;지역별&amp;middot;지점별 통계를 자동으로 생성하는 강력한 통합 검색 시스템을 소개합니다. 특히 VBA에서 자주 발생하는 런타임 오류 13번(형식 불일치) 문제를 해결한 안정적인 코드입니다.&lt;/p&gt;
&lt;hr data-source-line=&quot;7-7&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h2 style=&quot;list-style-type: none; background-color: #ffffff; color: #232425; text-align: start;&quot; data-source-line=&quot;9-9&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;시스템 개요&lt;/b&gt;&lt;/h2&gt;
&lt;p style=&quot;list-style-type: none; background-color: #ffffff; color: #232425; text-align: start;&quot; data-source-line=&quot;11-11&quot; data-ke-size=&quot;size16&quot;&gt;이 시스템은 총 6개의 주요 기능으로 구성되어 있습니다:&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc; background-color: #ffffff; color: #232425; text-align: start;&quot; data-source-line=&quot;13-19&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;list-style-type: inherit;&quot; data-source-line=&quot;13-13&quot;&gt;&lt;b&gt;통합 검색&lt;/b&gt;: 모든 지점 시트에서 조건에 맞는 데이터를 한 번에 검색&lt;/li&gt;
&lt;li style=&quot;list-style-type: inherit;&quot; data-source-line=&quot;14-14&quot;&gt;&lt;b&gt;제품별 통계&lt;/b&gt;: 검색 결과를 기반으로 제품별 판매량과 매출 집계&lt;/li&gt;
&lt;li style=&quot;list-style-type: inherit;&quot; data-source-line=&quot;15-15&quot;&gt;&lt;b&gt;지역별 통계&lt;/b&gt;: 지역별 판매 현황 분석&lt;/li&gt;
&lt;li style=&quot;list-style-type: inherit;&quot; data-source-line=&quot;16-16&quot;&gt;&lt;b&gt;지점별 통계&lt;/b&gt;: 각 지점의 실적 비교&lt;/li&gt;
&lt;li style=&quot;list-style-type: inherit;&quot; data-source-line=&quot;17-17&quot;&gt;&lt;b&gt;검색 조건 초기화&lt;/b&gt;: 입력된 검색 조건을 한 번에 삭제&lt;/li&gt;
&lt;li style=&quot;list-style-type: inherit;&quot; data-source-line=&quot;18-19&quot;&gt;&lt;b&gt;통계 대시보드&lt;/b&gt;: 전체 매출 현황을 한눈에 보여주는 요약 화면&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-source-line=&quot;20-20&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h2 style=&quot;list-style-type: none; background-color: #ffffff; color: #232425; text-align: start;&quot; data-source-line=&quot;22-22&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;1. 통합 검색 기능&lt;/b&gt;&lt;/h2&gt;
&lt;h3 id=&quot;%EA%B8%B0%EB%8A%A5-%EC%84%A4%EB%AA%85&quot; style=&quot;list-style-type: none; background-color: #ffffff; color: #232425; text-align: start;&quot; data-source-line=&quot;24-24&quot; data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;기능 설명&lt;/b&gt;&lt;/h3&gt;
&lt;p style=&quot;list-style-type: none; background-color: #ffffff; color: #232425; text-align: start;&quot; data-source-line=&quot;26-26&quot; data-ke-size=&quot;size16&quot;&gt;통합 검색 기능은 워크북 내 모든 시트를 순회하며 사용자가 입력한 조건(제품명, 지역, 지점, 기간)에 맞는 데이터를 찾아 '검색결과' 시트에 자동으로 정리합니다. 검색 속도를 높이기 위해 화면 업데이트를 중지하고, 자동 계산 기능을 일시적으로 비활성화하는 최적화 기법을 적용했습니다.&lt;/p&gt;
&lt;h3 id=&quot;%EC%A3%BC%EC%9A%94-%EC%BD%94%EB%93%9C&quot; style=&quot;list-style-type: none; background-color: #ffffff; color: #232425; text-align: start;&quot; data-source-line=&quot;28-28&quot; data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;주요 코드&lt;/b&gt;&lt;/h3&gt;
&lt;pre class=&quot;vbnet&quot; style=&quot;background-color: #fafafa; color: #232425; text-align: start;&quot; data-source-line=&quot;30-147&quot;&gt;&lt;code&gt;Sub 통합검색()
    Dim wsMenu As Worksheet
    Dim wsResult As Worksheet
    Dim ws As Worksheet
    Dim lastRow As Long
    Dim resultRow As Long
    Dim i As Long
    
    ' 검색 조건 변수
    Dim searchProduct As String
    Dim searchRegion As String
    Dim searchBranch As String
    Dim searchStartDate As String
    Dim searchEndDate As String
    Dim startDate As Date
    Dim endDate As Date
    
    ' 검색 조건 읽기
    Set wsMenu = ThisWorkbook.Sheets(&quot;검색메뉴&quot;)
    searchProduct = Trim(wsMenu.Range(&quot;C5&quot;).Value)
    searchRegion = Trim(wsMenu.Range(&quot;C6&quot;).Value)
    searchBranch = Trim(wsMenu.Range(&quot;C7&quot;).Value)
    searchStartDate = Trim(wsMenu.Range(&quot;C8&quot;).Value)
    searchEndDate = Trim(wsMenu.Range(&quot;C9&quot;).Value)
    
    ' 날짜 변환
    Dim useStartDate As Boolean, useEndDate As Boolean
    useStartDate = False
    useEndDate = False
    
    If searchStartDate &amp;lt;&amp;gt; &quot;&quot; Then
        If IsDate(searchStartDate) Then
            startDate = CDate(searchStartDate)
            useStartDate = True
        End If
    End If
    
    If searchEndDate &amp;lt;&amp;gt; &quot;&quot; Then
        If IsDate(searchEndDate) Then
            endDate = CDate(searchEndDate)
            useEndDate = True
        End If
    End If
    
    ' 검색결과 시트 초기화
    Set wsResult = ThisWorkbook.Sheets(&quot;검색결과&quot;)
    wsResult.Rows(&quot;2:&quot; &amp;amp; wsResult.Rows.Count).Delete
    resultRow = 2
    
    ' 화면 업데이트 중지 (속도 향상)
    Application.ScreenUpdating = False
    Application.Calculation = xlCalculationManual
    
    ' 모든 지점 시트 검색
    For Each ws In ThisWorkbook.Worksheets
        ' 검색메뉴와 검색결과 시트는 제외
        If ws.Name &amp;lt;&amp;gt; &quot;검색메뉴&quot; And ws.Name &amp;lt;&amp;gt; &quot;검색결과&quot; Then
            lastRow = ws.Cells(ws.Rows.Count, 1).End(xlUp).Row
            
            ' 데이터가 있는 경우만 처리 (헤더 제외)
            If lastRow &amp;gt; 1 Then
                For i = 2 To lastRow
                    Dim matchProduct As Boolean
                    Dim matchRegion As Boolean
                    Dim matchBranch As Boolean
                    Dim matchDate As Boolean
                    
                    ' 각 조건 확인
                    matchProduct = (searchProduct = &quot;&quot; Or InStr(1, ws.Cells(i, 3).Value, searchProduct, vbTextCompare) &amp;gt; 0)
                    matchRegion = (searchRegion = &quot;&quot; Or InStr(1, ws.Cells(i, 4).Value, searchRegion, vbTextCompare) &amp;gt; 0)
                    matchBranch = (searchBranch = &quot;&quot; Or InStr(1, ws.Cells(i, 2).Value, searchBranch, vbTextCompare) &amp;gt; 0)
                    
                    ' 날짜 조건 확인
                    matchDate = True
                    If useStartDate Or useEndDate Then
                        If IsDate(ws.Cells(i, 1).Value) Then
                            Dim cellDate As Date
                            cellDate = CDate(ws.Cells(i, 1).Value)
                            
                            If useStartDate And cellDate &amp;lt; startDate Then
                                matchDate = False
                            End If
                            
                            If useEndDate And cellDate &amp;gt; endDate Then
                                matchDate = False
                            End If
                        End If
                    End If
                    
                    ' 모든 조건이 맞으면 결과에 추가
                    If matchProduct And matchRegion And matchBranch And matchDate Then
                        ' 데이터 복사
                        ws.Rows(i).Copy Destination:=wsResult.Rows(resultRow)
                        resultRow = resultRow + 1
                    End If
                Next i
            End If
        End If
    Next ws
    
    ' 화면 업데이트 재개
    Application.Calculation = xlCalculationAutomatic
    Application.ScreenUpdating = True
    
    ' 결과 표시
    Dim resultCount As Long
    resultCount = resultRow - 2
    
    If resultCount &amp;gt; 0 Then
        MsgBox resultCount &amp;amp; &quot;건의 데이터를 찾았습니다!&quot; &amp;amp; vbCrLf &amp;amp; _
               &quot;검색결과 시트를 확인하세요.&quot;, vbInformation, &quot;검색 완료&quot;
        wsResult.Activate
    Else
        MsgBox &quot;검색 조건에 맞는 데이터가 없습니다.&quot;, vbExclamation, &quot;검색 결과 없음&quot;
    End If
End Sub
&lt;/code&gt;&lt;/pre&gt;
&lt;h3 id=&quot;%EC%BD%94%EB%93%9C-%EC%84%A4%EB%AA%85&quot; style=&quot;list-style-type: none; background-color: #ffffff; color: #232425; text-align: start;&quot; data-source-line=&quot;149-149&quot; data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;코드 설명&lt;/b&gt;&lt;/h3&gt;
&lt;p style=&quot;list-style-type: none; background-color: #ffffff; color: #232425; text-align: start;&quot; data-source-line=&quot;151-151&quot; data-ke-size=&quot;size16&quot;&gt;코드의 핵심은 크게 세 단계로 나뉩니다. 첫 번째로 '검색메뉴' 시트에서 사용자가 입력한 검색 조건을 읽어옵니다. 이때 날짜 데이터는&lt;span&gt;&amp;nbsp;&lt;/span&gt;IsDate&lt;span&gt;&amp;nbsp;&lt;/span&gt;함수로 유효성을 검증한 후&lt;span&gt;&amp;nbsp;&lt;/span&gt;CDate&lt;span&gt;&amp;nbsp;&lt;/span&gt;함수로 변환합니다. 두 번째로 워크북의 모든 시트를 순회하면서 각 행의 데이터가 검색 조건과 일치하는지 확인합니다.&lt;span&gt;&amp;nbsp;&lt;/span&gt;InStr&lt;span&gt;&amp;nbsp;&lt;/span&gt;함수를 사용하여 부분 일치 검색을 지원하며,&lt;span&gt;&amp;nbsp;&lt;/span&gt;vbTextCompare&lt;span&gt;&amp;nbsp;&lt;/span&gt;옵션으로 대소문자를 구분하지 않습니다. 세 번째로 조건에 맞는 행을 '검색결과' 시트에 복사하고, 최종적으로 몇 건의 데이터를 찾았는지 메시지로 알려줍니다.&lt;/p&gt;
&lt;hr data-source-line=&quot;153-153&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h2 style=&quot;list-style-type: none; background-color: #ffffff; color: #232425; text-align: start;&quot; data-source-line=&quot;155-155&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;2. 제품별 통계 기능&lt;/b&gt;&lt;/h2&gt;
&lt;h3 id=&quot;%EA%B8%B0%EB%8A%A5-%EC%84%A4%EB%AA%85-1&quot; style=&quot;list-style-type: none; background-color: #ffffff; color: #232425; text-align: start;&quot; data-source-line=&quot;157-157&quot; data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;기능 설명&lt;/b&gt;&lt;/h3&gt;
&lt;p style=&quot;list-style-type: none; background-color: #ffffff; color: #232425; text-align: start;&quot; data-source-line=&quot;159-159&quot; data-ke-size=&quot;size16&quot;&gt;제품별 통계 기능은 검색 결과를 바탕으로 각 제품의 총 판매량, 매출액, 평균 단가를 계산합니다. 이전 버전에서는 Dictionary 배열 요소를 직접 수정하려 할 때 런타임 오류 13번(형식 불일치)이 발생했는데, 이를 임시 변수에 값을 저장한 후 새로운 배열로 교체하는 방식으로 완벽히 해결했습니다.&lt;/p&gt;
&lt;h3 id=&quot;%EC%A3%BC%EC%9A%94-%EC%BD%94%EB%93%9C-1&quot; style=&quot;list-style-type: none; background-color: #ffffff; color: #232425; text-align: start;&quot; data-source-line=&quot;161-161&quot; data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;주요 코드&lt;/b&gt;&lt;/h3&gt;
&lt;pre class=&quot;mathematica&quot; style=&quot;background-color: #fafafa; color: #232425; text-align: start;&quot; data-source-line=&quot;163-254&quot;&gt;&lt;code&gt;Sub 제품별통계()
    Dim wsResult As Worksheet
    Dim wsStats As Worksheet
    Dim lastRow As Long
    Dim i As Long
    Dim dict As Object
    Dim product As String
    Dim amount As Double
    Dim quantity As Long
    
    ' 검색결과가 있는지 확인
    Set wsResult = ThisWorkbook.Sheets(&quot;검색결과&quot;)
    lastRow = wsResult.Cells(wsResult.Rows.Count, 1).End(xlUp).Row
    
    If lastRow &amp;lt; 2 Then
        MsgBox &quot;검색결과가 없습니다. 먼저 검색을 실행하세요.&quot;, vbExclamation
        Exit Sub
    End If
    
    ' Dictionary 객체 생성
    Set dict = CreateObject(&quot;Scripting.Dictionary&quot;)
    
    ' 제품별 집계 - 수정된 방식
    For i = 2 To lastRow
        product = wsResult.Cells(i, 3).Value  ' 제품명
        quantity = wsResult.Cells(i, 5).Value  ' 수량
        amount = wsResult.Cells(i, 7).Value    ' 총액
        
        If dict.Exists(product) Then
            ' 기존 값을 임시 변수에 저장
            Dim tempQty As Long
            Dim tempAmt As Double
            tempQty = dict(product)(0)
            tempAmt = dict(product)(1)
            
            ' 새로운 배열로 교체
            dict(product) = Array(tempQty + quantity, tempAmt + amount)
        Else
            dict.Add product, Array(quantity, amount)
        End If
    Next i
    
    ' 통계 시트 생성 또는 초기화
    On Error Resume Next
    Set wsStats = ThisWorkbook.Sheets(&quot;제품별통계&quot;)
    If wsStats Is Nothing Then
        Set wsStats = ThisWorkbook.Sheets.Add(After:=ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count))
        wsStats.Name = &quot;제품별통계&quot;
    Else
        wsStats.Cells.Clear
    End If
    On Error GoTo 0
    
    ' 헤더 작성
    wsStats.Range(&quot;A1&quot;).Value = &quot;제품명&quot;
    wsStats.Range(&quot;B1&quot;).Value = &quot;판매수량&quot;
    wsStats.Range(&quot;C1&quot;).Value = &quot;매출액&quot;
    wsStats.Range(&quot;D1&quot;).Value = &quot;평균단가&quot;
    
    ' 헤더 서식
    With wsStats.Range(&quot;A1:D1&quot;)
        .Font.Bold = True
        .Interior.Color = RGB(68, 114, 196)
        .Font.Color = RGB(255, 255, 255)
        .HorizontalAlignment = xlCenter
    End With
    
    ' 데이터 작성
    Dim Row As Long
    Dim key As Variant
    Row = 2
    
    For Each key In dict.Keys
        wsStats.Cells(Row, 1).Value = key
        wsStats.Cells(Row, 2).Value = dict(key)(0)
        wsStats.Cells(Row, 3).Value = dict(key)(1)
        wsStats.Cells(Row, 4).Value = dict(key)(1) / dict(key)(0)
        Row = Row + 1
    Next key
    
    ' 열 너비 자동 조정
    wsStats.Columns(&quot;A:D&quot;).AutoFit
    
    ' 숫자 서식
    wsStats.Range(&quot;B2:B&quot; &amp;amp; Row - 1).NumberFormat = &quot;#,##0&quot;
    wsStats.Range(&quot;C2:D&quot; &amp;amp; Row - 1).NumberFormat = &quot;#,##0&quot;
    
    wsStats.Activate
    MsgBox &quot;제품별 통계가 생성되었습니다!&quot;, vbInformation
End Sub
&lt;/code&gt;&lt;/pre&gt;
&lt;p style=&quot;list-style-type: none; background-color: #ffffff; color: #232425; text-align: start;&quot; data-source-line=&quot;258-258&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr data-source-line=&quot;260-260&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h2 style=&quot;list-style-type: none; background-color: #ffffff; color: #232425; text-align: start;&quot; data-source-line=&quot;262-262&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;3. 지역별 통계 기능&lt;/b&gt;&lt;/h2&gt;
&lt;h3 id=&quot;%EA%B8%B0%EB%8A%A5-%EC%84%A4%EB%AA%85-2&quot; style=&quot;list-style-type: none; background-color: #ffffff; color: #232425; text-align: start;&quot; data-source-line=&quot;264-264&quot; data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;기능 설명&lt;/b&gt;&lt;/h3&gt;
&lt;p style=&quot;list-style-type: none; background-color: #ffffff; color: #232425; text-align: start;&quot; data-source-line=&quot;266-266&quot; data-ke-size=&quot;size16&quot;&gt;지역별 통계는 제품별 통계와 유사한 방식으로 작동하지만, 집계 기준이 지역(4번 열)이 됩니다. 각 지역의 총 판매량과 매출액을 계산하여 지역별 실적을 비교할 수 있습니다.&lt;/p&gt;
&lt;h3 id=&quot;%EC%A3%BC%EC%9A%94-%EC%BD%94%EB%93%9C-2&quot; style=&quot;list-style-type: none; background-color: #ffffff; color: #232425; text-align: start;&quot; data-source-line=&quot;268-268&quot; data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;주요 코드&lt;/b&gt;&lt;/h3&gt;
&lt;pre class=&quot;mathematica&quot; style=&quot;background-color: #fafafa; color: #232425; text-align: start;&quot; data-source-line=&quot;270-359&quot;&gt;&lt;code&gt;Sub 지역별통계()
    Dim wsResult As Worksheet
    Dim wsStats As Worksheet
    Dim lastRow As Long
    Dim i As Long
    Dim dict As Object
    Dim region As String
    Dim amount As Double
    Dim quantity As Long
    
    ' 검색결과가 있는지 확인
    Set wsResult = ThisWorkbook.Sheets(&quot;검색결과&quot;)
    lastRow = wsResult.Cells(wsResult.Rows.Count, 1).End(xlUp).Row
    
    If lastRow &amp;lt; 2 Then
        MsgBox &quot;검색결과가 없습니다. 먼저 검색을 실행하세요.&quot;, vbExclamation
        Exit Sub
    End If
    
    ' Dictionary 객체 생성
    Set dict = CreateObject(&quot;Scripting.Dictionary&quot;)
    
    ' 지역별 집계 - 수정된 방식 (오류 해결)
    For i = 2 To lastRow
        region = wsResult.Cells(i, 4).Value    ' 지역
        quantity = wsResult.Cells(i, 5).Value  ' 수량
        amount = wsResult.Cells(i, 7).Value    ' 총액
        
        If dict.Exists(region) Then
            ' ★ 수정: 기존 값을 임시 변수에 저장 후 새로운 배열로 교체
            Dim tempQty As Long
            Dim tempAmt As Double
            tempQty = dict(region)(0)
            tempAmt = dict(region)(1)
            
            ' 새로운 배열로 교체 (기존 배열을 직접 수정하지 않음)
            dict(region) = Array(tempQty + quantity, tempAmt + amount)
        Else
            dict.Add region, Array(quantity, amount)
        End If
    Next i
    
    ' 통계 시트 생성 또는 초기화
    On Error Resume Next
    Set wsStats = ThisWorkbook.Sheets(&quot;지역별통계&quot;)
    If wsStats Is Nothing Then
        Set wsStats = ThisWorkbook.Sheets.Add(After:=ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count))
        wsStats.Name = &quot;지역별통계&quot;
    Else
        wsStats.Cells.Clear
    End If
    On Error GoTo 0
    
    ' 헤더 작성
    wsStats.Range(&quot;A1&quot;).Value = &quot;지역&quot;
    wsStats.Range(&quot;B1&quot;).Value = &quot;판매수량&quot;
    wsStats.Range(&quot;C1&quot;).Value = &quot;매출액&quot;
    
    ' 헤더 서식
    With wsStats.Range(&quot;A1:C1&quot;)
        .Font.Bold = True
        .Interior.Color = RGB(112, 173, 71)
        .Font.Color = RGB(255, 255, 255)
        .HorizontalAlignment = xlCenter
    End With
    
    ' 데이터 작성
    Dim Row As Long
    Dim key As Variant
    Row = 2
    
    For Each key In dict.Keys
        wsStats.Cells(Row, 1).Value = key
        wsStats.Cells(Row, 2).Value = dict(key)(0)
        wsStats.Cells(Row, 3).Value = dict(key)(1)
        Row = Row + 1
    Next key
    
    ' 열 너비 자동 조정
    wsStats.Columns(&quot;A:C&quot;).AutoFit
    
    ' 숫자 서식
    wsStats.Range(&quot;B2:B&quot; &amp;amp; Row - 1).NumberFormat = &quot;#,##0&quot;
    wsStats.Range(&quot;C2:C&quot; &amp;amp; Row - 1).NumberFormat = &quot;#,##0&quot;
    
    wsStats.Activate
    MsgBox &quot;지역별 통계가 생성되었습니다!&quot;, vbInformation
End Sub
&lt;/code&gt;&lt;/pre&gt;
&lt;hr data-source-line=&quot;361-361&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h2 style=&quot;list-style-type: none; background-color: #ffffff; color: #232425; text-align: start;&quot; data-source-line=&quot;363-363&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;4. 지점별 통계 기능&lt;/b&gt;&lt;/h2&gt;
&lt;h3 id=&quot;%EA%B8%B0%EB%8A%A5-%EC%84%A4%EB%AA%85-3&quot; style=&quot;list-style-type: none; background-color: #ffffff; color: #232425; text-align: start;&quot; data-source-line=&quot;365-365&quot; data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;기능 설명&lt;/b&gt;&lt;/h3&gt;
&lt;p style=&quot;list-style-type: none; background-color: #ffffff; color: #232425; text-align: start;&quot; data-source-line=&quot;367-367&quot; data-ke-size=&quot;size16&quot;&gt;지점별 통계는 각 지점(2번 열)의 판매 실적을 집계합니다. 어떤 지점이 가장 많이 팔았는지, 어느 지점의 매출이 높은지를 한눈에 파악할 수 있어 실적 관리에 유용합니다.&lt;/p&gt;
&lt;h3 id=&quot;%EC%A3%BC%EC%9A%94-%EC%BD%94%EB%93%9C-3&quot; style=&quot;list-style-type: none; background-color: #ffffff; color: #232425; text-align: start;&quot; data-source-line=&quot;369-369&quot; data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;주요 코드&lt;/b&gt;&lt;/h3&gt;
&lt;pre class=&quot;mathematica&quot; style=&quot;background-color: #fafafa; color: #232425; text-align: start;&quot; data-source-line=&quot;371-457&quot;&gt;&lt;code&gt;Sub 지점별통계()
    Dim wsResult As Worksheet
    Dim wsStats As Worksheet
    Dim lastRow As Long
    Dim i As Long
    Dim dict As Object
    Dim branch As String
    Dim amount As Double
    Dim quantity As Long
    
    ' 검색결과가 있는지 확인
    Set wsResult = ThisWorkbook.Sheets(&quot;검색결과&quot;)
    lastRow = wsResult.Cells(wsResult.Rows.Count, 1).End(xlUp).Row
    
    If lastRow &amp;lt; 2 Then
        MsgBox &quot;검색결과가 없습니다. 먼저 검색을 실행하세요.&quot;, vbExclamation
        Exit Sub
    End If
    
    ' Dictionary 객체 생성
    Set dict = CreateObject(&quot;Scripting.Dictionary&quot;)
    
    ' 지점별 집계
    For i = 2 To lastRow
        branch = wsResult.Cells(i, 2).Value    ' 지점
        quantity = wsResult.Cells(i, 5).Value  ' 수량
        amount = wsResult.Cells(i, 7).Value    ' 총액
        
        If dict.Exists(branch) Then
            Dim tempQty As Long
            Dim tempAmt As Double
            tempQty = dict(branch)(0)
            tempAmt = dict(branch)(1)
            dict(branch) = Array(tempQty + quantity, tempAmt + amount)
        Else
            dict.Add branch, Array(quantity, amount)
        End If
    Next i
    
    ' 통계 시트 생성 또는 초기화
    On Error Resume Next
    Set wsStats = ThisWorkbook.Sheets(&quot;지점별통계&quot;)
    If wsStats Is Nothing Then
        Set wsStats = ThisWorkbook.Sheets.Add(After:=ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count))
        wsStats.Name = &quot;지점별통계&quot;
    Else
        wsStats.Cells.Clear
    End If
    On Error GoTo 0
    
    ' 헤더 작성
    wsStats.Range(&quot;A1&quot;).Value = &quot;지점&quot;
    wsStats.Range(&quot;B1&quot;).Value = &quot;판매수량&quot;
    wsStats.Range(&quot;C1&quot;).Value = &quot;매출액&quot;
    
    ' 헤더 서식
    With wsStats.Range(&quot;A1:C1&quot;)
        .Font.Bold = True
        .Interior.Color = RGB(237, 125, 49)
        .Font.Color = RGB(255, 255, 255)
        .HorizontalAlignment = xlCenter
    End With
    
    ' 데이터 작성
    Dim Row As Long
    Dim key As Variant
    Row = 2
    
    For Each key In dict.Keys
        wsStats.Cells(Row, 1).Value = key
        wsStats.Cells(Row, 2).Value = dict(key)(0)
        wsStats.Cells(Row, 3).Value = dict(key)(1)
        Row = Row + 1
    Next key
    
    ' 열 너비 자동 조정
    wsStats.Columns(&quot;A:C&quot;).AutoFit
    
    ' 숫자 서식
    wsStats.Range(&quot;B2:B&quot; &amp;amp; Row - 1).NumberFormat = &quot;#,##0&quot;
    wsStats.Range(&quot;C2:C&quot; &amp;amp; Row - 1).NumberFormat = &quot;#,##0&quot;
    
    wsStats.Activate
    MsgBox &quot;지점별 통계가 생성되었습니다!&quot;, vbInformation
End Sub
&lt;/code&gt;&lt;/pre&gt;
&lt;hr data-source-line=&quot;459-459&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h2 style=&quot;list-style-type: none; background-color: #ffffff; color: #232425; text-align: start;&quot; data-source-line=&quot;461-461&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;5. 검색 조건 초기화&lt;/b&gt;&lt;/h2&gt;
&lt;h3 id=&quot;%EA%B8%B0%EB%8A%A5-%EC%84%A4%EB%AA%85-4&quot; style=&quot;list-style-type: none; background-color: #ffffff; color: #232425; text-align: start;&quot; data-source-line=&quot;463-463&quot; data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;기능 설명&lt;/b&gt;&lt;/h3&gt;
&lt;p style=&quot;list-style-type: none; background-color: #ffffff; color: #232425; text-align: start;&quot; data-source-line=&quot;465-465&quot; data-ke-size=&quot;size16&quot;&gt;검색 조건 초기화는 간단하지만 매우 유용한 기능입니다. '검색메뉴' 시트의 C5:C9 범위(제품명, 지역, 지점, 시작일, 종료일)에 입력된 모든 값을 한 번에 지워줍니다.&lt;/p&gt;
&lt;h3 id=&quot;%EC%A3%BC%EC%9A%94-%EC%BD%94%EB%93%9C-4&quot; style=&quot;list-style-type: none; background-color: #ffffff; color: #232425; text-align: start;&quot; data-source-line=&quot;467-467&quot; data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;주요 코드&lt;/b&gt;&lt;/h3&gt;
&lt;pre class=&quot;vbnet&quot; style=&quot;background-color: #fafafa; color: #232425; text-align: start;&quot; data-source-line=&quot;469-477&quot;&gt;&lt;code&gt;Sub 검색조건초기화()
    Dim wsMenu As Worksheet
    Set wsMenu = ThisWorkbook.Sheets(&quot;검색메뉴&quot;)
    
    wsMenu.Range(&quot;C5:C9&quot;).ClearContents
    MsgBox &quot;검색 조건이 초기화되었습니다.&quot;, vbInformation
End Sub
&lt;/code&gt;&lt;/pre&gt;
&lt;hr data-source-line=&quot;479-479&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h2 style=&quot;list-style-type: none; background-color: #ffffff; color: #232425; text-align: start;&quot; data-source-line=&quot;481-481&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;6. 전체 통계 대시보드&lt;/b&gt;&lt;/h2&gt;
&lt;h3 id=&quot;%EA%B8%B0%EB%8A%A5-%EC%84%A4%EB%AA%85-5&quot; style=&quot;list-style-type: none; background-color: #ffffff; color: #232425; text-align: start;&quot; data-source-line=&quot;483-483&quot; data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;기능 설명&lt;/b&gt;&lt;/h3&gt;
&lt;p style=&quot;list-style-type: none; background-color: #ffffff; color: #232425; text-align: start;&quot; data-source-line=&quot;485-485&quot; data-ke-size=&quot;size16&quot;&gt;전체 통계 대시보드는 검색 결과의 전체적인 현황을 요약해서 보여줍니다. 총 거래 건수, 총 판매 수량, 총 매출액, 평균 거래 금액을 자동으로 계산하여 깔끔한 형태로 표시합니다.&lt;/p&gt;
&lt;h3 id=&quot;%EC%A3%BC%EC%9A%94-%EC%BD%94%EB%93%9C-5&quot; style=&quot;list-style-type: none; background-color: #ffffff; color: #232425; text-align: start;&quot; data-source-line=&quot;487-487&quot; data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;주요 코드&lt;/b&gt;&lt;/h3&gt;
&lt;pre class=&quot;mathematica&quot; style=&quot;background-color: #fafafa; color: #232425; text-align: start;&quot; data-source-line=&quot;489-553&quot;&gt;&lt;code&gt;Sub 전체통계대시보드()
    Dim wsResult As Worksheet
    Dim wsDash As Worksheet
    Dim lastRow As Long
    Dim totalQty As Long
    Dim totalAmt As Double
    Dim avgAmt As Double
    
    ' 검색결과가 있는지 확인
    Set wsResult = ThisWorkbook.Sheets(&quot;검색결과&quot;)
    lastRow = wsResult.Cells(wsResult.Rows.Count, 1).End(xlUp).Row
    
    If lastRow &amp;lt; 2 Then
        MsgBox &quot;검색결과가 없습니다. 먼저 검색을 실행하세요.&quot;, vbExclamation
        Exit Sub
    End If
    
    ' 합계 계산
    totalQty = Application.WorksheetFunction.Sum(wsResult.Range(&quot;E2:E&quot; &amp;amp; lastRow))
    totalAmt = Application.WorksheetFunction.Sum(wsResult.Range(&quot;G2:G&quot; &amp;amp; lastRow))
    avgAmt = totalAmt / (lastRow - 1)
    
    ' 대시보드 시트 생성
    On Error Resume Next
    Set wsDash = ThisWorkbook.Sheets(&quot;통계대시보드&quot;)
    If wsDash Is Nothing Then
        Set wsDash = ThisWorkbook.Sheets.Add(After:=ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count))
        wsDash.Name = &quot;통계대시보드&quot;
    Else
        wsDash.Cells.Clear
    End If
    On Error GoTo 0
    
    ' 제목
    wsDash.Range(&quot;B2&quot;).Value = &quot;  매출 통계 대시보드&quot;
    wsDash.Range(&quot;B2&quot;).Font.Size = 16
    wsDash.Range(&quot;B2&quot;).Font.Bold = True
    
    ' 요약 정보
    wsDash.Range(&quot;B4&quot;).Value = &quot;총 거래 건수:&quot;
    wsDash.Range(&quot;C4&quot;).Value = lastRow - 1
    wsDash.Range(&quot;C4&quot;).NumberFormat = &quot;#,##0&quot;
    
    wsDash.Range(&quot;B5&quot;).Value = &quot;총 판매 수량:&quot;
    wsDash.Range(&quot;C5&quot;).Value = totalQty
    wsDash.Range(&quot;C5&quot;).NumberFormat = &quot;#,##0&quot;
    
    wsDash.Range(&quot;B6&quot;).Value = &quot;총 매출액:&quot;
    wsDash.Range(&quot;C6&quot;).Value = totalAmt
    wsDash.Range(&quot;C6&quot;).NumberFormat = &quot;#,##0&quot;
    
    wsDash.Range(&quot;B7&quot;).Value = &quot;평균 거래금액:&quot;
    wsDash.Range(&quot;C7&quot;).Value = avgAmt
    wsDash.Range(&quot;C7&quot;).NumberFormat = &quot;#,##0&quot;
    
    ' 서식
    wsDash.Range(&quot;B4:B7&quot;).Font.Bold = True
    wsDash.Range(&quot;C4:C7&quot;).Interior.Color = RGB(217, 225, 242)
    wsDash.Columns(&quot;B:C&quot;).AutoFit
    
    wsDash.Activate
    MsgBox &quot;통계 대시보드가 생성되었습니다!&quot;, vbInformation
End Sub
&lt;/code&gt;&lt;/pre&gt;
&lt;hr data-source-line=&quot;555-555&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h2 style=&quot;list-style-type: none; background-color: #ffffff; color: #232425; text-align: start;&quot; data-source-line=&quot;557-557&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;시스템 사용 방법&lt;/b&gt;&lt;/h2&gt;
&lt;h3 id=&quot;1%EB%8B%A8%EA%B3%84%3A-%EC%9B%8C%ED%81%AC%EB%B6%81-%EA%B5%AC%EC%A1%B0-%EC%A4%80%EB%B9%84&quot; style=&quot;list-style-type: none; background-color: #ffffff; color: #232425; text-align: start;&quot; data-source-line=&quot;559-559&quot; data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;1단계: 워크북 구조 준비&lt;/b&gt;&lt;/h3&gt;
&lt;p style=&quot;list-style-type: none; background-color: #ffffff; color: #232425; text-align: start;&quot; data-source-line=&quot;561-561&quot; data-ke-size=&quot;size16&quot;&gt;이 시스템이 제대로 작동하려면 다음과 같은 시트 구조가 필요합니다:&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc; background-color: #ffffff; color: #232425; text-align: start;&quot; data-source-line=&quot;563-566&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;list-style-type: inherit;&quot; data-source-line=&quot;563-563&quot;&gt;&lt;b&gt;검색메뉴 시트&lt;/b&gt;: C5(제품명), C6(지역), C7(지점), C8(시작일), C9(종료일) 셀에 검색 조건을 입력합니다&lt;/li&gt;
&lt;li style=&quot;list-style-type: inherit;&quot; data-source-line=&quot;564-564&quot;&gt;&lt;b&gt;검색결과 시트&lt;/b&gt;: 검색된 데이터가 자동으로 저장됩니다&lt;/li&gt;
&lt;li style=&quot;list-style-type: inherit;&quot; data-source-line=&quot;565-566&quot;&gt;&lt;b&gt;각 지점 시트&lt;/b&gt;: 1열(날짜), 2열(지점), 3열(제품명), 4열(지역), 5열(수량), 7열(총액) 형식으로 데이터가 정리되어 있어야 합니다&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;2%EB%8B%A8%EA%B3%84%3A-vba-%EC%BD%94%EB%93%9C-%EC%9E%85%EB%A0%A5&quot; style=&quot;list-style-type: none; background-color: #ffffff; color: #232425; text-align: start;&quot; data-source-line=&quot;567-567&quot; data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;2단계: VBA 코드 입력&lt;/b&gt;&lt;/h3&gt;
&lt;p style=&quot;list-style-type: none; background-color: #ffffff; color: #232425; text-align: start;&quot; data-source-line=&quot;569-569&quot; data-ke-size=&quot;size16&quot;&gt;엑셀에서 Alt + F11을 눌러 VBA 편집기를 열고, 삽입 메뉴에서 '모듈'을 추가한 후 위의 코드를 모두 복사해서 붙여넣습니다.&lt;/p&gt;
&lt;h3 id=&quot;3%EB%8B%A8%EA%B3%84%3A-%EB%A7%A4%ED%81%AC%EB%A1%9C-%EC%8B%A4%ED%96%89&quot; style=&quot;list-style-type: none; background-color: #ffffff; color: #232425; text-align: start;&quot; data-source-line=&quot;571-571&quot; data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;3단계: 매크로 실행&lt;/b&gt;&lt;/h3&gt;
&lt;p style=&quot;list-style-type: none; background-color: #ffffff; color: #232425; text-align: start;&quot; data-source-line=&quot;573-573&quot; data-ke-size=&quot;size16&quot;&gt;개발 도구 탭의 매크로 버튼을 클릭하거나, Alt + F8을 눌러 원하는 기능을 선택하여 실행합니다. 권장 실행 순서는 다음과 같습니다:&lt;/p&gt;
&lt;ol style=&quot;list-style-type: decimal; background-color: #ffffff; color: #232425; text-align: start;&quot; data-source-line=&quot;575-579&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li style=&quot;list-style-type: inherit;&quot; data-source-line=&quot;575-575&quot;&gt;먼저 '통합검색'을 실행하여 원하는 데이터를 찾습니다&lt;/li&gt;
&lt;li style=&quot;list-style-type: inherit;&quot; data-source-line=&quot;576-576&quot;&gt;그 다음 '제품별통계', '지역별통계', '지점별통계' 중 필요한 것을 실행합니다&lt;/li&gt;
&lt;li style=&quot;list-style-type: inherit;&quot; data-source-line=&quot;577-577&quot;&gt;전체 현황이 궁금하면 '전체통계대시보드'를 실행합니다&lt;/li&gt;
&lt;li style=&quot;list-style-type: inherit;&quot; data-source-line=&quot;578-579&quot;&gt;새로운 검색을 하려면 '검색조건초기화'로 조건을 지운 후 다시 시작합니다&lt;/li&gt;
&lt;/ol&gt;
&lt;hr data-source-line=&quot;580-580&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h2 style=&quot;list-style-type: none; background-color: #ffffff; color: #232425; text-align: start;&quot; data-source-line=&quot;582-582&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;핵심 기술 설명&lt;/b&gt;&lt;/h2&gt;
&lt;h3 id=&quot;dictionary-%EA%B0%9D%EC%B2%B4-%ED%99%9C%EC%9A%A9&quot; style=&quot;list-style-type: none; background-color: #ffffff; color: #232425; text-align: start;&quot; data-source-line=&quot;584-584&quot; data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;Dictionary 객체 활용&lt;/b&gt;&lt;/h3&gt;
&lt;p style=&quot;list-style-type: none; background-color: #ffffff; color: #232425; text-align: start;&quot; data-source-line=&quot;586-586&quot; data-ke-size=&quot;size16&quot;&gt;이 시스템의 핵심은&lt;span&gt;&amp;nbsp;&lt;/span&gt;Scripting.Dictionary&lt;span&gt;&amp;nbsp;&lt;/span&gt;객체입니다. Dictionary는 키(Key)와 값(Value)의 쌍으로 데이터를 저장하는 자료구조로, 배열보다 훨씬 빠르고 효율적으로 데이터를 검색하고 집계할 수 있습니다. 제품명이나 지역명을 키로 사용하고, 수량과 금액을 배열로 저장하여 중복 없이 데이터를 누적합니다.&lt;/p&gt;
&lt;h3 id=&quot;%EC%84%B1%EB%8A%A5-%EC%B5%9C%EC%A0%81%ED%99%94&quot; style=&quot;list-style-type: none; background-color: #ffffff; color: #232425; text-align: start;&quot; data-source-line=&quot;588-588&quot; data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;성능 최적화&lt;/b&gt;&lt;/h3&gt;
&lt;p style=&quot;list-style-type: none; background-color: #ffffff; color: #232425; text-align: start;&quot; data-source-line=&quot;590-590&quot; data-ke-size=&quot;size16&quot;&gt;대량의 데이터를 처리할 때는&lt;span&gt;&amp;nbsp;&lt;/span&gt;Application.ScreenUpdating = False로 화면 갱신을 중지하고,&lt;span&gt;&amp;nbsp;&lt;/span&gt;Application.Calculation = xlCalculationManual로 자동 계산을 비활성화하는 것이 매우 중요합니다. 이 두 가지만으로도 실행 속도가 수십 배 향상될 수 있습니다. 작업이 끝나면 반드시 다시 활성화해야 합니다.&lt;/p&gt;
&lt;h3 id=&quot;%EC%98%A4%EB%A5%98-%EC%B2%98%EB%A6%AC&quot; style=&quot;list-style-type: none; background-color: #ffffff; color: #232425; text-align: start;&quot; data-source-line=&quot;592-592&quot; data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;오류 처리&lt;/b&gt;&lt;/h3&gt;
&lt;p style=&quot;list-style-type: none; background-color: #ffffff; color: #232425; text-align: start;&quot; data-source-line=&quot;594-594&quot; data-ke-size=&quot;size16&quot;&gt;On Error Resume Next를 활용하여 시트가 이미 존재하는지 확인하고, 없으면 새로 만들고 있으면 내용을 지우는 방식으로 처리합니다. 또한 검색 결과가 없을 때는 통계 기능을 실행하지 못하도록 사전에 검증하여 오류를 방지합니다.&lt;/p&gt;
&lt;hr data-source-line=&quot;596-596&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h2 style=&quot;list-style-type: none; background-color: #ffffff; color: #232425; text-align: start;&quot; data-source-line=&quot;598-598&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;응용 및 확장 아이디어&lt;/b&gt;&lt;/h2&gt;
&lt;p style=&quot;list-style-type: none; background-color: #ffffff; color: #232425; text-align: start;&quot; data-source-line=&quot;600-600&quot; data-ke-size=&quot;size16&quot;&gt;이 시스템을 기반으로 다음과 같은 기능을 추가할 수 있습니다:&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc; background-color: #ffffff; color: #232425; text-align: start;&quot; data-source-line=&quot;602-607&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;list-style-type: inherit;&quot; data-source-line=&quot;602-602&quot;&gt;&lt;b&gt;차트 자동 생성&lt;/b&gt;: 통계 결과를 바탕으로 막대 그래프나 원형 차트를 자동으로 생성하면 시각적인 분석이 가능합니다&lt;/li&gt;
&lt;li style=&quot;list-style-type: inherit;&quot; data-source-line=&quot;603-603&quot;&gt;&lt;b&gt;엑셀 파일로 내보내기&lt;/b&gt;: 검색 결과나 통계를 별도의 엑셀 파일로 저장하는 기능을 추가하면 보고서 작성이 편리합니다&lt;/li&gt;
&lt;li style=&quot;list-style-type: inherit;&quot; data-source-line=&quot;604-604&quot;&gt;&lt;b&gt;이메일 자동 발송&lt;/b&gt;: Outlook과 연동하여 통계 결과를 자동으로 이메일로 발송하는 기능을 구현할 수 있습니다&lt;/li&gt;
&lt;li style=&quot;list-style-type: inherit;&quot; data-source-line=&quot;605-605&quot;&gt;&lt;b&gt;고급 필터링&lt;/b&gt;: 금액 범위, 판매량 상위 N개 등 더 복잡한 조건을 추가할 수 있습니다&lt;/li&gt;
&lt;li style=&quot;list-style-type: inherit;&quot; data-source-line=&quot;606-607&quot;&gt;&lt;b&gt;월별/분기별 집계&lt;/b&gt;: 날짜를 기준으로 월별, 분기별 통계를 자동으로 생성하는 기능도 유용합니다&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-source-line=&quot;608-608&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h2 style=&quot;list-style-type: none; background-color: #ffffff; color: #232425; text-align: start;&quot; data-source-line=&quot;610-610&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;마무리&lt;/b&gt;&lt;/h2&gt;
&lt;p style=&quot;list-style-type: none; background-color: #ffffff; color: #232425; text-align: start;&quot; data-source-line=&quot;612-612&quot; data-ke-size=&quot;size16&quot;&gt;이번 글에서 소개한 통합 검색 시스템은 여러 시트에 분산된 데이터를 효율적으로 관리하고 분석할 수 있는 강력한 도구입니다. 특히 VBA에서 자주 발생하는 런타임 오류 13번 문제를 해결한 안정적인 코드이므로, 실무에서 바로 활용할 수 있습니다. Dictionary 객체와 성능 최적화 기법을 이해하면 다양한 데이터 처리 작업에 응용할 수 있습니다. 여러분의 업무 환경에 맞게 수정하여 사용해보시기 바랍니다.&lt;/p&gt;
&lt;p style=&quot;list-style-type: none; background-color: #ffffff; color: #232425; text-align: start;&quot; data-source-line=&quot;614-614&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;fileblock&quot; data-ke-align=&quot;alignCenter&quot;&gt;&lt;a href=&quot;https://blog.kakaocdn.net/dn/BOBiu/dJMcadHp0DY/Jvdr6l5BLU8uiKpb4LXAYk/Branch_Sales_Search_System.xlsm?attach=1&amp;amp;knm=tfile.xlsm&quot; class=&quot;&quot;&gt;
    &lt;div class=&quot;image&quot;&gt;&lt;/div&gt;
    &lt;div class=&quot;desc&quot;&gt;&lt;div class=&quot;filename&quot;&gt;&lt;span class=&quot;name&quot;&gt;Branch_Sales_Search_System.xlsm&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;size&quot;&gt;0.07MB&lt;/div&gt;
&lt;/div&gt;
  &lt;/a&gt;&lt;/figure&gt;
&lt;/p&gt;</description>
      <category>DATA</category>
      <category>Dictionary</category>
      <category>Excel</category>
      <category>VBA</category>
      <category>데이터분석</category>
      <category>런타임오류</category>
      <category>매출관리</category>
      <category>실무엑셀</category>
      <category>업무자동화</category>
      <category>엑셀매크로</category>
      <category>엑셀통계</category>
      <author>노만e</author>
      <guid isPermaLink="true">https://dream2049.tistory.com/198</guid>
      <comments>https://dream2049.tistory.com/198#entry198comment</comments>
      <pubDate>Sun, 4 Jan 2026 19:50:05 +0900</pubDate>
    </item>
    <item>
      <title>엑셀 VBA로 대용량 데이터 5만 행씩 자동 분할하는 방법</title>
      <link>https://dream2049.tistory.com/197</link>
      <description>&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;1.jpg&quot; data-origin-width=&quot;720&quot; data-origin-height=&quot;521&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/vg74e/dJMcagqjGYS/5bo1srLi2Ra3S6r5qBQxOK/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/vg74e/dJMcagqjGYS/5bo1srLi2Ra3S6r5qBQxOK/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/vg74e/dJMcagqjGYS/5bo1srLi2Ra3S6r5qBQxOK/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fvg74e%2FdJMcagqjGYS%2F5bo1srLi2Ra3S6r5qBQxOK%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;719&quot; height=&quot;520&quot; data-filename=&quot;1.jpg&quot; data-origin-width=&quot;720&quot; data-origin-height=&quot;521&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;2.jpg&quot; data-origin-width=&quot;816&quot; data-origin-height=&quot;337&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/peiay/dJMcacnUO4a/hVM5QN2qMhUNNbBkUkkSik/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/peiay/dJMcacnUO4a/hVM5QN2qMhUNNbBkUkkSik/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/peiay/dJMcacnUO4a/hVM5QN2qMhUNNbBkUkkSik/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fpeiay%2FdJMcacnUO4a%2FhVM5QN2qMhUNNbBkUkkSik%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;729&quot; height=&quot;301&quot; data-filename=&quot;2.jpg&quot; data-origin-width=&quot;816&quot; data-origin-height=&quot;337&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h2 style=&quot;list-style-type: none; background-color: #ffffff; color: #232425; text-align: start;&quot; data-source-line=&quot;3-3&quot; data-ke-size=&quot;size26&quot;&gt;&amp;nbsp;&lt;/h2&gt;
&lt;h2 style=&quot;list-style-type: none; background-color: #ffffff; color: #232425; text-align: start;&quot; data-source-line=&quot;3-3&quot; data-ke-size=&quot;size26&quot;&gt;엑셀 50만 행 이상 데이터, 파일 분할로 해결하세요&lt;/h2&gt;
&lt;p style=&quot;list-style-type: none; background-color: #ffffff; color: #232425; text-align: start;&quot; data-source-line=&quot;5-5&quot; data-ke-size=&quot;size16&quot;&gt;엑셀에서 50만 행이 넘는 대용량 데이터를 다루다 보면 파일이 느려지거나 작업이 어려워지는 경우가 많습니다. 이럴 때 데이터를 여러 파일로 분할하면 작업 효율성이 크게 향상됩니다. 오늘은 VBA 매크로를 활용하여 대용량 엑셀 데이터를 10만 행씩 자동으로 분할 저장하는 방법을 자세히 알려드리겠습니다.&lt;/p&gt;
&lt;h2 style=&quot;list-style-type: none; background-color: #ffffff; color: #232425; text-align: start;&quot; data-source-line=&quot;7-7&quot; data-ke-size=&quot;size26&quot;&gt;왜 엑셀 데이터를 분할해야 할까요?&lt;/h2&gt;
&lt;p style=&quot;list-style-type: none; background-color: #ffffff; color: #232425; text-align: start;&quot; data-source-line=&quot;9-9&quot; data-ke-size=&quot;size16&quot;&gt;대용량 엑셀 파일은 여러 가지 문제를 일으킵니다. 파일을 열고 저장하는 데 시간이 오래 걸리며, 수식 계산이나 필터링 작업 시 프로그램이 멈추거나 느려질 수 있습니다. 특히 50만 행이 넘어가면 엑셀의 성능이 급격히 저하되는 것을 경험하게 됩니다.&lt;/p&gt;
&lt;p style=&quot;list-style-type: none; background-color: #ffffff; color: #232425; text-align: start;&quot; data-source-line=&quot;11-11&quot; data-ke-size=&quot;size16&quot;&gt;데이터를 적절한 크기로 분할하면 각 파일의 용량이 줄어들어 작업 속도가 빨라지고, 파일 관리도 훨씬 수월해집니다. 또한 특정 기간이나 범위의 데이터만 필요할 때 해당 파일만 열면 되므로 효율적입니다.&lt;/p&gt;
&lt;h2 style=&quot;list-style-type: none; background-color: #ffffff; color: #232425; text-align: start;&quot; data-source-line=&quot;13-13&quot; data-ke-size=&quot;size26&quot;&gt;엑셀 VBA 데이터 분할 코드 전체&lt;/h2&gt;
&lt;p style=&quot;list-style-type: none; background-color: #ffffff; color: #232425; text-align: start;&quot; data-source-line=&quot;15-15&quot; data-ke-size=&quot;size16&quot;&gt;아래는 엑셀 데이터를 10만 행씩 자동으로 분할하여 저장하는 완전한 VBA 코드입니다.&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 100%;&quot;&gt;Sub&amp;nbsp;SplitDataIntoFiles() &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;wsSource&amp;nbsp;As&amp;nbsp;Worksheet &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;wbNew&amp;nbsp;As&amp;nbsp;Workbook &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;lastRow&amp;nbsp;As&amp;nbsp;Long &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;rowsPerFile&amp;nbsp;As&amp;nbsp;Long &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;startRow&amp;nbsp;As&amp;nbsp;Long &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;endRow&amp;nbsp;As&amp;nbsp;Long &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;fileCount&amp;nbsp;As&amp;nbsp;Integer &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;savePath&amp;nbsp;As&amp;nbsp;String &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;originalFileName&amp;nbsp;As&amp;nbsp;String &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;headerRow&amp;nbsp;As&amp;nbsp;Range &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;화면&amp;nbsp;업데이트&amp;nbsp;중지&amp;nbsp;(속도&amp;nbsp;향상) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Application.ScreenUpdating&amp;nbsp;=&amp;nbsp;False &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Application.Calculation&amp;nbsp;=&amp;nbsp;xlCalculationManual &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Application.EnableEvents&amp;nbsp;=&amp;nbsp;False &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;원본&amp;nbsp;시트&amp;nbsp;설정 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set&amp;nbsp;wsSource&amp;nbsp;=&amp;nbsp;ActiveSheet &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;파일당&amp;nbsp;행&amp;nbsp;수&amp;nbsp;설정 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;rowsPerFile&amp;nbsp;=&amp;nbsp;InputBox(&quot;파일당&amp;nbsp;행&amp;nbsp;수를&amp;nbsp;입력해&amp;nbsp;주세요?&quot;,&amp;nbsp;Default:=100000) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;마지막&amp;nbsp;행&amp;nbsp;찾기 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;lastRow&amp;nbsp;=&amp;nbsp;wsSource.Cells(wsSource.Rows.Count,&amp;nbsp;1).End(xlUp).Row &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;헤더&amp;nbsp;행&amp;nbsp;저장&amp;nbsp;(1행이&amp;nbsp;헤더라고&amp;nbsp;가정) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set&amp;nbsp;headerRow&amp;nbsp;=&amp;nbsp;wsSource.Rows(1) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;저장&amp;nbsp;경로&amp;nbsp;설정&amp;nbsp;(원본&amp;nbsp;파일과&amp;nbsp;같은&amp;nbsp;폴더) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;savePath&amp;nbsp;=&amp;nbsp;ThisWorkbook.Path&amp;nbsp;&amp;amp;&amp;nbsp;&quot;\&quot; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;originalFileName&amp;nbsp;=&amp;nbsp;Replace(ThisWorkbook.Name,&amp;nbsp;&quot;.xlsm&quot;,&amp;nbsp;&quot;&quot;) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;originalFileName&amp;nbsp;=&amp;nbsp;Replace(originalFileName,&amp;nbsp;&quot;.xlsx&quot;,&amp;nbsp;&quot;&quot;) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;데이터&amp;nbsp;행&amp;nbsp;수&amp;nbsp;확인 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;lastRow&amp;nbsp;&amp;lt;=&amp;nbsp;1&amp;nbsp;Then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;MsgBox&amp;nbsp;&quot;데이터가&amp;nbsp;없습니다.&quot;,&amp;nbsp;vbExclamation &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;GoTo&amp;nbsp;CleanUp &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;If &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;MsgBox&amp;nbsp;&quot;총&amp;nbsp;&quot;&amp;nbsp;&amp;amp;&amp;nbsp;(lastRow&amp;nbsp;-&amp;nbsp;1)&amp;nbsp;&amp;amp;&amp;nbsp;&quot;개의&amp;nbsp;데이터&amp;nbsp;행을&amp;nbsp;분할합니다.&quot;&amp;nbsp;&amp;amp;&amp;nbsp;vbCrLf&amp;nbsp;&amp;amp;&amp;nbsp;_ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&quot;예상&amp;nbsp;파일&amp;nbsp;수:&amp;nbsp;&quot;&amp;nbsp;&amp;amp;&amp;nbsp;Application.WorksheetFunction.RoundUp((lastRow&amp;nbsp;-&amp;nbsp;1)&amp;nbsp;/&amp;nbsp;rowsPerFile,&amp;nbsp;0),&amp;nbsp;vbInformation &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;fileCount&amp;nbsp;=&amp;nbsp;1 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;startRow&amp;nbsp;=&amp;nbsp;2&amp;nbsp;'&amp;nbsp;데이터&amp;nbsp;시작&amp;nbsp;행&amp;nbsp;(헤더&amp;nbsp;다음) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;데이터&amp;nbsp;분할&amp;nbsp;및&amp;nbsp;저장 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Do&amp;nbsp;While&amp;nbsp;startRow&amp;nbsp;&amp;lt;=&amp;nbsp;lastRow &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;끝&amp;nbsp;행&amp;nbsp;계산 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;endRow&amp;nbsp;=&amp;nbsp;Application.Min(startRow&amp;nbsp;+&amp;nbsp;rowsPerFile&amp;nbsp;-&amp;nbsp;1,&amp;nbsp;lastRow) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;새&amp;nbsp;통합&amp;nbsp;문서&amp;nbsp;생성 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set&amp;nbsp;wbNew&amp;nbsp;=&amp;nbsp;Workbooks.Add &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;헤더&amp;nbsp;복사 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;headerRow.Copy&amp;nbsp;Destination:=wbNew.Sheets(1).Rows(1) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;데이터&amp;nbsp;복사 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;wsSource.Rows(startRow&amp;nbsp;&amp;amp;&amp;nbsp;&quot;:&quot;&amp;nbsp;&amp;amp;&amp;nbsp;endRow).Copy&amp;nbsp;_ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Destination:=wbNew.Sheets(1).Rows(2) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;열&amp;nbsp;너비&amp;nbsp;자동&amp;nbsp;조정 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;wbNew.Sheets(1).Columns.AutoFit &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;파일&amp;nbsp;저장 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;newFileName&amp;nbsp;As&amp;nbsp;String &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;newFileName&amp;nbsp;=&amp;nbsp;savePath&amp;nbsp;&amp;amp;&amp;nbsp;originalFileName&amp;nbsp;&amp;amp;&amp;nbsp;&quot;_Part&quot;&amp;nbsp;&amp;amp;&amp;nbsp;fileCount&amp;nbsp;&amp;amp;&amp;nbsp;&quot;.xlsx&quot; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;기존&amp;nbsp;파일이&amp;nbsp;있으면&amp;nbsp;삭제 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;On&amp;nbsp;Error&amp;nbsp;Resume&amp;nbsp;Next &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Kill&amp;nbsp;newFileName &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;On&amp;nbsp;Error&amp;nbsp;GoTo&amp;nbsp;0 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;저장 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;wbNew.SaveAs&amp;nbsp;Filename:=newFileName,&amp;nbsp;FileFormat:=xlOpenXMLWorkbook &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;wbNew.Close&amp;nbsp;SaveChanges:=False &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;진행&amp;nbsp;상황&amp;nbsp;표시 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Application.StatusBar&amp;nbsp;=&amp;nbsp;&quot;처리&amp;nbsp;중:&amp;nbsp;&quot;&amp;nbsp;&amp;amp;&amp;nbsp;fileCount&amp;nbsp;&amp;amp;&amp;nbsp;&quot;번째&amp;nbsp;파일&amp;nbsp;생성&amp;nbsp;완료&amp;nbsp;(&quot;&amp;nbsp;&amp;amp;&amp;nbsp;_ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;startRow&amp;nbsp;-&amp;nbsp;1&amp;nbsp;&amp;amp;&amp;nbsp;&quot;&amp;nbsp;~&amp;nbsp;&quot;&amp;nbsp;&amp;amp;&amp;nbsp;endRow&amp;nbsp;-&amp;nbsp;1&amp;nbsp;&amp;amp;&amp;nbsp;&quot;&amp;nbsp;행)&quot; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;다음&amp;nbsp;범위로&amp;nbsp;이동 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;startRow&amp;nbsp;=&amp;nbsp;endRow&amp;nbsp;+&amp;nbsp;1 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;fileCount&amp;nbsp;=&amp;nbsp;fileCount&amp;nbsp;+&amp;nbsp;1 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Loop &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;MsgBox&amp;nbsp;&quot;완료!&amp;nbsp;총&amp;nbsp;&quot;&amp;nbsp;&amp;amp;&amp;nbsp;(fileCount&amp;nbsp;-&amp;nbsp;1)&amp;nbsp;&amp;amp;&amp;nbsp;&quot;개의&amp;nbsp;파일이&amp;nbsp;생성되었습니다.&quot;&amp;nbsp;&amp;amp;&amp;nbsp;vbCrLf&amp;nbsp;&amp;amp;&amp;nbsp;_ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&quot;저장&amp;nbsp;위치:&amp;nbsp;&quot;&amp;nbsp;&amp;amp;&amp;nbsp;savePath,&amp;nbsp;vbInformation &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;CleanUp: &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;설정&amp;nbsp;복원 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Application.StatusBar&amp;nbsp;=&amp;nbsp;False &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Application.ScreenUpdating&amp;nbsp;=&amp;nbsp;True &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Application.Calculation&amp;nbsp;=&amp;nbsp;xlCalculationAutomatic &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Application.EnableEvents&amp;nbsp;=&amp;nbsp;True &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set&amp;nbsp;wsSource&amp;nbsp;=&amp;nbsp;Nothing &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set&amp;nbsp;wbNew&amp;nbsp;=&amp;nbsp;Nothing &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set&amp;nbsp;headerRow&amp;nbsp;=&amp;nbsp;Nothing &lt;br /&gt;End&amp;nbsp;Sub &lt;br /&gt;&lt;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;list-style-type: none; background-color: #ffffff; color: #232425; text-align: start;&quot; data-source-line=&quot;120-120&quot; data-ke-size=&quot;size26&quot;&gt;엑셀 VBA 매크로 사용 방법 단계별 가이드&lt;/h2&gt;
&lt;p style=&quot;list-style-type: none; background-color: #ffffff; color: #232425; text-align: start;&quot; data-source-line=&quot;122-122&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;1단계: VBA 편집기 열기&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;list-style-type: none; background-color: #ffffff; color: #232425; text-align: start;&quot; data-source-line=&quot;124-124&quot; data-ke-size=&quot;size16&quot;&gt;엑셀을 실행한 후 키보드에서 Alt + F11 키를 동시에 누르면 VBA 편집기 창이 열립니다. 이 창에서 매크로 코드를 작성하고 관리할 수 있습니다.&lt;/p&gt;
&lt;p style=&quot;list-style-type: none; background-color: #ffffff; color: #232425; text-align: start;&quot; data-source-line=&quot;126-126&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;2단계: 새 모듈 삽입하기&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;list-style-type: none; background-color: #ffffff; color: #232425; text-align: start;&quot; data-source-line=&quot;128-128&quot; data-ke-size=&quot;size16&quot;&gt;VBA 편집기 상단 메뉴에서 '삽입(Insert)' &amp;gt; '모듈(Module)'을 클릭합니다. 새로운 빈 모듈 창이 나타나면 여기에 코드를 입력할 준비가 완료된 것입니다.&lt;/p&gt;
&lt;p style=&quot;list-style-type: none; background-color: #ffffff; color: #232425; text-align: start;&quot; data-source-line=&quot;130-130&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;3단계: VBA 코드 붙여넣기&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;list-style-type: none; background-color: #ffffff; color: #232425; text-align: start;&quot; data-source-line=&quot;132-132&quot; data-ke-size=&quot;size16&quot;&gt;위에 제공된 전체 코드를 복사하여 모듈 창에 붙여넣습니다. 코드가 올바르게 붙여넣어졌는지 확인하세요.&lt;/p&gt;
&lt;p style=&quot;list-style-type: none; background-color: #ffffff; color: #232425; text-align: start;&quot; data-source-line=&quot;134-134&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;4단계: 매크로 실행하기&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;list-style-type: none; background-color: #ffffff; color: #232425; text-align: start;&quot; data-source-line=&quot;136-136&quot; data-ke-size=&quot;size16&quot;&gt;분할하려는 데이터가 있는 시트를 활성화한 후, Alt + F8 키를 누릅니다. 매크로 목록에서 'SplitDataIntoFiles'를 선택하고 실행 버튼을 클릭하면 자동으로 데이터 분할이 시작됩니다.&lt;/p&gt;
&lt;h2 style=&quot;list-style-type: none; background-color: #ffffff; color: #232425; text-align: start;&quot; data-source-line=&quot;138-138&quot; data-ke-size=&quot;size26&quot;&gt;VBA 코드의 핵심 기능 설명&lt;/h2&gt;
&lt;p style=&quot;list-style-type: none; background-color: #ffffff; color: #232425; text-align: start;&quot; data-source-line=&quot;140-140&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;자동 헤더 복사 기능&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;list-style-type: none; background-color: #ffffff; color: #232425; text-align: start;&quot; data-source-line=&quot;142-142&quot; data-ke-size=&quot;size16&quot;&gt;이 매크로는 첫 번째 행을 헤더로 인식하여 모든 분할 파일에 자동으로 포함시킵니다. 따라서 각 파일을 열었을 때 어떤 데이터인지 바로 확인할 수 있어 편리합니다.&lt;/p&gt;
&lt;p style=&quot;list-style-type: none; background-color: #ffffff; color: #232425; text-align: start;&quot; data-source-line=&quot;144-144&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;진행 상황 실시간 표시&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;list-style-type: none; background-color: #ffffff; color: #232425; text-align: start;&quot; data-source-line=&quot;146-146&quot; data-ke-size=&quot;size16&quot;&gt;작업이 진행되는 동안 엑셀 하단 상태 표시줄에 현재 몇 번째 파일을 생성 중인지, 어느 행까지 처리되었는지 실시간으로 표시됩니다. 대용량 데이터 처리 시 얼마나 남았는지 확인할 수 있어 유용합니다.&lt;/p&gt;
&lt;p style=&quot;list-style-type: none; background-color: #ffffff; color: #232425; text-align: start;&quot; data-source-line=&quot;148-148&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;성능 최적화 설정&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;list-style-type: none; background-color: #ffffff; color: #232425; text-align: start;&quot; data-source-line=&quot;150-150&quot; data-ke-size=&quot;size16&quot;&gt;코드 시작 부분에서 화면 업데이트와 자동 계산을 일시적으로 중지하여 처리 속도를 대폭 향상시킵니다. 작업이 완료되면 자동으로 원래 설정으로 복원되므로 안심하고 사용할 수 있습니다.&lt;/p&gt;
&lt;p style=&quot;list-style-type: none; background-color: #ffffff; color: #232425; text-align: start;&quot; data-source-line=&quot;152-152&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;자동 파일명 생성&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;list-style-type: none; background-color: #ffffff; color: #232425; text-align: start;&quot; data-source-line=&quot;154-154&quot; data-ke-size=&quot;size16&quot;&gt;원본 파일명에 &quot;_Part1&quot;, &quot;_Part2&quot; 형식으로 번호가 자동으로 붙어 저장됩니다. 파일명만 보고도 순서를 쉽게 파악할 수 있습니다.&lt;/p&gt;
&lt;h2 style=&quot;list-style-type: none; background-color: #ffffff; color: #232425; text-align: start;&quot; data-source-line=&quot;156-156&quot; data-ke-size=&quot;size26&quot;&gt;엑셀 데이터 분할 매크로 커스터마이징 방법&lt;/h2&gt;
&lt;p style=&quot;list-style-type: none; background-color: #ffffff; color: #232425; text-align: start;&quot; data-source-line=&quot;158-158&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;분할 행 수 변경하기&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;list-style-type: none; background-color: #ffffff; color: #232425; text-align: start;&quot; data-source-line=&quot;160-160&quot; data-ke-size=&quot;size16&quot;&gt;10만 행이 아닌 다른 행 수로 분할하고 싶다면 다음 부분을 수정하세요:&lt;/p&gt;
&lt;pre class=&quot;1c&quot; style=&quot;background-color: #fafafa; color: #232425; text-align: start;&quot; data-source-line=&quot;162-164&quot;&gt;&lt;code&gt;rowsPerFile = 100000  ' 원하는 행 수로 변경 (예: 50000, 200000 등)
&lt;/code&gt;&lt;/pre&gt;
&lt;p style=&quot;list-style-type: none; background-color: #ffffff; color: #232425; text-align: start;&quot; data-source-line=&quot;166-166&quot; data-ke-size=&quot;size16&quot;&gt;예를 들어 5만 행씩 분할하려면 50000으로, 20만 행씩 분할하려면 200000으로 변경하면 됩니다.&lt;/p&gt;
&lt;p style=&quot;list-style-type: none; background-color: #ffffff; color: #232425; text-align: start;&quot; data-source-line=&quot;168-168&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;저장 경로 지정하기&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;list-style-type: none; background-color: #ffffff; color: #232425; text-align: start;&quot; data-source-line=&quot;170-170&quot; data-ke-size=&quot;size16&quot;&gt;원본 파일이 있는 폴더가 아닌 다른 위치에 저장하고 싶다면 다음과 같이 수정합니다:&lt;/p&gt;
&lt;pre class=&quot;taggerscript&quot; style=&quot;background-color: #fafafa; color: #232425; text-align: start;&quot; data-source-line=&quot;172-174&quot;&gt;&lt;code&gt;savePath = &quot;C:\내문서\엑셀분할\&quot;  ' 원하는 경로로 변경
&lt;/code&gt;&lt;/pre&gt;
&lt;p style=&quot;list-style-type: none; background-color: #ffffff; color: #232425; text-align: start;&quot; data-source-line=&quot;176-176&quot; data-ke-size=&quot;size16&quot;&gt;경로 끝에 반드시 백슬래시()를 포함해야 하며, 해당 폴더가 미리 생성되어 있어야 합니다.&lt;/p&gt;
&lt;p style=&quot;list-style-type: none; background-color: #ffffff; color: #232425; text-align: start;&quot; data-source-line=&quot;178-178&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;파일 형식 변경하기&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;list-style-type: none; background-color: #ffffff; color: #232425; text-align: start;&quot; data-source-line=&quot;180-180&quot; data-ke-size=&quot;size16&quot;&gt;xlsx 대신 다른 형식으로 저장하려면 SaveAs 부분을 수정할 수 있습니다. xlOpenXMLWorkbook 대신 xlExcel8(xls 형식) 또는 xlCSV(CSV 형식) 등으로 변경 가능합니다.&lt;/p&gt;
&lt;h2 style=&quot;list-style-type: none; background-color: #ffffff; color: #232425; text-align: start;&quot; data-source-line=&quot;182-182&quot; data-ke-size=&quot;size26&quot;&gt;대용량 엑셀 데이터 처리 시 주의사항&lt;/h2&gt;
&lt;p style=&quot;list-style-type: none; background-color: #ffffff; color: #232425; text-align: start;&quot; data-source-line=&quot;184-184&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;메모리 확인하기&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;list-style-type: none; background-color: #ffffff; color: #232425; text-align: start;&quot; data-source-line=&quot;186-186&quot; data-ke-size=&quot;size16&quot;&gt;50만 행 이상의 데이터를 처리할 때는 충분한 메모리가 필요합니다. 작업 전 다른 프로그램을 종료하여 메모리를 확보하는 것이 좋습니다.&lt;/p&gt;
&lt;p style=&quot;list-style-type: none; background-color: #ffffff; color: #232425; text-align: start;&quot; data-source-line=&quot;188-188&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;원본 파일 백업하기&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;list-style-type: none; background-color: #ffffff; color: #232425; text-align: start;&quot; data-source-line=&quot;190-190&quot; data-ke-size=&quot;size16&quot;&gt;매크로 실행 전 반드시 원본 파일을 백업해두세요. 예상치 못한 오류가 발생할 경우를 대비하여 안전하게 작업할 수 있습니다.&lt;/p&gt;
&lt;p style=&quot;list-style-type: none; background-color: #ffffff; color: #232425; text-align: start;&quot; data-source-line=&quot;192-192&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;첫 행이 헤더인지 확인하기&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;list-style-type: none; background-color: #ffffff; color: #232425; text-align: start;&quot; data-source-line=&quot;194-194&quot; data-ke-size=&quot;size16&quot;&gt;이 코드는 첫 번째 행을 헤더로 가정합니다. 만약 데이터 구조가 다르다면 코드의 headerRow 부분을 수정해야 합니다.&lt;/p&gt;
&lt;p style=&quot;list-style-type: none; background-color: #ffffff; color: #232425; text-align: start;&quot; data-source-line=&quot;196-196&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;충분한 저장 공간 확보하기&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;list-style-type: none; background-color: #ffffff; color: #232425; text-align: start;&quot; data-source-line=&quot;198-198&quot; data-ke-size=&quot;size16&quot;&gt;분할된 파일들이 저장될 충분한 디스크 공간이 있는지 확인하세요. 50만 행을 5개 파일로 나누면 원본보다 더 많은 공간이 필요할 수 있습니다.&lt;/p&gt;
&lt;h2 style=&quot;list-style-type: none; background-color: #ffffff; color: #232425; text-align: start;&quot; data-source-line=&quot;200-200&quot; data-ke-size=&quot;size26&quot;&gt;엑셀 VBA 데이터 분할 매크로의 장점&lt;/h2&gt;
&lt;p style=&quot;list-style-type: none; background-color: #ffffff; color: #232425; text-align: start;&quot; data-source-line=&quot;202-202&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;작업 시간 대폭 단축&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;list-style-type: none; background-color: #ffffff; color: #232425; text-align: start;&quot; data-source-line=&quot;204-204&quot; data-ke-size=&quot;size16&quot;&gt;수동으로 데이터를 복사하고 붙여넣는 작업은 시간이 오래 걸리고 실수하기 쉽습니다. 이 매크로를 사용하면 클릭 한 번으로 모든 작업이 자동으로 완료됩니다.&lt;/p&gt;
&lt;p style=&quot;list-style-type: none; background-color: #ffffff; color: #232425; text-align: start;&quot; data-source-line=&quot;206-206&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;정확성 보장&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;list-style-type: none; background-color: #ffffff; color: #232425; text-align: start;&quot; data-source-line=&quot;208-208&quot; data-ke-size=&quot;size16&quot;&gt;사람이 직접 작업하면 행을 빠뜨리거나 중복으로 복사하는 실수가 발생할 수 있습니다. 매크로는 정확하게 지정된 행 수만큼만 분할하므로 데이터 무결성이 보장됩니다.&lt;/p&gt;
&lt;p style=&quot;list-style-type: none; background-color: #ffffff; color: #232425; text-align: start;&quot; data-source-line=&quot;210-210&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;반복 작업에 최적화&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;list-style-type: none; background-color: #ffffff; color: #232425; text-align: start;&quot; data-source-line=&quot;212-212&quot; data-ke-size=&quot;size16&quot;&gt;정기적으로 대용량 데이터를 받아서 분할해야 하는 업무라면 매크로를 한 번 설정해두고 계속 재사용할 수 있어 매우 효율적입니다.&lt;/p&gt;
&lt;h2 style=&quot;list-style-type: none; background-color: #ffffff; color: #232425; text-align: start;&quot; data-source-line=&quot;214-214&quot; data-ke-size=&quot;size26&quot;&gt;엑셀 데이터 분할 후 활용 팁&lt;/h2&gt;
&lt;p style=&quot;list-style-type: none; background-color: #ffffff; color: #232425; text-align: start;&quot; data-source-line=&quot;216-216&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;파일명 규칙 만들기&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;list-style-type: none; background-color: #ffffff; color: #232425; text-align: start;&quot; data-source-line=&quot;218-218&quot; data-ke-size=&quot;size16&quot;&gt;분할된 파일들을 관리하기 쉽도록 날짜나 버전을 파일명에 포함시키는 것이 좋습니다. 코드를 수정하여 자동으로 날짜가 들어가도록 설정할 수 있습니다.&lt;/p&gt;
&lt;p style=&quot;list-style-type: none; background-color: #ffffff; color: #232425; text-align: start;&quot; data-source-line=&quot;220-220&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;데이터 검증하기&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;list-style-type: none; background-color: #ffffff; color: #232425; text-align: start;&quot; data-source-line=&quot;222-222&quot; data-ke-size=&quot;size16&quot;&gt;분할 작업이 완료되면 첫 번째와 마지막 파일을 열어 데이터가 올바르게 나뉘었는지 확인하세요. 특히 행 수와 헤더가 제대로 포함되었는지 점검하는 것이 중요합니다.&lt;/p&gt;
&lt;p style=&quot;list-style-type: none; background-color: #ffffff; color: #232425; text-align: start;&quot; data-source-line=&quot;224-224&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;압축하여 보관하기&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;list-style-type: none; background-color: #ffffff; color: #232425; text-align: start;&quot; data-source-line=&quot;226-226&quot; data-ke-size=&quot;size16&quot;&gt;분할된 파일들을 장기 보관할 경우 zip 파일로 압축하면 저장 공간을 절약할 수 있습니다.&lt;/p&gt;
&lt;h2 style=&quot;list-style-type: none; background-color: #ffffff; color: #232425; text-align: start;&quot; data-source-line=&quot;228-228&quot; data-ke-size=&quot;size26&quot;&gt;마치며&lt;/h2&gt;
&lt;p style=&quot;list-style-type: none; background-color: #ffffff; color: #232425; text-align: start;&quot; data-source-line=&quot;230-230&quot; data-ke-size=&quot;size16&quot;&gt;엑셀에서 50만 행 이상의 대용량 데이터를 다루는 것은 더 이상 어려운 일이 아닙니다. 오늘 소개한 VBA 매크로를 활용하면 데이터를 10만 행씩 자동으로 분할하여 작업 효율성을 크게 높일 수 있습니다. 코드를 복사하여 바로 사용할 수 있으며, 필요에 따라 행 수나 저장 경로를 쉽게 변경할 수 있습니다.&lt;/p&gt;
&lt;p style=&quot;list-style-type: none; background-color: #ffffff; color: #232425; text-align: start;&quot; data-source-line=&quot;232-232&quot; data-ke-size=&quot;size16&quot;&gt;대용량 데이터 처리로 고민하고 계셨다면 이 매크로를 활용해보세요. 작업 시간을 대폭 단축하고 정확한 데이터 관리가 가능해질 것입니다.&lt;/p&gt;
&lt;p style=&quot;list-style-type: none; background-color: #ffffff; color: #232425; text-align: start;&quot; data-source-line=&quot;232-232&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;fileblock&quot; data-ke-align=&quot;alignCenter&quot;&gt;&lt;a href=&quot;https://blog.kakaocdn.net/dn/bsgsls/dJMcacVKNEy/eWb6WWWpb281OCxN8S5qn1/%EB%8C%80%EC%9A%A9%EB%9F%89%20%EB%8D%B0%EC%9D%B4%ED%84%B0%20N%EA%B0%9C%20%ED%8C%8C%EC%9D%BC%EB%A1%9C%20%EB%B6%84%ED%95%A0%20%ED%95%98%EA%B8%B0.xlsm?attach=1&amp;amp;knm=tfile.xlsm&quot; class=&quot;&quot;&gt;
    &lt;div class=&quot;image&quot;&gt;&lt;/div&gt;
    &lt;div class=&quot;desc&quot;&gt;&lt;div class=&quot;filename&quot;&gt;&lt;span class=&quot;name&quot;&gt;대용량 데이터 N개 파일로 분할 하기.xlsm&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;size&quot;&gt;8.10MB&lt;/div&gt;
&lt;/div&gt;
  &lt;/a&gt;&lt;/figure&gt;
&lt;/p&gt;</description>
      <category>DATA</category>
      <category>#엑셀VBA #엑셀매크로 #대용량데이터 #엑셀자동화 #데이터분할 #VBA코드 #엑셀팁 #Excel #ExcelVBA #데이터처리</category>
      <author>노만e</author>
      <guid isPermaLink="true">https://dream2049.tistory.com/197</guid>
      <comments>https://dream2049.tistory.com/197#entry197comment</comments>
      <pubDate>Wed, 12 Nov 2025 21:58:23 +0900</pubDate>
    </item>
    <item>
      <title>Excel VBA로 인사기록 팀별 별도 파일로 저장하기</title>
      <link>https://dream2049.tistory.com/196</link>
      <description>&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;1.jpg&quot; data-origin-width=&quot;1211&quot; data-origin-height=&quot;598&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bbBkvV/dJMcacuF7sQ/0sr1tiUlaYgdAZow087Tl1/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bbBkvV/dJMcacuF7sQ/0sr1tiUlaYgdAZow087Tl1/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bbBkvV/dJMcacuF7sQ/0sr1tiUlaYgdAZow087Tl1/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbbBkvV%2FdJMcacuF7sQ%2F0sr1tiUlaYgdAZow087Tl1%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1211&quot; height=&quot;598&quot; data-filename=&quot;1.jpg&quot; data-origin-width=&quot;1211&quot; data-origin-height=&quot;598&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;2.jpg&quot; data-origin-width=&quot;848&quot; data-origin-height=&quot;331&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/Qip0O/dJMcaiPcjWq/33h824HVYd04KyuNcbGQQ0/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/Qip0O/dJMcaiPcjWq/33h824HVYd04KyuNcbGQQ0/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/Qip0O/dJMcaiPcjWq/33h824HVYd04KyuNcbGQQ0/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FQip0O%2FdJMcaiPcjWq%2F33h824HVYd04KyuNcbGQQ0%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;848&quot; height=&quot;331&quot; data-filename=&quot;2.jpg&quot; data-origin-width=&quot;848&quot; data-origin-height=&quot;331&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h2 style=&quot;list-style-type: none; background-color: #ffffff; color: #232425; text-align: start;&quot; data-source-line=&quot;3-3&quot; data-ke-size=&quot;size26&quot;&gt;목차&lt;/h2&gt;
&lt;ol style=&quot;list-style-type: decimal; background-color: #ffffff; color: #232425; text-align: start;&quot; data-source-line=&quot;4-14&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li style=&quot;list-style-type: inherit;&quot; data-source-line=&quot;4-4&quot;&gt;&lt;a style=&quot;color: #000000;&quot; href=&quot;https://www.genspark.ai/agents?id=d1c289ef-f1c6-4443-a4d2-3da3783a7a66#%EA%B0%9C%EC%9A%94&quot;&gt;개요&lt;/a&gt;&lt;/li&gt;
&lt;li style=&quot;list-style-type: inherit;&quot; data-source-line=&quot;5-5&quot;&gt;&lt;a style=&quot;color: #000000;&quot; href=&quot;https://www.genspark.ai/agents?id=d1c289ef-f1c6-4443-a4d2-3da3783a7a66#%EB%AC%B8%EC%A0%9C-%EC%83%81%ED%99%A9&quot;&gt;문제 상황&lt;/a&gt;&lt;/li&gt;
&lt;li style=&quot;list-style-type: inherit;&quot; data-source-line=&quot;6-6&quot;&gt;&lt;a style=&quot;color: #000000;&quot; href=&quot;https://www.genspark.ai/agents?id=d1c289ef-f1c6-4443-a4d2-3da3783a7a66#%ED%95%B4%EA%B2%B0-%EB%B0%A9%EB%B2%95&quot;&gt;해결 방법&lt;/a&gt;&lt;/li&gt;
&lt;li style=&quot;list-style-type: inherit;&quot; data-source-line=&quot;7-7&quot;&gt;&lt;a style=&quot;color: #000000;&quot; href=&quot;https://www.genspark.ai/agents?id=d1c289ef-f1c6-4443-a4d2-3da3783a7a66#vba-%EC%BD%94%EB%93%9C-%EC%A0%84%EC%B2%B4&quot;&gt;VBA 코드 전체&lt;/a&gt;&lt;/li&gt;
&lt;li style=&quot;list-style-type: inherit;&quot; data-source-line=&quot;8-8&quot;&gt;&lt;a style=&quot;color: #000000;&quot; href=&quot;https://www.genspark.ai/agents?id=d1c289ef-f1c6-4443-a4d2-3da3783a7a66#%EC%BD%94%EB%93%9C-%EC%84%A4%EC%B9%98-%EB%B0%8F-%EC%8B%A4%ED%96%89-%EB%B0%A9%EB%B2%95&quot;&gt;코드 설치 및 실행 방법&lt;/a&gt;&lt;/li&gt;
&lt;li style=&quot;list-style-type: inherit;&quot; data-source-line=&quot;9-9&quot;&gt;&lt;a style=&quot;color: #000000;&quot; href=&quot;https://www.genspark.ai/agents?id=d1c289ef-f1c6-4443-a4d2-3da3783a7a66#%EC%BD%94%EB%93%9C-%EC%83%81%EC%84%B8-%EC%84%A4%EB%AA%85&quot;&gt;코드 상세 설명&lt;/a&gt;&lt;/li&gt;
&lt;li style=&quot;list-style-type: inherit;&quot; data-source-line=&quot;10-10&quot;&gt;&lt;a style=&quot;color: #000000;&quot; href=&quot;https://www.genspark.ai/agents?id=d1c289ef-f1c6-4443-a4d2-3da3783a7a66#%EC%A3%BC%EC%9A%94-%EA%B8%B0%EB%8A%A5&quot;&gt;주요 기능&lt;/a&gt;&lt;/li&gt;
&lt;li style=&quot;list-style-type: inherit;&quot; data-source-line=&quot;11-11&quot;&gt;&lt;a style=&quot;color: #000000;&quot; href=&quot;https://www.genspark.ai/agents?id=d1c289ef-f1c6-4443-a4d2-3da3783a7a66#%EC%84%B1%EB%8A%A5-%EC%B5%9C%EC%A0%81%ED%99%94-%ED%8F%AC%EC%9D%B8%ED%8A%B8&quot;&gt;성능 최적화 포인트&lt;/a&gt;&lt;/li&gt;
&lt;li style=&quot;list-style-type: inherit;&quot; data-source-line=&quot;12-12&quot;&gt;&lt;a style=&quot;color: #000000;&quot; href=&quot;https://www.genspark.ai/agents?id=d1c289ef-f1c6-4443-a4d2-3da3783a7a66#%EB%AC%B8%EC%A0%9C-%ED%95%B4%EA%B2%B0&quot;&gt;문제 해결 (Troubleshooting)&lt;/a&gt;&lt;/li&gt;
&lt;li style=&quot;list-style-type: inherit;&quot; data-source-line=&quot;13-14&quot;&gt;&lt;a style=&quot;color: #000000;&quot; href=&quot;https://www.genspark.ai/agents?id=d1c289ef-f1c6-4443-a4d2-3da3783a7a66#%EB%A7%88%EC%B9%98%EB%A9%B0&quot;&gt;마치며&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;hr data-source-line=&quot;15-15&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h2 style=&quot;list-style-type: none; background-color: #ffffff; color: #232425; text-align: start;&quot; data-source-line=&quot;17-17&quot; data-ke-size=&quot;size26&quot;&gt;개요&lt;/h2&gt;
&lt;p style=&quot;list-style-type: none; background-color: #ffffff; color: #232425; text-align: start;&quot; data-source-line=&quot;19-19&quot; data-ke-size=&quot;size16&quot;&gt;Excel에서 대량의 인사기록 데이터를 팀별로 분류하여 개별 파일로 저장해야 하는 경우가 많습니다. 수십 개의 팀이 있고 각 팀마다 수백 건의 데이터가 있다면, 수작업으로 처리하는 것은 매우 비효율적입니다. 이 글에서는&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;b&gt;VBA 매크로를 활용하여 클릭 한 번으로 팀별 데이터를 자동 분류하고 개별 파일로 저장하는 방법&lt;/b&gt;을 소개합니다.&lt;/p&gt;
&lt;p style=&quot;list-style-type: none; background-color: #ffffff; color: #232425; text-align: start;&quot; data-source-line=&quot;21-21&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;이 글에서 배울 수 있는 것:&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc; background-color: #ffffff; color: #232425; text-align: start;&quot; data-source-line=&quot;22-27&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;list-style-type: inherit;&quot; data-source-line=&quot;22-22&quot;&gt;Excel VBA 매크로를 이용한 데이터 자동 분류&lt;/li&gt;
&lt;li style=&quot;list-style-type: inherit;&quot; data-source-line=&quot;23-23&quot;&gt;CurrentRegion을 활용한 데이터 범위 자동 인식&lt;/li&gt;
&lt;li style=&quot;list-style-type: inherit;&quot; data-source-line=&quot;24-24&quot;&gt;배열을 이용한 대용량 데이터 처리 속도 최적화&lt;/li&gt;
&lt;li style=&quot;list-style-type: inherit;&quot; data-source-line=&quot;25-25&quot;&gt;팀별 파일 자동 생성 및 저장&lt;/li&gt;
&lt;li style=&quot;list-style-type: inherit;&quot; data-source-line=&quot;26-27&quot;&gt;병합된 셀 처리 방법&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;list-style-type: none; background-color: #ffffff; color: #232425; text-align: start;&quot; data-source-line=&quot;28-28&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;키워드:&lt;/b&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;Excel VBA, 데이터 자동 분류, 팀별 파일 저장, CurrentRegion, Excel 매크로, 인사기록 관리, 대용량 데이터 처리&lt;/p&gt;
&lt;hr data-source-line=&quot;30-30&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h2 style=&quot;list-style-type: none; background-color: #ffffff; color: #232425; text-align: start;&quot; data-source-line=&quot;32-32&quot; data-ke-size=&quot;size26&quot;&gt;문제 상황&lt;/h2&gt;
&lt;p style=&quot;list-style-type: none; background-color: #ffffff; color: #232425; text-align: start;&quot; data-source-line=&quot;34-34&quot; data-ke-size=&quot;size16&quot;&gt;다음과 같은 상황에서 이 매크로가 유용합니다:&lt;/p&gt;
&lt;p style=&quot;list-style-type: none; background-color: #ffffff; color: #232425; text-align: start;&quot; data-source-line=&quot;36-36&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;예시 데이터 구조:&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;828&quot; data-origin-height=&quot;593&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bX7z3u/dJMcajm2fv0/8aHi9khsKh2RkcjbuEAax0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bX7z3u/dJMcajm2fv0/8aHi9khsKh2RkcjbuEAax0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bX7z3u/dJMcajm2fv0/8aHi9khsKh2RkcjbuEAax0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbX7z3u%2FdJMcajm2fv0%2F8aHi9khsKh2RkcjbuEAax0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;750&quot; height=&quot;537&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;828&quot; data-origin-height=&quot;593&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;list-style-type: none; background-color: #ffffff; color: #232425; text-align: start;&quot; data-source-line=&quot;45-45&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;list-style-type: none; background-color: #ffffff; color: #232425; text-align: start;&quot; data-source-line=&quot;45-45&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;문제점:&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc; background-color: #ffffff; color: #232425; text-align: start;&quot; data-source-line=&quot;46-51&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;list-style-type: inherit;&quot; data-source-line=&quot;46-46&quot;&gt;10개 이상의 팀이 있고 각 팀마다 수십~수백 건의 데이터가 있음&lt;/li&gt;
&lt;li style=&quot;list-style-type: inherit;&quot; data-source-line=&quot;47-47&quot;&gt;각 팀별로 별도의 Excel 파일로 저장해야 함&lt;/li&gt;
&lt;li style=&quot;list-style-type: inherit;&quot; data-source-line=&quot;48-48&quot;&gt;수작업으로 필터링하고 복사-붙여넣기하면 시간이 오래 걸림&lt;/li&gt;
&lt;li style=&quot;list-style-type: inherit;&quot; data-source-line=&quot;49-49&quot;&gt;실수로 데이터를 누락하거나 잘못 분류할 위험이 있음&lt;/li&gt;
&lt;li style=&quot;list-style-type: inherit;&quot; data-source-line=&quot;50-51&quot;&gt;병합된 셀이 있는 경우 처리가 복잡함&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-source-line=&quot;52-52&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h2 style=&quot;list-style-type: none; background-color: #ffffff; color: #232425; text-align: start;&quot; data-source-line=&quot;54-54&quot; data-ke-size=&quot;size26&quot;&gt;해결 방법&lt;/h2&gt;
&lt;p style=&quot;list-style-type: none; background-color: #ffffff; color: #232425; text-align: start;&quot; data-source-line=&quot;56-56&quot; data-ke-size=&quot;size16&quot;&gt;이 VBA 매크로는 다음과 같이 작동합니다:&lt;/p&gt;
&lt;ol style=&quot;list-style-type: decimal; background-color: #ffffff; color: #232425; text-align: start;&quot; data-source-line=&quot;58-64&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li style=&quot;list-style-type: inherit;&quot; data-source-line=&quot;58-58&quot;&gt;&lt;b&gt;팀명이 있는 열의 셀을 클릭&lt;/b&gt;하여 선택&lt;/li&gt;
&lt;li style=&quot;list-style-type: inherit;&quot; data-source-line=&quot;59-59&quot;&gt;&lt;b&gt;CurrentRegion을 이용해 데이터 범위를 자동 인식&lt;/b&gt;&lt;/li&gt;
&lt;li style=&quot;list-style-type: inherit;&quot; data-source-line=&quot;60-60&quot;&gt;중복을 제거하여&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;b&gt;팀 목록을 자동 생성&lt;/b&gt;&lt;/li&gt;
&lt;li style=&quot;list-style-type: inherit;&quot; data-source-line=&quot;61-61&quot;&gt;각 팀별로 데이터를 필터링&lt;/li&gt;
&lt;li style=&quot;list-style-type: inherit;&quot; data-source-line=&quot;62-62&quot;&gt;&lt;b&gt;워크북 이름으로 폴더를 자동 생성&lt;/b&gt;&lt;/li&gt;
&lt;li style=&quot;list-style-type: inherit;&quot; data-source-line=&quot;63-64&quot;&gt;각 팀별로&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;b&gt;개별 Excel 파일을 자동 저장&lt;/b&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p style=&quot;list-style-type: none; background-color: #ffffff; color: #232425; text-align: start;&quot; data-source-line=&quot;65-65&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;소요 시간:&lt;/b&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;1,000건의 데이터를 10개 팀으로 분류하는데 약 5~10초 소요 (수작업 대비 90% 이상 시간 절약)&lt;/p&gt;
&lt;hr data-source-line=&quot;67-67&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h2 style=&quot;list-style-type: none; background-color: #ffffff; color: #232425; text-align: start;&quot; data-source-line=&quot;69-69&quot; data-ke-size=&quot;size26&quot;&gt;VBA 코드 전체&lt;/h2&gt;
&lt;h3 id=&quot;%EB%B2%84%EC%A0%84-1%3A-%EC%86%8D%EB%8F%84-%EC%B5%9C%EC%A0%81%ED%99%94-%EB%B2%84%EC%A0%84-(%EA%B0%92%EB%A7%8C-%EB%B3%B5%EC%82%AC)&quot; style=&quot;list-style-type: none; background-color: #ffffff; color: #232425; text-align: start;&quot; data-source-line=&quot;71-71&quot; data-ke-size=&quot;size23&quot;&gt;버전 1: 속도 최적화 버전 (값만 복사)&lt;/h3&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 100%;&quot;&gt;Sub&amp;nbsp;팀별파일자동저장_CurrentRegion() &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;ws&amp;nbsp;As&amp;nbsp;Worksheet &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;newWB&amp;nbsp;As&amp;nbsp;Workbook &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;dataRange&amp;nbsp;As&amp;nbsp;Range &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;teamColumn&amp;nbsp;As&amp;nbsp;Long &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;selectedTeam&amp;nbsp;As&amp;nbsp;String &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;fileName&amp;nbsp;As&amp;nbsp;String &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;folderPath&amp;nbsp;As&amp;nbsp;String &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;i&amp;nbsp;As&amp;nbsp;Long &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;selectedRange&amp;nbsp;As&amp;nbsp;Range &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;teamList&amp;nbsp;As&amp;nbsp;Object &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;teamKey&amp;nbsp;As&amp;nbsp;Variant &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;savedCount&amp;nbsp;As&amp;nbsp;Long &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;fso&amp;nbsp;As&amp;nbsp;Object &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;startTime&amp;nbsp;As&amp;nbsp;Double &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;dataArray&amp;nbsp;As&amp;nbsp;Variant &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;outputArray()&amp;nbsp;As&amp;nbsp;Variant &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;outputRow&amp;nbsp;As&amp;nbsp;Long &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;col&amp;nbsp;As&amp;nbsp;Long &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;firstRow&amp;nbsp;As&amp;nbsp;Long &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;lastRow&amp;nbsp;As&amp;nbsp;Long &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;firstCol&amp;nbsp;As&amp;nbsp;Long &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;lastCol&amp;nbsp;As&amp;nbsp;Long &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;headerRows&amp;nbsp;As&amp;nbsp;Long &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;startTime&amp;nbsp;=&amp;nbsp;Timer &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;현재&amp;nbsp;활성&amp;nbsp;시트&amp;nbsp;설정 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set&amp;nbsp;ws&amp;nbsp;=&amp;nbsp;ActiveSheet &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;사용자에게&amp;nbsp;팀명이&amp;nbsp;있는&amp;nbsp;열의&amp;nbsp;셀&amp;nbsp;선택&amp;nbsp;요청 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;On&amp;nbsp;Error&amp;nbsp;Resume&amp;nbsp;Next &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set&amp;nbsp;selectedRange&amp;nbsp;=&amp;nbsp;Application.InputBox(&amp;nbsp;_ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Prompt:=&quot;팀명이&amp;nbsp;입력된&amp;nbsp;열의&amp;nbsp;아무&amp;nbsp;셀이나&amp;nbsp;선택하세요.&quot;&amp;nbsp;&amp;amp;&amp;nbsp;vbCrLf&amp;nbsp;&amp;amp;&amp;nbsp;_ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&quot;(해당&amp;nbsp;셀의&amp;nbsp;데이터&amp;nbsp;영역이&amp;nbsp;자동으로&amp;nbsp;인식됩니다)&quot;,&amp;nbsp;_ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Title:=&quot;팀명&amp;nbsp;열&amp;nbsp;선택&quot;,&amp;nbsp;_ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Type:=8) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;On&amp;nbsp;Error&amp;nbsp;GoTo&amp;nbsp;0 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;취소&amp;nbsp;버튼&amp;nbsp;클릭&amp;nbsp;시&amp;nbsp;종료 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;selectedRange&amp;nbsp;Is&amp;nbsp;Nothing&amp;nbsp;Then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;MsgBox&amp;nbsp;&quot;취소되었습니다.&quot; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Exit&amp;nbsp;Sub &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;If &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;병합된&amp;nbsp;셀인&amp;nbsp;경우&amp;nbsp;첫&amp;nbsp;번째&amp;nbsp;셀&amp;nbsp;선택 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;selectedRange.MergeCells&amp;nbsp;Then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set&amp;nbsp;selectedRange&amp;nbsp;=&amp;nbsp;selectedRange.MergeArea.Cells(1,&amp;nbsp;1) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;If &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;CurrentRegion으로&amp;nbsp;데이터&amp;nbsp;범위&amp;nbsp;자동&amp;nbsp;인식 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set&amp;nbsp;dataRange&amp;nbsp;=&amp;nbsp;selectedRange.CurrentRegion &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;데이터&amp;nbsp;범위&amp;nbsp;정보 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;firstRow&amp;nbsp;=&amp;nbsp;dataRange.Row &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;lastRow&amp;nbsp;=&amp;nbsp;dataRange.Row&amp;nbsp;+&amp;nbsp;dataRange.Rows.Count&amp;nbsp;-&amp;nbsp;1 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;firstCol&amp;nbsp;=&amp;nbsp;dataRange.Column &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;lastCol&amp;nbsp;=&amp;nbsp;dataRange.Column&amp;nbsp;+&amp;nbsp;dataRange.Columns.Count&amp;nbsp;-&amp;nbsp;1 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;선택한&amp;nbsp;셀의&amp;nbsp;열&amp;nbsp;번호&amp;nbsp;(데이터&amp;nbsp;범위&amp;nbsp;내에서의&amp;nbsp;상대&amp;nbsp;위치) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;teamColumn&amp;nbsp;=&amp;nbsp;selectedRange.Column&amp;nbsp;-&amp;nbsp;firstCol&amp;nbsp;+&amp;nbsp;1 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;헤더&amp;nbsp;행&amp;nbsp;수&amp;nbsp;확인&amp;nbsp;(병합된&amp;nbsp;셀이나&amp;nbsp;제목&amp;nbsp;행&amp;nbsp;감지) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;headerRows&amp;nbsp;=&amp;nbsp;1 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;For&amp;nbsp;i&amp;nbsp;=&amp;nbsp;firstRow&amp;nbsp;To&amp;nbsp;firstRow&amp;nbsp;+&amp;nbsp;5 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;i&amp;nbsp;&amp;gt;&amp;nbsp;lastRow&amp;nbsp;Then&amp;nbsp;Exit&amp;nbsp;For &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;병합된&amp;nbsp;셀이&amp;nbsp;많거나&amp;nbsp;비어있는&amp;nbsp;셀이&amp;nbsp;많으면&amp;nbsp;헤더로&amp;nbsp;간주 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;mergedCount&amp;nbsp;As&amp;nbsp;Long &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;emptyCount&amp;nbsp;As&amp;nbsp;Long &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;mergedCount&amp;nbsp;=&amp;nbsp;0 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;emptyCount&amp;nbsp;=&amp;nbsp;0 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;For&amp;nbsp;col&amp;nbsp;=&amp;nbsp;firstCol&amp;nbsp;To&amp;nbsp;lastCol &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;ws.Cells(i,&amp;nbsp;col).MergeCells&amp;nbsp;Then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;mergedCount&amp;nbsp;=&amp;nbsp;mergedCount&amp;nbsp;+&amp;nbsp;1 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;If &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;IsEmpty(ws.Cells(i,&amp;nbsp;col).Value)&amp;nbsp;Then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;emptyCount&amp;nbsp;=&amp;nbsp;emptyCount&amp;nbsp;+&amp;nbsp;1 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;If &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Next&amp;nbsp;col &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;다음&amp;nbsp;행이&amp;nbsp;실제&amp;nbsp;데이터&amp;nbsp;행인지&amp;nbsp;확인 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;i&amp;nbsp;&amp;lt;&amp;nbsp;lastRow&amp;nbsp;Then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;mergedCount&amp;nbsp;&amp;lt;&amp;nbsp;2&amp;nbsp;And&amp;nbsp;emptyCount&amp;nbsp;&amp;lt;&amp;nbsp;(lastCol&amp;nbsp;-&amp;nbsp;firstCol&amp;nbsp;+&amp;nbsp;1)&amp;nbsp;/&amp;nbsp;2&amp;nbsp;Then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;headerRows&amp;nbsp;=&amp;nbsp;i&amp;nbsp;-&amp;nbsp;firstRow&amp;nbsp;+&amp;nbsp;1 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Exit&amp;nbsp;For &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;If &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;If &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Next&amp;nbsp;i &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;데이터&amp;nbsp;시작&amp;nbsp;행 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;dataStartRow&amp;nbsp;As&amp;nbsp;Long &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;dataStartRow&amp;nbsp;=&amp;nbsp;firstRow&amp;nbsp;+&amp;nbsp;headerRows &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;데이터가&amp;nbsp;없는&amp;nbsp;경우 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;dataStartRow&amp;nbsp;&amp;gt;&amp;nbsp;lastRow&amp;nbsp;Then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;MsgBox&amp;nbsp;&quot;데이터가&amp;nbsp;없습니다.&quot;,&amp;nbsp;vbExclamation &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Exit&amp;nbsp;Sub &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;If &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;화면&amp;nbsp;업데이트&amp;nbsp;중지 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Application.ScreenUpdating&amp;nbsp;=&amp;nbsp;False &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Application.Calculation&amp;nbsp;=&amp;nbsp;xlCalculationManual &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Application.EnableEvents&amp;nbsp;=&amp;nbsp;False &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Application.DisplayAlerts&amp;nbsp;=&amp;nbsp;False &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;전체&amp;nbsp;데이터를&amp;nbsp;배열로&amp;nbsp;읽기 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;dataArray&amp;nbsp;=&amp;nbsp;dataRange.Value2 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;중복&amp;nbsp;제거된&amp;nbsp;팀&amp;nbsp;목록&amp;nbsp;생성 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set&amp;nbsp;teamList&amp;nbsp;=&amp;nbsp;CreateObject(&quot;Scripting.Dictionary&quot;) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;For&amp;nbsp;i&amp;nbsp;=&amp;nbsp;headerRows&amp;nbsp;+&amp;nbsp;1&amp;nbsp;To&amp;nbsp;UBound(dataArray,&amp;nbsp;1) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;currentTeam&amp;nbsp;As&amp;nbsp;String &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;currentTeam&amp;nbsp;=&amp;nbsp;Trim(CStr(dataArray(i,&amp;nbsp;teamColumn))) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;currentTeam&amp;nbsp;&amp;lt;&amp;gt;&amp;nbsp;&quot;&quot;&amp;nbsp;Then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;Not&amp;nbsp;teamList.exists(currentTeam)&amp;nbsp;Then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;teamList(currentTeam)&amp;nbsp;=&amp;nbsp;1 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;If &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;If &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Next&amp;nbsp;i &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;팀이&amp;nbsp;없는&amp;nbsp;경우 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;teamList.Count&amp;nbsp;=&amp;nbsp;0&amp;nbsp;Then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Application.ScreenUpdating&amp;nbsp;=&amp;nbsp;True &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Application.Calculation&amp;nbsp;=&amp;nbsp;xlCalculationAutomatic &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Application.EnableEvents&amp;nbsp;=&amp;nbsp;True &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Application.DisplayAlerts&amp;nbsp;=&amp;nbsp;True &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;MsgBox&amp;nbsp;&quot;팀&amp;nbsp;데이터가&amp;nbsp;없습니다.&quot;,&amp;nbsp;vbExclamation &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Exit&amp;nbsp;Sub &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;If &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;파일&amp;nbsp;시스템&amp;nbsp;객체&amp;nbsp;생성 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set&amp;nbsp;fso&amp;nbsp;=&amp;nbsp;CreateObject(&quot;Scripting.FileSystemObject&quot;) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;폴더&amp;nbsp;경로&amp;nbsp;생성 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;workbookName&amp;nbsp;As&amp;nbsp;String &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;workbookName&amp;nbsp;=&amp;nbsp;fso.GetBaseName(ThisWorkbook.Name) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;folderPath&amp;nbsp;=&amp;nbsp;ThisWorkbook.Path&amp;nbsp;&amp;amp;&amp;nbsp;&quot;\&quot;&amp;nbsp;&amp;amp;&amp;nbsp;workbookName &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;폴더가&amp;nbsp;없으면&amp;nbsp;생성 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;Not&amp;nbsp;fso.FolderExists(folderPath)&amp;nbsp;Then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;fso.CreateFolder&amp;nbsp;folderPath &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;If &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;savedCount&amp;nbsp;=&amp;nbsp;0 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;totalCols&amp;nbsp;As&amp;nbsp;Long &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;totalCols&amp;nbsp;=&amp;nbsp;UBound(dataArray,&amp;nbsp;2) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;각&amp;nbsp;팀별로&amp;nbsp;파일&amp;nbsp;생성 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;For&amp;nbsp;Each&amp;nbsp;teamKey&amp;nbsp;In&amp;nbsp;teamList.Keys &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;selectedTeam&amp;nbsp;=&amp;nbsp;CStr(teamKey) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;출력&amp;nbsp;배열&amp;nbsp;크기&amp;nbsp;설정 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ReDim&amp;nbsp;outputArray(1&amp;nbsp;To&amp;nbsp;UBound(dataArray,&amp;nbsp;1),&amp;nbsp;1&amp;nbsp;To&amp;nbsp;totalCols) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;헤더&amp;nbsp;복사 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;For&amp;nbsp;i&amp;nbsp;=&amp;nbsp;1&amp;nbsp;To&amp;nbsp;headerRows &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;For&amp;nbsp;col&amp;nbsp;=&amp;nbsp;1&amp;nbsp;To&amp;nbsp;totalCols &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;outputArray(i,&amp;nbsp;col)&amp;nbsp;=&amp;nbsp;dataArray(i,&amp;nbsp;col) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Next&amp;nbsp;col &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Next&amp;nbsp;i &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;해당&amp;nbsp;팀&amp;nbsp;데이터만&amp;nbsp;배열에&amp;nbsp;복사 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;outputRow&amp;nbsp;=&amp;nbsp;headerRows&amp;nbsp;+&amp;nbsp;1 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;For&amp;nbsp;i&amp;nbsp;=&amp;nbsp;headerRows&amp;nbsp;+&amp;nbsp;1&amp;nbsp;To&amp;nbsp;UBound(dataArray,&amp;nbsp;1) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;Trim(CStr(dataArray(i,&amp;nbsp;teamColumn)))&amp;nbsp;=&amp;nbsp;selectedTeam&amp;nbsp;Then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;For&amp;nbsp;col&amp;nbsp;=&amp;nbsp;1&amp;nbsp;To&amp;nbsp;totalCols &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;outputArray(outputRow,&amp;nbsp;col)&amp;nbsp;=&amp;nbsp;dataArray(i,&amp;nbsp;col) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Next&amp;nbsp;col &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;outputRow&amp;nbsp;=&amp;nbsp;outputRow&amp;nbsp;+&amp;nbsp;1 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;If &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Next&amp;nbsp;i &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;데이터가&amp;nbsp;있는&amp;nbsp;경우만&amp;nbsp;저장 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;outputRow&amp;nbsp;&amp;gt;&amp;nbsp;headerRows&amp;nbsp;+&amp;nbsp;1&amp;nbsp;Then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;새&amp;nbsp;워크북&amp;nbsp;생성 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set&amp;nbsp;newWB&amp;nbsp;=&amp;nbsp;Workbooks.Add &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;배열&amp;nbsp;데이터를&amp;nbsp;한번에&amp;nbsp;붙여넣기 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;newWB.Sheets(1).Range(newWB.Sheets(1).Cells(1,&amp;nbsp;1),&amp;nbsp;_ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;newWB.Sheets(1).Cells(outputRow&amp;nbsp;-&amp;nbsp;1,&amp;nbsp;totalCols)).Value2&amp;nbsp;=&amp;nbsp;outputArray &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;열&amp;nbsp;너비&amp;nbsp;자동&amp;nbsp;조정 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;newWB.Sheets(1).Columns.AutoFit &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;시트&amp;nbsp;이름&amp;nbsp;변경 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;On&amp;nbsp;Error&amp;nbsp;Resume&amp;nbsp;Next &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;newWB.Sheets(1).Name&amp;nbsp;=&amp;nbsp;Left(selectedTeam,&amp;nbsp;31) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;On&amp;nbsp;Error&amp;nbsp;GoTo&amp;nbsp;0 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;파일명에&amp;nbsp;사용할&amp;nbsp;수&amp;nbsp;없는&amp;nbsp;문자&amp;nbsp;제거 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;cleanTeamName&amp;nbsp;As&amp;nbsp;String &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;cleanTeamName&amp;nbsp;=&amp;nbsp;selectedTeam &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;cleanTeamName&amp;nbsp;=&amp;nbsp;Replace(cleanTeamName,&amp;nbsp;&quot;/&quot;,&amp;nbsp;&quot;_&quot;) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;cleanTeamName&amp;nbsp;=&amp;nbsp;Replace(cleanTeamName,&amp;nbsp;&quot;\&quot;,&amp;nbsp;&quot;_&quot;) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;cleanTeamName&amp;nbsp;=&amp;nbsp;Replace(cleanTeamName,&amp;nbsp;&quot;:&quot;,&amp;nbsp;&quot;_&quot;) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;cleanTeamName&amp;nbsp;=&amp;nbsp;Replace(cleanTeamName,&amp;nbsp;&quot;*&quot;,&amp;nbsp;&quot;_&quot;) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;cleanTeamName&amp;nbsp;=&amp;nbsp;Replace(cleanTeamName,&amp;nbsp;&quot;?&quot;,&amp;nbsp;&quot;_&quot;) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;cleanTeamName&amp;nbsp;=&amp;nbsp;Replace(cleanTeamName,&amp;nbsp;&quot;&quot;&quot;&quot;,&amp;nbsp;&quot;_&quot;) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;cleanTeamName&amp;nbsp;=&amp;nbsp;Replace(cleanTeamName,&amp;nbsp;&quot;&amp;lt;&quot;,&amp;nbsp;&quot;_&quot;) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;cleanTeamName&amp;nbsp;=&amp;nbsp;Replace(cleanTeamName,&amp;nbsp;&quot;&amp;gt;&quot;,&amp;nbsp;&quot;_&quot;) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;cleanTeamName&amp;nbsp;=&amp;nbsp;Replace(cleanTeamName,&amp;nbsp;&quot;|&quot;,&amp;nbsp;&quot;_&quot;) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;파일명&amp;nbsp;생성 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;fileName&amp;nbsp;=&amp;nbsp;folderPath&amp;nbsp;&amp;amp;&amp;nbsp;&quot;\&quot;&amp;nbsp;&amp;amp;&amp;nbsp;cleanTeamName&amp;nbsp;&amp;amp;&amp;nbsp;&quot;.xlsx&quot; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;파일&amp;nbsp;저장 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;On&amp;nbsp;Error&amp;nbsp;Resume&amp;nbsp;Next &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;newWB.SaveAs&amp;nbsp;fileName:=fileName,&amp;nbsp;FileFormat:=xlOpenXMLWorkbook &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;Err.Number&amp;nbsp;=&amp;nbsp;0&amp;nbsp;Then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;savedCount&amp;nbsp;=&amp;nbsp;savedCount&amp;nbsp;+&amp;nbsp;1 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;If &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;On&amp;nbsp;Error&amp;nbsp;GoTo&amp;nbsp;0 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;newWB.Close&amp;nbsp;SaveChanges:=False &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;If &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Next&amp;nbsp;teamKey &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;설정&amp;nbsp;복원 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Application.ScreenUpdating&amp;nbsp;=&amp;nbsp;True &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Application.Calculation&amp;nbsp;=&amp;nbsp;xlCalculationAutomatic &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Application.EnableEvents&amp;nbsp;=&amp;nbsp;True &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Application.DisplayAlerts&amp;nbsp;=&amp;nbsp;True &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;완료&amp;nbsp;메시지 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;elapsedTime&amp;nbsp;As&amp;nbsp;Double &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;elapsedTime&amp;nbsp;=&amp;nbsp;Timer&amp;nbsp;-&amp;nbsp;startTime &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;savedCount&amp;nbsp;&amp;gt;&amp;nbsp;0&amp;nbsp;Then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;MsgBox&amp;nbsp;&quot;작업&amp;nbsp;완료!&quot;&amp;nbsp;&amp;amp;&amp;nbsp;vbCrLf&amp;nbsp;&amp;amp;&amp;nbsp;vbCrLf&amp;nbsp;&amp;amp;&amp;nbsp;_ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&quot;인식된&amp;nbsp;데이터&amp;nbsp;범위:&amp;nbsp;&quot;&amp;nbsp;&amp;amp;&amp;nbsp;dataRange.Address&amp;nbsp;&amp;amp;&amp;nbsp;vbCrLf&amp;nbsp;&amp;amp;&amp;nbsp;_ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&quot;저장된&amp;nbsp;팀&amp;nbsp;수:&amp;nbsp;&quot;&amp;nbsp;&amp;amp;&amp;nbsp;savedCount&amp;nbsp;&amp;amp;&amp;nbsp;&quot;개&quot;&amp;nbsp;&amp;amp;&amp;nbsp;vbCrLf&amp;nbsp;&amp;amp;&amp;nbsp;_ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&quot;소요&amp;nbsp;시간:&amp;nbsp;&quot;&amp;nbsp;&amp;amp;&amp;nbsp;Format(elapsedTime,&amp;nbsp;&quot;0.00&quot;)&amp;nbsp;&amp;amp;&amp;nbsp;&quot;초&quot;&amp;nbsp;&amp;amp;&amp;nbsp;vbCrLf&amp;nbsp;&amp;amp;&amp;nbsp;_ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&quot;저장&amp;nbsp;위치:&amp;nbsp;&quot;&amp;nbsp;&amp;amp;&amp;nbsp;folderPath,&amp;nbsp;vbInformation,&amp;nbsp;&quot;팀별&amp;nbsp;파일&amp;nbsp;저장&amp;nbsp;완료&quot; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;폴더&amp;nbsp;열기 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Shell&amp;nbsp;&quot;explorer.exe&amp;nbsp;&quot;&amp;nbsp;&amp;amp;&amp;nbsp;folderPath,&amp;nbsp;vbNormalFocus &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Else &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;MsgBox&amp;nbsp;&quot;저장된&amp;nbsp;파일이&amp;nbsp;없습니다.&quot;,&amp;nbsp;vbExclamation &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;If &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;End&amp;nbsp;Sub &lt;br /&gt;&lt;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;list-style-type: none; background-color: #ffffff; color: #232425; text-align: start;&quot; data-source-line=&quot;578-578&quot; data-ke-size=&quot;size26&quot;&gt;코드 설치 및 실행 방법&lt;/h2&gt;
&lt;h3 id=&quot;1%EB%8B%A8%EA%B3%84%3A-vba-%ED%8E%B8%EC%A7%91%EA%B8%B0-%EC%97%B4%EA%B8%B0&quot; style=&quot;list-style-type: none; background-color: #ffffff; color: #232425; text-align: start;&quot; data-source-line=&quot;580-580&quot; data-ke-size=&quot;size23&quot;&gt;1단계: VBA 편집기 열기&lt;/h3&gt;
&lt;p style=&quot;list-style-type: none; background-color: #ffffff; color: #232425; text-align: start;&quot; data-source-line=&quot;582-582&quot; data-ke-size=&quot;size16&quot;&gt;Excel 파일을 열고 다음 중 하나의 방법으로 VBA 편집기를 엽니다:&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc; background-color: #ffffff; color: #232425; text-align: start;&quot; data-source-line=&quot;583-585&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;list-style-type: inherit;&quot; data-source-line=&quot;583-583&quot;&gt;&lt;b&gt;Alt + F11&lt;/b&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;키를 누릅니다&lt;/li&gt;
&lt;li style=&quot;list-style-type: inherit;&quot; data-source-line=&quot;584-585&quot;&gt;또는 개발 도구 탭 &amp;gt; Visual Basic 클릭&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote style=&quot;background-color: #ffffff; color: #606366; text-align: start;&quot; data-source-line=&quot;586-589&quot; data-ke-style=&quot;style1&quot;&gt;
&lt;p style=&quot;list-style-type: none;&quot; data-source-line=&quot;586-586&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;참고:&lt;/b&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;개발 도구 탭이 보이지 않는 경우&lt;/p&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-source-line=&quot;587-589&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li style=&quot;list-style-type: inherit;&quot; data-source-line=&quot;587-587&quot;&gt;파일 &amp;gt; 옵션 &amp;gt; 리본 사용자 지정&lt;/li&gt;
&lt;li style=&quot;list-style-type: inherit;&quot; data-source-line=&quot;588-588&quot;&gt;오른쪽에서 &quot;개발 도구&quot; 체크박스 선택&lt;/li&gt;
&lt;li style=&quot;list-style-type: inherit;&quot; data-source-line=&quot;589-589&quot;&gt;확인 클릭&lt;/li&gt;
&lt;/ol&gt;
&lt;/blockquote&gt;
&lt;h3 id=&quot;2%EB%8B%A8%EA%B3%84%3A-%EC%83%88-%EB%AA%A8%EB%93%88-%EB%A7%8C%EB%93%A4%EA%B8%B0&quot; style=&quot;list-style-type: none; background-color: #ffffff; color: #232425; text-align: start;&quot; data-source-line=&quot;591-591&quot; data-ke-size=&quot;size23&quot;&gt;2단계: 새 모듈 만들기&lt;/h3&gt;
&lt;ol style=&quot;list-style-type: decimal; background-color: #ffffff; color: #232425; text-align: start;&quot; data-source-line=&quot;593-596&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li style=&quot;list-style-type: inherit;&quot; data-source-line=&quot;593-593&quot;&gt;VBA 편집기 좌측의 프로젝트 탐색기에서 현재 워크북을 찾습니다&lt;/li&gt;
&lt;li style=&quot;list-style-type: inherit;&quot; data-source-line=&quot;594-594&quot;&gt;&lt;b&gt;삽입(Insert) &amp;gt; 모듈(Module)&lt;/b&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;클릭&lt;/li&gt;
&lt;li style=&quot;list-style-type: inherit;&quot; data-source-line=&quot;595-596&quot;&gt;새로운 빈 모듈 창이 열립니다&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id=&quot;3%EB%8B%A8%EA%B3%84%3A-%EC%BD%94%EB%93%9C-%EB%B6%99%EC%97%AC%EB%84%A3%EA%B8%B0&quot; style=&quot;list-style-type: none; background-color: #ffffff; color: #232425; text-align: start;&quot; data-source-line=&quot;597-597&quot; data-ke-size=&quot;size23&quot;&gt;3단계: 코드 붙여넣기&lt;/h3&gt;
&lt;ol style=&quot;list-style-type: decimal; background-color: #ffffff; color: #232425; text-align: start;&quot; data-source-line=&quot;599-602&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li style=&quot;list-style-type: inherit;&quot; data-source-line=&quot;599-599&quot;&gt;위의 VBA 코드 전체를 복사합니다&lt;/li&gt;
&lt;li style=&quot;list-style-type: inherit;&quot; data-source-line=&quot;600-600&quot;&gt;모듈 창에 붙여넣기 합니다&lt;/li&gt;
&lt;li style=&quot;list-style-type: inherit;&quot; data-source-line=&quot;601-602&quot;&gt;&lt;b&gt;Ctrl + S&lt;/b&gt;로 저장합니다&lt;/li&gt;
&lt;/ol&gt;
&lt;blockquote style=&quot;background-color: #ffffff; color: #606366; text-align: start;&quot; data-source-line=&quot;603-603&quot; data-ke-style=&quot;style1&quot;&gt;
&lt;p style=&quot;list-style-type: none;&quot; data-source-line=&quot;603-603&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;중요:&lt;/b&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;파일을 .xlsm 형식(매크로 포함 통합 문서)으로 저장해야 합니다.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h3 id=&quot;4%EB%8B%A8%EA%B3%84%3A-%EB%A7%A4%ED%81%AC%EB%A1%9C-%EC%8B%A4%ED%96%89&quot; style=&quot;list-style-type: none; background-color: #ffffff; color: #232425; text-align: start;&quot; data-source-line=&quot;605-605&quot; data-ke-size=&quot;size23&quot;&gt;4단계: 매크로 실행&lt;/h3&gt;
&lt;ol style=&quot;list-style-type: decimal; background-color: #ffffff; color: #232425; text-align: start;&quot; data-source-line=&quot;607-615&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li style=&quot;list-style-type: inherit;&quot; data-source-line=&quot;607-607&quot;&gt;Excel로 돌아가기 (Alt + F11 또는 VBA 편집기 닫기)&lt;/li&gt;
&lt;li style=&quot;list-style-type: inherit;&quot; data-source-line=&quot;608-608&quot;&gt;&lt;b&gt;Alt + F8&lt;/b&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;키를 눌러 매크로 목록 열기&lt;/li&gt;
&lt;li style=&quot;list-style-type: inherit;&quot; data-source-line=&quot;609-611&quot;&gt;원하는 매크로 선택:
&lt;ul style=&quot;list-style-type: disc;&quot; data-source-line=&quot;610-611&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;list-style-type: inherit;&quot; data-source-line=&quot;610-610&quot;&gt;팀별파일자동저장_CurrentRegion&lt;span&gt;&amp;nbsp;&lt;/span&gt;(속도 우선)&lt;/li&gt;
&lt;li style=&quot;list-style-type: inherit;&quot; data-source-line=&quot;611-611&quot;&gt;팀별파일자동저장_CurrentRegion_서식유지&lt;span&gt;&amp;nbsp;&lt;/span&gt;(서식 유지)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li style=&quot;list-style-type: inherit;&quot; data-source-line=&quot;612-612&quot;&gt;&lt;b&gt;실행&lt;/b&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;버튼 클릭&lt;/li&gt;
&lt;li style=&quot;list-style-type: inherit;&quot; data-source-line=&quot;613-613&quot;&gt;팀명이 있는 열의 아무 셀이나 클릭하여 선택&lt;/li&gt;
&lt;li style=&quot;list-style-type: inherit;&quot; data-source-line=&quot;614-615&quot;&gt;자동으로 처리됩니다!&lt;/li&gt;
&lt;/ol&gt;
&lt;hr data-source-line=&quot;616-616&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h2 style=&quot;list-style-type: none; background-color: #ffffff; color: #232425; text-align: start;&quot; data-source-line=&quot;618-618&quot; data-ke-size=&quot;size26&quot;&gt;코드 상세 설명&lt;/h2&gt;
&lt;h3 id=&quot;currentregion%EC%9D%84-%EC%9D%B4%EC%9A%A9%ED%95%9C-%EB%8D%B0%EC%9D%B4%ED%84%B0-%EB%B2%94%EC%9C%84-%EC%9E%90%EB%8F%99-%EC%9D%B8%EC%8B%9D&quot; style=&quot;list-style-type: none; background-color: #ffffff; color: #232425; text-align: start;&quot; data-source-line=&quot;620-620&quot; data-ke-size=&quot;size23&quot;&gt;CurrentRegion을 이용한 데이터 범위 자동 인식&lt;/h3&gt;
&lt;pre class=&quot;gams&quot; style=&quot;background-color: #fafafa; color: #232425; text-align: start;&quot; data-source-line=&quot;622-624&quot;&gt;&lt;code&gt;Set dataRange = selectedRange.CurrentRegion
&lt;/code&gt;&lt;/pre&gt;
&lt;p style=&quot;list-style-type: none; background-color: #ffffff; color: #232425; text-align: start;&quot; data-source-line=&quot;626-626&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;CurrentRegion&lt;/b&gt;은 선택한 셀을 포함하는 연속된 데이터 영역을 자동으로 찾아주는 Excel의 강력한 기능입니다. 빈 행이나 빈 열로 구분된 데이터 블록을 자동으로 인식하므로, 사용자가 데이터의 시작과 끝을 지정할 필요가 없습니다.&lt;/p&gt;
&lt;p style=&quot;list-style-type: none; background-color: #ffffff; color: #232425; text-align: start;&quot; data-source-line=&quot;628-628&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;장점:&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc; background-color: #ffffff; color: #232425; text-align: start;&quot; data-source-line=&quot;629-632&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;list-style-type: inherit;&quot; data-source-line=&quot;629-629&quot;&gt;데이터가 A1부터 시작하지 않아도 자동 인식&lt;/li&gt;
&lt;li style=&quot;list-style-type: inherit;&quot; data-source-line=&quot;630-630&quot;&gt;데이터 크기가 변경되어도 자동 대응&lt;/li&gt;
&lt;li style=&quot;list-style-type: inherit;&quot; data-source-line=&quot;631-632&quot;&gt;병합된 셀이 있어도 정확하게 인식&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;%EB%B0%B0%EC%97%B4%EC%9D%84-%EC%9D%B4%EC%9A%A9%ED%95%9C-%EA%B3%A0%EC%86%8D-%EB%8D%B0%EC%9D%B4%ED%84%B0-%EC%B2%98%EB%A6%AC&quot; style=&quot;list-style-type: none; background-color: #ffffff; color: #232425; text-align: start;&quot; data-source-line=&quot;633-633&quot; data-ke-size=&quot;size23&quot;&gt;배열을 이용한 고속 데이터 처리&lt;/h3&gt;
&lt;pre class=&quot;ini&quot; style=&quot;background-color: #fafafa; color: #232425; text-align: start;&quot; data-source-line=&quot;635-637&quot;&gt;&lt;code&gt;dataArray = dataRange.Value2
&lt;/code&gt;&lt;/pre&gt;
&lt;p style=&quot;list-style-type: none; background-color: #ffffff; color: #232425; text-align: start;&quot; data-source-line=&quot;639-639&quot; data-ke-size=&quot;size16&quot;&gt;Excel 셀을 하나씩 읽고 쓰는 것은 매우 느립니다. 이 코드는 전체 데이터를 한 번에 배열로 읽어들여 메모리에서 처리하므로&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;b&gt;수백 배 빠른 속도&lt;/b&gt;를 구현합니다.&lt;/p&gt;
&lt;p style=&quot;list-style-type: none; background-color: #ffffff; color: #232425; text-align: start;&quot; data-source-line=&quot;641-641&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;속도 비교:&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc; background-color: #ffffff; color: #232425; text-align: start;&quot; data-source-line=&quot;642-644&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;list-style-type: inherit;&quot; data-source-line=&quot;642-642&quot;&gt;셀 단위 처리: 1,000건 약 30~60초&lt;/li&gt;
&lt;li style=&quot;list-style-type: inherit;&quot; data-source-line=&quot;643-644&quot;&gt;배열 처리: 1,000건 약 3~5초&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;dictionary%EB%A5%BC-%EC%9D%B4%EC%9A%A9%ED%95%9C-%EC%A4%91%EB%B3%B5-%EC%A0%9C%EA%B1%B0&quot; style=&quot;list-style-type: none; background-color: #ffffff; color: #232425; text-align: start;&quot; data-source-line=&quot;645-645&quot; data-ke-size=&quot;size23&quot;&gt;Dictionary를 이용한 중복 제거&lt;/h3&gt;
&lt;pre class=&quot;isbl&quot; style=&quot;background-color: #fafafa; color: #232425; text-align: start;&quot; data-source-line=&quot;647-649&quot;&gt;&lt;code&gt;Set teamList = CreateObject(&quot;Scripting.Dictionary&quot;)
&lt;/code&gt;&lt;/pre&gt;
&lt;p style=&quot;list-style-type: none; background-color: #ffffff; color: #232425; text-align: start;&quot; data-source-line=&quot;651-651&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Dictionary 객체&lt;/b&gt;는 중복을 자동으로 제거하면서 팀 목록을 생성합니다. 배열이나 컬렉션보다 훨씬 빠르고 효율적입니다.&lt;/p&gt;
&lt;h3 id=&quot;%EB%B3%91%ED%95%A9%EB%90%9C-%EC%85%80-%EC%B2%98%EB%A6%AC&quot; style=&quot;list-style-type: none; background-color: #ffffff; color: #232425; text-align: start;&quot; data-source-line=&quot;653-653&quot; data-ke-size=&quot;size23&quot;&gt;병합된 셀 처리&lt;/h3&gt;
&lt;pre class=&quot;reasonml&quot; style=&quot;background-color: #fafafa; color: #232425; text-align: start;&quot; data-source-line=&quot;655-661&quot;&gt;&lt;code&gt;If ws.Cells(i, teamColumn).MergeCells Then
    cellValue = ws.Cells(i, teamColumn).MergeArea.Cells(1, 1).Value
Else
    cellValue = ws.Cells(i, teamColumn).Value
End If
&lt;/code&gt;&lt;/pre&gt;
&lt;p style=&quot;list-style-type: none; background-color: #ffffff; color: #232425; text-align: start;&quot; data-source-line=&quot;663-663&quot; data-ke-size=&quot;size16&quot;&gt;병합된 셀의 경우&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;b&gt;MergeArea&lt;/b&gt;를 통해 병합 영역의 첫 번째 셀 값을 가져옵니다.&lt;/p&gt;
&lt;h3 id=&quot;%ED%8C%8C%EC%9D%BC%EB%AA%85-%ED%8A%B9%EC%88%98%EB%AC%B8%EC%9E%90-%EC%B2%98%EB%A6%AC&quot; style=&quot;list-style-type: none; background-color: #ffffff; color: #232425; text-align: start;&quot; data-source-line=&quot;665-665&quot; data-ke-size=&quot;size23&quot;&gt;파일명 특수문자 처리&lt;/h3&gt;
&lt;pre class=&quot;makefile&quot; style=&quot;background-color: #fafafa; color: #232425; text-align: start;&quot; data-source-line=&quot;667-671&quot;&gt;&lt;code&gt;cleanTeamName = Replace(cleanTeamName, &quot;/&quot;, &quot;_&quot;)
cleanTeamName = Replace(cleanTeamName, &quot;\&quot;, &quot;_&quot;)
' ... 기타 특수문자 처리
&lt;/code&gt;&lt;/pre&gt;
&lt;p style=&quot;list-style-type: none; background-color: #ffffff; color: #232425; text-align: start;&quot; data-source-line=&quot;673-673&quot; data-ke-size=&quot;size16&quot;&gt;Windows 파일명에 사용할 수 없는 문자(/ \ : * ? &quot; &amp;lt; &amp;gt; |)를 자동으로 언더스코어(_)로 변경합니다.&lt;/p&gt;
&lt;h3 id=&quot;%ED%99%94%EB%A9%B4-%EC%97%85%EB%8D%B0%EC%9D%B4%ED%8A%B8-%EB%B9%84%ED%99%9C%EC%84%B1%ED%99%94&quot; style=&quot;list-style-type: none; background-color: #ffffff; color: #232425; text-align: start;&quot; data-source-line=&quot;675-675&quot; data-ke-size=&quot;size23&quot;&gt;화면 업데이트 비활성화&lt;/h3&gt;
&lt;pre class=&quot;ini&quot; style=&quot;background-color: #fafafa; color: #232425; text-align: start;&quot; data-source-line=&quot;677-682&quot;&gt;&lt;code&gt;Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
Application.EnableEvents = False
Application.DisplayAlerts = False
&lt;/code&gt;&lt;/pre&gt;
&lt;p style=&quot;list-style-type: none; background-color: #ffffff; color: #232425; text-align: start;&quot; data-source-line=&quot;684-684&quot; data-ke-size=&quot;size16&quot;&gt;이 설정들은 처리 속도를 극대화합니다:&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc; background-color: #ffffff; color: #232425; text-align: start;&quot; data-source-line=&quot;685-689&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;list-style-type: inherit;&quot; data-source-line=&quot;685-685&quot;&gt;&lt;b&gt;ScreenUpdating&lt;/b&gt;: 화면 깜빡임 방지&lt;/li&gt;
&lt;li style=&quot;list-style-type: inherit;&quot; data-source-line=&quot;686-686&quot;&gt;&lt;b&gt;Calculation&lt;/b&gt;: 수식 자동 계산 일시 중지&lt;/li&gt;
&lt;li style=&quot;list-style-type: inherit;&quot; data-source-line=&quot;687-687&quot;&gt;&lt;b&gt;EnableEvents&lt;/b&gt;: 이벤트 처리 중지&lt;/li&gt;
&lt;li style=&quot;list-style-type: inherit;&quot; data-source-line=&quot;688-689&quot;&gt;&lt;b&gt;DisplayAlerts&lt;/b&gt;: 경고창 표시 안 함&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-source-line=&quot;690-690&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h2 style=&quot;list-style-type: none; background-color: #ffffff; color: #232425; text-align: start;&quot; data-source-line=&quot;692-692&quot; data-ke-size=&quot;size26&quot;&gt;주요 기능&lt;/h2&gt;
&lt;h3 id=&quot;1.-%EC%9E%90%EB%8F%99-%EB%8D%B0%EC%9D%B4%ED%84%B0-%EB%B2%94%EC%9C%84-%EC%9D%B8%EC%8B%9D&quot; style=&quot;list-style-type: none; background-color: #ffffff; color: #232425; text-align: start;&quot; data-source-line=&quot;694-694&quot; data-ke-size=&quot;size23&quot;&gt;1. 자동 데이터 범위 인식&lt;/h3&gt;
&lt;p style=&quot;list-style-type: none; background-color: #ffffff; color: #232425; text-align: start;&quot; data-source-line=&quot;695-695&quot; data-ke-size=&quot;size16&quot;&gt;클릭한 셀을 기준으로 CurrentRegion을 이용해 연속된 데이터 영역을 자동으로 찾습니다.&lt;/p&gt;
&lt;h3 id=&quot;2.-%ED%97%A4%EB%8D%94-%EC%9E%90%EB%8F%99-%EA%B0%90%EC%A7%80&quot; style=&quot;list-style-type: none; background-color: #ffffff; color: #232425; text-align: start;&quot; data-source-line=&quot;697-697&quot; data-ke-size=&quot;size23&quot;&gt;2. 헤더 자동 감지&lt;/h3&gt;
&lt;p style=&quot;list-style-type: none; background-color: #ffffff; color: #232425; text-align: start;&quot; data-source-line=&quot;698-698&quot; data-ke-size=&quot;size16&quot;&gt;병합된 셀이나 빈 셀의 패턴을 분석하여 헤더 행 수를 자동으로 판단합니다.&lt;/p&gt;
&lt;h3 id=&quot;3.-%EC%A4%91%EB%B3%B5-%EC%A0%9C%EA%B1%B0&quot; style=&quot;list-style-type: none; background-color: #ffffff; color: #232425; text-align: start;&quot; data-source-line=&quot;700-700&quot; data-ke-size=&quot;size23&quot;&gt;3. 중복 제거&lt;/h3&gt;
&lt;p style=&quot;list-style-type: none; background-color: #ffffff; color: #232425; text-align: start;&quot; data-source-line=&quot;701-701&quot; data-ke-size=&quot;size16&quot;&gt;Dictionary 객체를 사용하여 팀명의 중복을 자동으로 제거합니다.&lt;/p&gt;
&lt;h3 id=&quot;4.-%EC%9E%90%EB%8F%99-%ED%8F%B4%EB%8D%94-%EC%83%9D%EC%84%B1&quot; style=&quot;list-style-type: none; background-color: #ffffff; color: #232425; text-align: start;&quot; data-source-line=&quot;703-703&quot; data-ke-size=&quot;size23&quot;&gt;4. 자동 폴더 생성&lt;/h3&gt;
&lt;p style=&quot;list-style-type: none; background-color: #ffffff; color: #232425; text-align: start;&quot; data-source-line=&quot;704-704&quot; data-ke-size=&quot;size16&quot;&gt;워크북 이름으로 폴더를 자동 생성하고, 그 안에 팀별 파일을 저장합니다.&lt;/p&gt;
&lt;p style=&quot;list-style-type: none; background-color: #ffffff; color: #232425; text-align: start;&quot; data-source-line=&quot;706-706&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;폴더 구조 예시:&lt;/b&gt;&lt;/p&gt;
&lt;pre class=&quot;jboss-cli&quot; style=&quot;background-color: #fafafa; color: #232425; text-align: start;&quot; data-source-line=&quot;707-714&quot;&gt;&lt;code&gt;원본파일.xlsm
└── 원본파일/
    ├── 기술팀.xlsx
    ├── 경비1팀.xlsx
    ├── 운영팀.xlsx
    └── ...
&lt;/code&gt;&lt;/pre&gt;
&lt;h3 id=&quot;5.-%EC%9E%90%EB%8F%99-%ED%8C%8C%EC%9D%BC%EB%AA%85-%EC%83%9D%EC%84%B1&quot; style=&quot;list-style-type: none; background-color: #ffffff; color: #232425; text-align: start;&quot; data-source-line=&quot;716-716&quot; data-ke-size=&quot;size23&quot;&gt;5. 자동 파일명 생성&lt;/h3&gt;
&lt;p style=&quot;list-style-type: none; background-color: #ffffff; color: #232425; text-align: start;&quot; data-source-line=&quot;717-717&quot; data-ke-size=&quot;size16&quot;&gt;각 팀명을 파일명으로 사용하며, 특수문자는 자동으로 처리합니다.&lt;/p&gt;
&lt;h3 id=&quot;6.-%EC%B2%98%EB%A6%AC-%EC%8B%9C%EA%B0%84-%ED%91%9C%EC%8B%9C&quot; style=&quot;list-style-type: none; background-color: #ffffff; color: #232425; text-align: start;&quot; data-source-line=&quot;719-719&quot; data-ke-size=&quot;size23&quot;&gt;6. 처리 시간 표시&lt;/h3&gt;
&lt;p style=&quot;list-style-type: none; background-color: #ffffff; color: #232425; text-align: start;&quot; data-source-line=&quot;720-720&quot; data-ke-size=&quot;size16&quot;&gt;작업 완료 후 소요 시간을 표시하여 성능을 확인할 수 있습니다.&lt;/p&gt;
&lt;h3 id=&quot;7.-%ED%8F%B4%EB%8D%94-%EC%9E%90%EB%8F%99-%EC%97%B4%EA%B8%B0&quot; style=&quot;list-style-type: none; background-color: #ffffff; color: #232425; text-align: start;&quot; data-source-line=&quot;722-722&quot; data-ke-size=&quot;size23&quot;&gt;7. 폴더 자동 열기&lt;/h3&gt;
&lt;p style=&quot;list-style-type: none; background-color: #ffffff; color: #232425; text-align: start;&quot; data-source-line=&quot;723-723&quot; data-ke-size=&quot;size16&quot;&gt;작업 완료 후 생성된 폴더가 자동으로 열려 결과를 바로 확인할 수 있습니다.&lt;/p&gt;
&lt;hr data-source-line=&quot;725-725&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h2 style=&quot;list-style-type: none; background-color: #ffffff; color: #232425; text-align: start;&quot; data-source-line=&quot;727-727&quot; data-ke-size=&quot;size26&quot;&gt;성능 최적화 포인트&lt;/h2&gt;
&lt;h3 id=&quot;1.-%EB%B0%B0%EC%97%B4-%EC%82%AC%EC%9A%A9&quot; style=&quot;list-style-type: none; background-color: #ffffff; color: #232425; text-align: start;&quot; data-source-line=&quot;729-729&quot; data-ke-size=&quot;size23&quot;&gt;1. 배열 사용&lt;/h3&gt;
&lt;p style=&quot;list-style-type: none; background-color: #ffffff; color: #232425; text-align: start;&quot; data-source-line=&quot;730-730&quot; data-ke-size=&quot;size16&quot;&gt;셀을 직접 읽고 쓰는 대신 배열을 사용하여&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;b&gt;메모리에서 처리&lt;/b&gt;합니다. 이는 디스크 I/O를 최소화하여 속도를 대폭 향상시킵니다.&lt;/p&gt;
&lt;h3 id=&quot;2.-value2-%EC%86%8D%EC%84%B1-%EC%82%AC%EC%9A%A9&quot; style=&quot;list-style-type: none; background-color: #ffffff; color: #232425; text-align: start;&quot; data-source-line=&quot;732-732&quot; data-ke-size=&quot;size23&quot;&gt;2. Value2 속성 사용&lt;/h3&gt;
&lt;pre class=&quot;ini&quot; style=&quot;background-color: #fafafa; color: #232425; text-align: start;&quot; data-source-line=&quot;733-735&quot;&gt;&lt;code&gt;dataArray = dataRange.Value2
&lt;/code&gt;&lt;/pre&gt;
&lt;p style=&quot;list-style-type: none; background-color: #ffffff; color: #232425; text-align: start;&quot; data-source-line=&quot;736-736&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Value2&lt;/b&gt;는 Value보다 빠릅니다. Value는 날짜나 통화 형식을 변환하지만, Value2는 원시 값을 그대로 가져옵니다.&lt;/p&gt;
&lt;h3 id=&quot;3.-%ED%99%94%EB%A9%B4-%EC%97%85%EB%8D%B0%EC%9D%B4%ED%8A%B8-%EB%B9%84%ED%99%9C%EC%84%B1%ED%99%94&quot; style=&quot;list-style-type: none; background-color: #ffffff; color: #232425; text-align: start;&quot; data-source-line=&quot;738-738&quot; data-ke-size=&quot;size23&quot;&gt;3. 화면 업데이트 비활성화&lt;/h3&gt;
&lt;p style=&quot;list-style-type: none; background-color: #ffffff; color: #232425; text-align: start;&quot; data-source-line=&quot;739-739&quot; data-ke-size=&quot;size16&quot;&gt;화면 갱신을 중지하여 불필요한 리소스 사용을 막습니다.&lt;/p&gt;
&lt;h3 id=&quot;4.-%ED%95%9C-%EB%B2%88%EC%97%90-%EB%B6%99%EC%97%AC%EB%84%A3%EA%B8%B0&quot; style=&quot;list-style-type: none; background-color: #ffffff; color: #232425; text-align: start;&quot; data-source-line=&quot;741-741&quot; data-ke-size=&quot;size23&quot;&gt;4. 한 번에 붙여넣기&lt;/h3&gt;
&lt;pre class=&quot;haxe&quot; style=&quot;background-color: #fafafa; color: #232425; text-align: start;&quot; data-source-line=&quot;742-744&quot;&gt;&lt;code&gt;newWB.Sheets(1).Range(...).Value2 = outputArray
&lt;/code&gt;&lt;/pre&gt;
&lt;p style=&quot;list-style-type: none; background-color: #ffffff; color: #232425; text-align: start;&quot; data-source-line=&quot;745-745&quot; data-ke-size=&quot;size16&quot;&gt;셀을 하나씩 쓰는 대신 배열 전체를 한 번에 붙여넣습니다.&lt;/p&gt;
&lt;h3 id=&quot;5.-dictionary-%EC%82%AC%EC%9A%A9&quot; style=&quot;list-style-type: none; background-color: #ffffff; color: #232425; text-align: start;&quot; data-source-line=&quot;747-747&quot; data-ke-size=&quot;size23&quot;&gt;5. Dictionary 사용&lt;/h3&gt;
&lt;p style=&quot;list-style-type: none; background-color: #ffffff; color: #232425; text-align: start;&quot; data-source-line=&quot;748-748&quot; data-ke-size=&quot;size16&quot;&gt;배열이나 컬렉션 대신 Dictionary를 사용하여 중복 확인 속도를 향상시킵니다.&lt;/p&gt;
&lt;p style=&quot;list-style-type: none; background-color: #ffffff; color: #232425; text-align: start;&quot; data-source-line=&quot;750-750&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;성능 비교 (1,000건 데이터, 10개 팀 기준):&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc; background-color: #ffffff; color: #232425; text-align: start;&quot; data-source-line=&quot;751-754&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;list-style-type: inherit;&quot; data-source-line=&quot;751-751&quot;&gt;최적화 전: 약 45~60초&lt;/li&gt;
&lt;li style=&quot;list-style-type: inherit;&quot; data-source-line=&quot;752-752&quot;&gt;최적화 후: 약 3~7초&lt;/li&gt;
&lt;li style=&quot;list-style-type: inherit;&quot; data-source-line=&quot;753-754&quot;&gt;&lt;b&gt;성능 향상: 약 85~90%&lt;/b&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-source-line=&quot;755-755&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h2 style=&quot;list-style-type: none; background-color: #ffffff; color: #232425; text-align: start;&quot; data-source-line=&quot;757-757&quot; data-ke-size=&quot;size26&quot;&gt;문제 해결&lt;/h2&gt;
&lt;h3 id=&quot;q1%3A-%22%EB%A7%A4%ED%81%AC%EB%A1%9C%EB%A5%BC-%EC%B0%BE%EC%9D%84-%EC%88%98-%EC%97%86%EC%8A%B5%EB%8B%88%EB%8B%A4%22-%EC%98%A4%EB%A5%98&quot; style=&quot;list-style-type: none; background-color: #ffffff; color: #232425; text-align: start;&quot; data-source-line=&quot;759-759&quot; data-ke-size=&quot;size23&quot;&gt;Q1: &quot;매크로를 찾을 수 없습니다&quot; 오류&lt;/h3&gt;
&lt;p style=&quot;list-style-type: none; background-color: #ffffff; color: #232425; text-align: start;&quot; data-source-line=&quot;761-761&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;해결 방법:&lt;/b&gt;&lt;/p&gt;
&lt;ol style=&quot;list-style-type: decimal; background-color: #ffffff; color: #232425; text-align: start;&quot; data-source-line=&quot;762-765&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li style=&quot;list-style-type: inherit;&quot; data-source-line=&quot;762-762&quot;&gt;파일을 .xlsm 형식으로 저장했는지 확인&lt;/li&gt;
&lt;li style=&quot;list-style-type: inherit;&quot; data-source-line=&quot;763-763&quot;&gt;VBA 편집기에서 코드가 제대로 붙여넣어졌는지 확인&lt;/li&gt;
&lt;li style=&quot;list-style-type: inherit;&quot; data-source-line=&quot;764-765&quot;&gt;모듈 이름이 &quot;Module1&quot; 등으로 제대로 생성되었는지 확인&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id=&quot;q2%3A-%22%EB%A7%A4%ED%81%AC%EB%A1%9C%EA%B0%80-%EB%B9%84%ED%99%9C%EC%84%B1%ED%99%94%EB%90%98%EC%97%88%EC%8A%B5%EB%8B%88%EB%8B%A4%22-%EA%B2%BD%EA%B3%A0&quot; style=&quot;list-style-type: none; background-color: #ffffff; color: #232425; text-align: start;&quot; data-source-line=&quot;766-766&quot; data-ke-size=&quot;size23&quot;&gt;Q2: &quot;매크로가 비활성화되었습니다&quot; 경고&lt;/h3&gt;
&lt;p style=&quot;list-style-type: none; background-color: #ffffff; color: #232425; text-align: start;&quot; data-source-line=&quot;768-768&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;해결 방법:&lt;/b&gt;&lt;/p&gt;
&lt;ol style=&quot;list-style-type: decimal; background-color: #ffffff; color: #232425; text-align: start;&quot; data-source-line=&quot;769-771&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li style=&quot;list-style-type: inherit;&quot; data-source-line=&quot;769-769&quot;&gt;파일을 열 때 &quot;콘텐츠 사용&quot; 버튼 클릭&lt;/li&gt;
&lt;li style=&quot;list-style-type: inherit;&quot; data-source-line=&quot;770-771&quot;&gt;또는 파일 &amp;gt; 옵션 &amp;gt; 보안 센터 &amp;gt; 보안 센터 설정 &amp;gt; 매크로 설정에서 &quot;모든 매크로 포함&quot; 선택 (보안 주의)&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id=&quot;q3%3A-%EB%8D%B0%EC%9D%B4%ED%84%B0-%EB%B2%94%EC%9C%84%EA%B0%80-%EC%9E%98%EB%AA%BB-%EC%9D%B8%EC%8B%9D%EB%90%A9%EB%8B%88%EB%8B%A4&quot; style=&quot;list-style-type: none; background-color: #ffffff; color: #232425; text-align: start;&quot; data-source-line=&quot;772-772&quot; data-ke-size=&quot;size23&quot;&gt;Q3: 데이터 범위가 잘못 인식됩니다&lt;/h3&gt;
&lt;p style=&quot;list-style-type: none; background-color: #ffffff; color: #232425; text-align: start;&quot; data-source-line=&quot;774-774&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;원인:&lt;/b&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;데이터 중간에 빈 행이나 빈 열이 있는 경우&lt;/p&gt;
&lt;p style=&quot;list-style-type: none; background-color: #ffffff; color: #232425; text-align: start;&quot; data-source-line=&quot;776-776&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;해결 방법:&lt;/b&gt;&lt;/p&gt;
&lt;ol style=&quot;list-style-type: decimal; background-color: #ffffff; color: #232425; text-align: start;&quot; data-source-line=&quot;777-779&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li style=&quot;list-style-type: inherit;&quot; data-source-line=&quot;777-777&quot;&gt;데이터 중간의 빈 행/열 제거&lt;/li&gt;
&lt;li style=&quot;list-style-type: inherit;&quot; data-source-line=&quot;778-779&quot;&gt;또는 데이터를 표(Table)로 변환 (Ctrl + T)&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id=&quot;q4%3A-%ED%8A%B9%EC%A0%95-%ED%8C%80%EC%9D%98-%ED%8C%8C%EC%9D%BC%EC%9D%B4-%EC%83%9D%EC%84%B1%EB%90%98%EC%A7%80-%EC%95%8A%EC%8A%B5%EB%8B%88%EB%8B%A4&quot; style=&quot;list-style-type: none; background-color: #ffffff; color: #232425; text-align: start;&quot; data-source-line=&quot;780-780&quot; data-ke-size=&quot;size23&quot;&gt;Q4: 특정 팀의 파일이 생성되지 않습니다&lt;/h3&gt;
&lt;p style=&quot;list-style-type: none; background-color: #ffffff; color: #232425; text-align: start;&quot; data-source-line=&quot;782-782&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;원인:&lt;/b&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;해당 팀의 데이터가 없거나 팀명이 공백인 경우&lt;/p&gt;
&lt;p style=&quot;list-style-type: none; background-color: #ffffff; color: #232425; text-align: start;&quot; data-source-line=&quot;784-784&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;해결 방법:&lt;/b&gt;&lt;/p&gt;
&lt;ol style=&quot;list-style-type: decimal; background-color: #ffffff; color: #232425; text-align: start;&quot; data-source-line=&quot;785-787&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li style=&quot;list-style-type: inherit;&quot; data-source-line=&quot;785-785&quot;&gt;팀명 열에 공백이나 특수문자가 없는지 확인&lt;/li&gt;
&lt;li style=&quot;list-style-type: inherit;&quot; data-source-line=&quot;786-787&quot;&gt;필터를 사용하여 해당 팀 데이터가 실제로 존재하는지 확인&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id=&quot;q5%3A-%22%ED%8C%8C%EC%9D%BC-%EC%A0%80%EC%9E%A5-%EC%A4%91-%EC%98%A4%EB%A5%98%22-%EB%A9%94%EC%8B%9C%EC%A7%80&quot; style=&quot;list-style-type: none; background-color: #ffffff; color: #232425; text-align: start;&quot; data-source-line=&quot;788-788&quot; data-ke-size=&quot;size23&quot;&gt;Q5: &quot;파일 저장 중 오류&quot; 메시지&lt;/h3&gt;
&lt;p style=&quot;list-style-type: none; background-color: #ffffff; color: #232425; text-align: start;&quot; data-source-line=&quot;790-790&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;원인:&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc; background-color: #ffffff; color: #232425; text-align: start;&quot; data-source-line=&quot;791-794&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;list-style-type: inherit;&quot; data-source-line=&quot;791-791&quot;&gt;동일한 이름의 파일이 이미 열려 있음&lt;/li&gt;
&lt;li style=&quot;list-style-type: inherit;&quot; data-source-line=&quot;792-792&quot;&gt;폴더에 쓰기 권한이 없음&lt;/li&gt;
&lt;li style=&quot;list-style-type: inherit;&quot; data-source-line=&quot;793-794&quot;&gt;디스크 공간 부족&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;list-style-type: none; background-color: #ffffff; color: #232425; text-align: start;&quot; data-source-line=&quot;795-795&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;해결 방법:&lt;/b&gt;&lt;/p&gt;
&lt;ol style=&quot;list-style-type: decimal; background-color: #ffffff; color: #232425; text-align: start;&quot; data-source-line=&quot;796-799&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li style=&quot;list-style-type: inherit;&quot; data-source-line=&quot;796-796&quot;&gt;동일한 이름의 파일이 열려 있다면 닫기&lt;/li&gt;
&lt;li style=&quot;list-style-type: inherit;&quot; data-source-line=&quot;797-797&quot;&gt;관리자 권한으로 Excel 실행&lt;/li&gt;
&lt;li style=&quot;list-style-type: inherit;&quot; data-source-line=&quot;798-799&quot;&gt;디스크 공간 확인&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id=&quot;q6%3A-%EC%B2%98%EB%A6%AC-%EC%86%8D%EB%8F%84%EA%B0%80-%EB%84%88%EB%AC%B4-%EB%8A%90%EB%A6%BD%EB%8B%88%EB%8B%A4&quot; style=&quot;list-style-type: none; background-color: #ffffff; color: #232425; text-align: start;&quot; data-source-line=&quot;800-800&quot; data-ke-size=&quot;size23&quot;&gt;Q6: 처리 속도가 너무 느립니다&lt;/h3&gt;
&lt;p style=&quot;list-style-type: none; background-color: #ffffff; color: #232425; text-align: start;&quot; data-source-line=&quot;802-802&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;원인:&lt;/b&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;데이터가 매우 많거나 서식이 복잡한 경우&lt;/p&gt;
&lt;p style=&quot;list-style-type: none; background-color: #ffffff; color: #232425; text-align: start;&quot; data-source-line=&quot;804-804&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;해결 방법:&lt;/b&gt;&lt;/p&gt;
&lt;ol style=&quot;list-style-type: decimal; background-color: #ffffff; color: #232425; text-align: start;&quot; data-source-line=&quot;805-808&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li style=&quot;list-style-type: inherit;&quot; data-source-line=&quot;805-805&quot;&gt;&quot;속도 최적화 버전&quot; 사용 (서식 없이 값만 복사)&lt;/li&gt;
&lt;li style=&quot;list-style-type: inherit;&quot; data-source-line=&quot;806-806&quot;&gt;불필요한 서식 제거&lt;/li&gt;
&lt;li style=&quot;list-style-type: inherit;&quot; data-source-line=&quot;807-808&quot;&gt;조건부 서식이나 수식이 많다면 값으로 변환 후 실행&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id=&quot;q7%3A-%EB%B3%91%ED%95%A9%EB%90%9C-%EC%85%80%EC%9D%B4-%EC%A0%9C%EB%8C%80%EB%A1%9C-%EC%B2%98%EB%A6%AC%EB%90%98%EC%A7%80-%EC%95%8A%EC%8A%B5%EB%8B%88%EB%8B%A4&quot; style=&quot;list-style-type: none; background-color: #ffffff; color: #232425; text-align: start;&quot; data-source-line=&quot;809-809&quot; data-ke-size=&quot;size23&quot;&gt;Q7: 병합된 셀이 제대로 처리되지 않습니다&lt;/h3&gt;
&lt;p style=&quot;list-style-type: none; background-color: #ffffff; color: #232425; text-align: start;&quot; data-source-line=&quot;811-812&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;해결 방법:&lt;/b&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&quot;서식 유지 버전&quot; 매크로를 사용하세요. 이 버전은 병합된 셀을 포함한 모든 서식을 유지합니다.&lt;/p&gt;
&lt;hr data-source-line=&quot;814-814&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h2 style=&quot;list-style-type: none; background-color: #ffffff; color: #232425; text-align: start;&quot; data-source-line=&quot;816-816&quot; data-ke-size=&quot;size26&quot;&gt;마치며&lt;/h2&gt;
&lt;p style=&quot;list-style-type: none; background-color: #ffffff; color: #232425; text-align: start;&quot; data-source-line=&quot;818-818&quot; data-ke-size=&quot;size16&quot;&gt;이 VBA 매크로를 사용하면&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;b&gt;수작업으로 몇 시간 걸리던 작업을 단 몇 초 만에 완료&lt;/b&gt;할 수 있습니다. 인사기록뿐만 아니라 다양한 데이터 분류 작업에 활용할 수 있습니다.&lt;/p&gt;
&lt;p style=&quot;list-style-type: none; background-color: #ffffff; color: #232425; text-align: start;&quot; data-source-line=&quot;820-820&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;활용 가능한 분야:&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc; background-color: #ffffff; color: #232425; text-align: start;&quot; data-source-line=&quot;821-826&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;list-style-type: inherit;&quot; data-source-line=&quot;821-821&quot;&gt;부서별/팀별 인사 데이터 관리&lt;/li&gt;
&lt;li style=&quot;list-style-type: inherit;&quot; data-source-line=&quot;822-822&quot;&gt;지역별 매출 데이터 분리&lt;/li&gt;
&lt;li style=&quot;list-style-type: inherit;&quot; data-source-line=&quot;823-823&quot;&gt;제품별 재고 현황 분리&lt;/li&gt;
&lt;li style=&quot;list-style-type: inherit;&quot; data-source-line=&quot;824-824&quot;&gt;고객사별 주문 내역 분리&lt;/li&gt;
&lt;li style=&quot;list-style-type: inherit;&quot; data-source-line=&quot;825-826&quot;&gt;프로젝트별 작업 내역 분리&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;list-style-type: none; background-color: #ffffff; color: #232425; text-align: start;&quot; data-source-line=&quot;827-827&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;추가 커스터마이징 팁:&lt;/b&gt;&lt;/p&gt;
&lt;ol style=&quot;list-style-type: decimal; background-color: #ffffff; color: #232425; text-align: start;&quot; data-source-line=&quot;828-832&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li style=&quot;list-style-type: inherit;&quot; data-source-line=&quot;828-828&quot;&gt;파일명에 날짜 추가:&lt;span&gt;&amp;nbsp;&lt;/span&gt;fileName = folderPath &amp;amp; &quot;\&quot; &amp;amp; cleanTeamName &amp;amp; &quot;_&quot; &amp;amp; Format(Date, &quot;yyyymmdd&quot;) &amp;amp; &quot;.xlsx&quot;&lt;/li&gt;
&lt;li style=&quot;list-style-type: inherit;&quot; data-source-line=&quot;829-829&quot;&gt;특정 열만 선택하여 저장&lt;/li&gt;
&lt;li style=&quot;list-style-type: inherit;&quot; data-source-line=&quot;830-830&quot;&gt;조건부 필터링 추가 (예: 특정 기간의 데이터만)&lt;/li&gt;
&lt;li style=&quot;list-style-type: inherit;&quot; data-source-line=&quot;831-832&quot;&gt;PDF로 저장하는 기능 추가&lt;/li&gt;
&lt;/ol&gt;
&lt;p style=&quot;list-style-type: none; background-color: #ffffff; color: #232425; text-align: start;&quot; data-source-line=&quot;833-833&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;관련 글:&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc; background-color: #ffffff; color: #232425; text-align: start;&quot; data-source-line=&quot;834-837&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;list-style-type: inherit;&quot; data-source-line=&quot;834-834&quot;&gt;Excel VBA 기초 문법 완벽 가이드&lt;/li&gt;
&lt;li style=&quot;list-style-type: inherit;&quot; data-source-line=&quot;835-835&quot;&gt;Excel 데이터 자동화 실전 예제&lt;/li&gt;
&lt;li style=&quot;list-style-type: inherit;&quot; data-source-line=&quot;836-837&quot;&gt;VBA로 반복 작업 자동화하기&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;list-style-type: none; background-color: #ffffff; color: #232425; text-align: start;&quot; data-source-line=&quot;838-838&quot; data-ke-size=&quot;size16&quot;&gt;이 코드가 도움이 되셨다면 댓글로 피드백을 남겨주세요. 궁금한 점이나 개선 사항이 있다면 언제든지 문의해 주시기 바랍니다!&lt;/p&gt;
&lt;p style=&quot;list-style-type: none; background-color: #ffffff; color: #232425; text-align: start;&quot; data-source-line=&quot;838-838&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;fileblock&quot; data-ke-align=&quot;alignCenter&quot;&gt;&lt;a href=&quot;https://blog.kakaocdn.net/dn/dnpkdo/dJMcacOYRA4/rCRkKopdJrMKg84BFMUvCK/%EC%9D%B8%EC%82%AC%ED%8F%89%EA%B0%80%20%EC%A7%91%EA%B3%84%ED%91%9C.xlsm?attach=1&amp;amp;knm=tfile.xlsm&quot; class=&quot;&quot;&gt;
    &lt;div class=&quot;image&quot;&gt;&lt;/div&gt;
    &lt;div class=&quot;desc&quot;&gt;&lt;div class=&quot;filename&quot;&gt;&lt;span class=&quot;name&quot;&gt;인사평가 집계표.xlsm&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;size&quot;&gt;0.03MB&lt;/div&gt;
&lt;/div&gt;
  &lt;/a&gt;&lt;/figure&gt;
&lt;/p&gt;</description>
      <category>DATA</category>
      <category>#Excel #VBA #매크로 #데이터자동화 #엑셀자동화 #인사관리 #업무자동화 #생산성향상 #오피스팁 #엑셀팁</category>
      <author>노만e</author>
      <guid isPermaLink="true">https://dream2049.tistory.com/196</guid>
      <comments>https://dream2049.tistory.com/196#entry196comment</comments>
      <pubDate>Tue, 11 Nov 2025 22:23:04 +0900</pubDate>
    </item>
    <item>
      <title>엑셀 VBA로 자동 이메일 발송하기 - 완벽 가이드</title>
      <link>https://dream2049.tistory.com/195</link>
      <description>&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;1.jpg&quot; data-origin-width=&quot;1530&quot; data-origin-height=&quot;670&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/baI9WZ/dJMcaj1A7nu/Pl31zNtxjclrXcXa6RLXp1/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/baI9WZ/dJMcaj1A7nu/Pl31zNtxjclrXcXa6RLXp1/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/baI9WZ/dJMcaj1A7nu/Pl31zNtxjclrXcXa6RLXp1/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbaI9WZ%2FdJMcaj1A7nu%2FPl31zNtxjclrXcXa6RLXp1%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1530&quot; height=&quot;670&quot; data-filename=&quot;1.jpg&quot; data-origin-width=&quot;1530&quot; data-origin-height=&quot;670&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&amp;nbsp;&lt;/h2&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;개요&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;엑셀에서 VBA 매크로를 사용하여 Outlook을 통해 대량의 이메일을 자동으로 발송하는 방법을 소개합니다. 이 코드는 실무에서 바로 활용 가능하며, 발송 결과를 자동으로 기록하고 오류 처리까지 완벽하게 구현되어 있습니다.&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;주요 기능&lt;/h2&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;✅ &lt;b&gt;대량 이메일 자동 발송&lt;/b&gt;: 여러 건의 메일을 한 번에 발송&lt;/li&gt;
&lt;li&gt;✅ &lt;b&gt;첨부파일 지원&lt;/b&gt;: 각 메일마다 개별 첨부파일 추가 가능&lt;/li&gt;
&lt;li&gt;✅ &lt;b&gt;발송 결과 자동 기록&lt;/b&gt;: 성공/실패 여부와 시간을 자동으로 엑셀에 기록&lt;/li&gt;
&lt;li&gt;✅ &lt;b&gt;에러 처리&lt;/b&gt;: 발송 실패 시에도 다음 메일 계속 발송&lt;/li&gt;
&lt;li&gt;✅ &lt;b&gt;진행 상황 표시&lt;/b&gt;: 상태 표시줄에 실시간 진행률 표시&lt;/li&gt;
&lt;li&gt;✅ &lt;b&gt;CC 기능&lt;/b&gt;: 참조 수신자 추가 가능&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;엑셀 시트 구조&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Mail_Send라는 이름의 시트를 생성하고 다음과 같이 구성하세요:&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;A열 (To)B열 (CC)C열 (Subject)D열 (Body)E열 (Status)F열 (Attachment)&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;수신자 이메일&lt;/td&gt;
&lt;td&gt;참조 이메일&lt;/td&gt;
&lt;td&gt;제목&lt;/td&gt;
&lt;td&gt;본문&lt;/td&gt;
&lt;td&gt;발송상태&lt;/td&gt;
&lt;td&gt;첨부파일 경로&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;예시:&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;A2: example@company.com&lt;/li&gt;
&lt;li&gt;B2: cc@company.com (선택사항)&lt;/li&gt;
&lt;li&gt;C2: 11월 업무 보고서 제출 안내&lt;/li&gt;
&lt;li&gt;D2: 안녕하세요. 11월 업무 보고서를 제출해 주시기 바랍니다.&lt;/li&gt;
&lt;li&gt;E2: (비워둠 - 자동으로 채워짐)&lt;/li&gt;
&lt;li&gt;F2: C:\Documents\report.pdf (선택사항)&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;VBA 코드&lt;/h2&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 100%;&quot;&gt;Sub&amp;nbsp;SendEmail_Complete() &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;On&amp;nbsp;Error&amp;nbsp;GoTo&amp;nbsp;ErrorHandler &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;OutlookApp&amp;nbsp;As&amp;nbsp;Object &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;OutlookMail&amp;nbsp;As&amp;nbsp;Object &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;ws&amp;nbsp;As&amp;nbsp;Worksheet &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;LastRow&amp;nbsp;As&amp;nbsp;Long &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;i&amp;nbsp;As&amp;nbsp;Long &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;SuccessCount&amp;nbsp;As&amp;nbsp;Long &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;FailCount&amp;nbsp;As&amp;nbsp;Long &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;초기화 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;SuccessCount&amp;nbsp;=&amp;nbsp;0 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;FailCount&amp;nbsp;=&amp;nbsp;0 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set&amp;nbsp;ws&amp;nbsp;=&amp;nbsp;ActiveWorkbook.Sheets(&quot;Mail_Send&quot;) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;LastRow&amp;nbsp;=&amp;nbsp;ws.Cells(ws.Rows.Count,&amp;nbsp;&quot;A&quot;).End(xlUp).Row &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;데이터가&amp;nbsp;없는&amp;nbsp;경우&amp;nbsp;처리 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;LastRow&amp;nbsp;&amp;lt;&amp;nbsp;2&amp;nbsp;Then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;MsgBox&amp;nbsp;&quot;발송할&amp;nbsp;데이터가&amp;nbsp;없습니다.&quot;,&amp;nbsp;vbExclamation &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Exit&amp;nbsp;Sub &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;If &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;사용자&amp;nbsp;확인 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;MsgBox(&quot;총&amp;nbsp;&quot;&amp;nbsp;&amp;amp;&amp;nbsp;LastRow&amp;nbsp;-&amp;nbsp;1&amp;nbsp;&amp;amp;&amp;nbsp;&quot;건의&amp;nbsp;메일을&amp;nbsp;발송하시겠습니까?&quot;,&amp;nbsp;vbYesNo&amp;nbsp;+&amp;nbsp;vbQuestion,&amp;nbsp;&quot;메일&amp;nbsp;발송&amp;nbsp;확인&quot;)&amp;nbsp;=&amp;nbsp;vbNo&amp;nbsp;Then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Exit&amp;nbsp;Sub &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;If &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set&amp;nbsp;OutlookApp&amp;nbsp;=&amp;nbsp;CreateObject(&quot;Outlook.Application&quot;) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;진행&amp;nbsp;상황&amp;nbsp;표시를&amp;nbsp;위한&amp;nbsp;상태&amp;nbsp;표시줄&amp;nbsp;사용 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Application.ScreenUpdating&amp;nbsp;=&amp;nbsp;False &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;For&amp;nbsp;i&amp;nbsp;=&amp;nbsp;2&amp;nbsp;To&amp;nbsp;LastRow &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Application.StatusBar&amp;nbsp;=&amp;nbsp;&quot;메일&amp;nbsp;발송&amp;nbsp;중...&amp;nbsp;(&quot;&amp;nbsp;&amp;amp;&amp;nbsp;i&amp;nbsp;-&amp;nbsp;1&amp;nbsp;&amp;amp;&amp;nbsp;&quot;/&quot;&amp;nbsp;&amp;amp;&amp;nbsp;LastRow&amp;nbsp;-&amp;nbsp;1&amp;nbsp;&amp;amp;&amp;nbsp;&quot;)&quot; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;On&amp;nbsp;Error&amp;nbsp;Resume&amp;nbsp;Next &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;ws.Cells(i,&amp;nbsp;1).Value&amp;nbsp;&amp;lt;&amp;gt;&amp;nbsp;&quot;&quot;&amp;nbsp;Then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set&amp;nbsp;OutlookMail&amp;nbsp;=&amp;nbsp;OutlookApp.CreateItem(0) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;With&amp;nbsp;OutlookMail &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.To&amp;nbsp;=&amp;nbsp;ws.Cells(i,&amp;nbsp;1).Value &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.CC&amp;nbsp;=&amp;nbsp;ws.Cells(i,&amp;nbsp;2).Value&amp;nbsp;'&amp;nbsp;CC&amp;nbsp;(선택사항) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.Subject&amp;nbsp;=&amp;nbsp;ws.Cells(i,&amp;nbsp;3).Value &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.Body&amp;nbsp;=&amp;nbsp;ws.Cells(i,&amp;nbsp;4).Value &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;첨부파일이&amp;nbsp;있는&amp;nbsp;경우 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;ws.Cells(i,&amp;nbsp;6).Value&amp;nbsp;&amp;lt;&amp;gt;&amp;nbsp;&quot;&quot;&amp;nbsp;Then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;Dir(ws.Cells(i,&amp;nbsp;6).Value)&amp;nbsp;&amp;lt;&amp;gt;&amp;nbsp;&quot;&quot;&amp;nbsp;Then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.Attachments.Add&amp;nbsp;ws.Cells(i,&amp;nbsp;6).Value &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;If &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;If &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.Send &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;With &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;Err.Number&amp;nbsp;=&amp;nbsp;0&amp;nbsp;Then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ws.Cells(i,&amp;nbsp;5).Value&amp;nbsp;=&amp;nbsp;&quot;발송완료&amp;nbsp;-&amp;nbsp;&quot;&amp;nbsp;&amp;amp;&amp;nbsp;Format(Now,&amp;nbsp;&quot;yyyy-mm-dd&amp;nbsp;hh:mm:ss&quot;) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ws.Cells(i,&amp;nbsp;5).Interior.Color&amp;nbsp;=&amp;nbsp;RGB(144,&amp;nbsp;238,&amp;nbsp;144) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;SuccessCount&amp;nbsp;=&amp;nbsp;SuccessCount&amp;nbsp;+&amp;nbsp;1 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Else &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ws.Cells(i,&amp;nbsp;5).Value&amp;nbsp;=&amp;nbsp;&quot;발송실패&amp;nbsp;-&amp;nbsp;&quot;&amp;nbsp;&amp;amp;&amp;nbsp;Err.Description &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ws.Cells(i,&amp;nbsp;5).Interior.Color&amp;nbsp;=&amp;nbsp;RGB(255,&amp;nbsp;182,&amp;nbsp;193) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;FailCount&amp;nbsp;=&amp;nbsp;FailCount&amp;nbsp;+&amp;nbsp;1 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Err.Clear &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;If &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set&amp;nbsp;OutlookMail&amp;nbsp;=&amp;nbsp;Nothing &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;If &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;On&amp;nbsp;Error&amp;nbsp;GoTo&amp;nbsp;ErrorHandler &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;서버&amp;nbsp;부하&amp;nbsp;방지를&amp;nbsp;위한&amp;nbsp;짧은&amp;nbsp;대기&amp;nbsp;시간 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Application.Wait&amp;nbsp;(Now&amp;nbsp;+&amp;nbsp;TimeValue(&quot;0:00:01&quot;)) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Next&amp;nbsp;i &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;정리 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Application.ScreenUpdating&amp;nbsp;=&amp;nbsp;True &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Application.StatusBar&amp;nbsp;=&amp;nbsp;False &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set&amp;nbsp;OutlookApp&amp;nbsp;=&amp;nbsp;Nothing &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set&amp;nbsp;ws&amp;nbsp;=&amp;nbsp;Nothing &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;결과&amp;nbsp;메시지 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;MsgBox&amp;nbsp;&quot;메일&amp;nbsp;발송이&amp;nbsp;완료되었습니다!&quot;&amp;nbsp;&amp;amp;&amp;nbsp;vbCrLf&amp;nbsp;&amp;amp;&amp;nbsp;vbCrLf&amp;nbsp;&amp;amp;&amp;nbsp;_ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&quot;성공:&amp;nbsp;&quot;&amp;nbsp;&amp;amp;&amp;nbsp;SuccessCount&amp;nbsp;&amp;amp;&amp;nbsp;&quot;건&quot;&amp;nbsp;&amp;amp;&amp;nbsp;vbCrLf&amp;nbsp;&amp;amp;&amp;nbsp;_ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&quot;실패:&amp;nbsp;&quot;&amp;nbsp;&amp;amp;&amp;nbsp;FailCount&amp;nbsp;&amp;amp;&amp;nbsp;&quot;건&quot;,&amp;nbsp;vbInformation,&amp;nbsp;&quot;발송&amp;nbsp;완료&quot; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Exit&amp;nbsp;Sub &lt;br /&gt;&lt;br /&gt;ErrorHandler: &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Application.ScreenUpdating&amp;nbsp;=&amp;nbsp;True &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Application.StatusBar&amp;nbsp;=&amp;nbsp;False &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;MsgBox&amp;nbsp;&quot;오류가&amp;nbsp;발생했습니다:&amp;nbsp;&quot;&amp;nbsp;&amp;amp;&amp;nbsp;Err.Description,&amp;nbsp;vbCritical &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set&amp;nbsp;OutlookMail&amp;nbsp;=&amp;nbsp;Nothing &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set&amp;nbsp;OutlookApp&amp;nbsp;=&amp;nbsp;Nothing &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set&amp;nbsp;ws&amp;nbsp;=&amp;nbsp;Nothing &lt;br /&gt;End&amp;nbsp;Sub &lt;br /&gt;&lt;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;사용 방법&lt;/h2&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;1. VBA 편집기 열기&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Alt + F11을 눌러 VBA 편집기를 엽니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;2. 모듈 추가&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;메뉴에서 삽입 &amp;gt; 모듈을 선택합니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;3. 코드 붙여넣기&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;위의 코드를 복사하여 모듈에 붙여넣습니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;4. 엑셀 데이터 준비&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Mail_Send 시트에 발송할 이메일 정보를 입력합니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;5. 매크로 실행&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Alt + F8을 누르고 SendEmail_Complete를 선택하여 실행합니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;코드 상세 설명&lt;/h2&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;발송 전 확인 기능&lt;/h3&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;vba&lt;/div&gt;
&lt;div&gt;
&lt;pre class=&quot;vbscript&quot; style=&quot;color: #383a42; text-align: left;&quot;&gt;&lt;code&gt;If MsgBox(&quot;총 &quot; &amp;amp; LastRow - 1 &amp;amp; &quot;건의 메일을 발송하시겠습니까?&quot;, vbYesNo + vbQuestion) = vbNo Then
    Exit Sub
End If&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;실수로 대량 발송하는 것을 방지하기 위한 확인 메시지를 표시합니다.&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;진행 상황 표시&lt;/h3&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;vba&lt;/div&gt;
&lt;div&gt;
&lt;pre class=&quot;ini&quot; style=&quot;color: #383a42; text-align: left;&quot;&gt;&lt;code&gt;Application.StatusBar = &quot;메일 발송 중... (&quot; &amp;amp; i - 1 &amp;amp; &quot;/&quot; &amp;amp; LastRow - 1 &amp;amp; &quot;)&quot;&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;엑셀 하단 상태 표시줄에 현재 진행률을 실시간으로 표시합니다.&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;발송 결과 기록&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;성공 시:&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;E열에 &quot;발송완료&quot; + 시간 기록&lt;/li&gt;
&lt;li&gt;셀 배경색을 연두색으로 표시&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;실패 시:&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;E열에 &quot;발송실패&quot; + 오류 메시지 기록&lt;/li&gt;
&lt;li&gt;셀 배경색을 분홍색으로 표시&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;서버 부하 방지&lt;/h3&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;vba&lt;/div&gt;
&lt;div&gt;
&lt;pre class=&quot;isbl&quot; style=&quot;color: #383a42; text-align: left;&quot;&gt;&lt;code&gt;Application.Wait (Now + TimeValue(&quot;0:00:01&quot;))&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;각 메일 발송 후 1초 대기하여 서버 부하를 방지합니다.&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;주의사항&lt;/h2&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;&lt;b&gt;Outlook 설치 필수&lt;/b&gt;: 이 코드는 Outlook을 통해 메일을 발송하므로 Outlook이 설치되어 있어야 합니다.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;메일 서버 설정&lt;/b&gt;: Outlook이 메일 계정과 연결되어 있어야 합니다.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;첨부파일 경로&lt;/b&gt;: 첨부파일은 절대 경로로 입력해야 하며, 파일이 실제로 존재해야 합니다.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;매크로 보안 설정&lt;/b&gt;: 매크로가 실행되지 않으면 파일 &amp;gt; 옵션 &amp;gt; 보안 센터 &amp;gt; 매크로 설정에서 허용해야 합니다.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;대량 발송 시&lt;/b&gt;: 일반적으로 하루 발송 제한이 있을 수 있으므로 대량 발송 시 주의하세요.&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;커스터마이징 팁&lt;/h2&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;HTML 형식 본문 사용&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;.Body 대신 .HTMLBody를 사용하면 HTML 형식의 메일을 발송할 수 있습니다:&lt;/p&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;vba&lt;/div&gt;
&lt;div&gt;
&lt;pre class=&quot;ini&quot; style=&quot;color: #383a42; text-align: left;&quot;&gt;&lt;code&gt;.HTMLBody = ws.Cells(i, 4).Value&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;대기 시간 조정&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;서버 상황에 맞게 대기 시간을 조절할 수 있습니다:&lt;/p&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;vba&lt;/div&gt;
&lt;div&gt;
&lt;pre class=&quot;excel&quot; style=&quot;color: #383a42; text-align: left;&quot;&gt;&lt;code&gt;Application.Wait (Now + TimeValue(&quot;0:00:02&quot;)) ' 2초로 변경&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;시트 이름 변경&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;다른 시트 이름을 사용하려면 해당 부분을 수정하세요:&lt;/p&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;vba&lt;/div&gt;
&lt;div&gt;
&lt;pre class=&quot;gams&quot; style=&quot;color: #383a42; text-align: left;&quot;&gt;&lt;code&gt;Set ws = ActiveWorkbook.Sheets(&quot;원하는시트이름&quot;)&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;활용 사례&lt;/h2&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;  &lt;b&gt;고객 대상 프로모션 메일 발송&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;  &lt;b&gt;월간 보고서 자동 배포&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;  &lt;b&gt;교육 자료 일괄 전송&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;  &lt;b&gt;업무 공지사항 전달&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;  &lt;b&gt;생일 축하 메시지 자동 발송&lt;/b&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;문제 해결&lt;/h2&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&quot;Mail_Send 시트를 찾을 수 없습니다&quot; 오류&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;엑셀 파일에 Mail_Send라는 정확한 이름의 시트가 있는지 확인하세요.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;첨부파일이 첨부되지 않음&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;파일 경로가 정확한지 확인하세요.&lt;/li&gt;
&lt;li&gt;역슬래시(\)를 사용해야 합니다.&lt;/li&gt;
&lt;li&gt;파일이 실제로 존재하는지 확인하세요.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;Outlook이 열리지 않음&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Outlook이 설치되어 있는지 확인하세요.&lt;/li&gt;
&lt;li&gt;Outlook을 한 번 수동으로 실행해보세요.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;마치며&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 VBA 매크로를 사용하면 반복적인 이메일 발송 업무를 자동화하여 업무 효율을 크게 높일 수 있습니다. 코드를 자신의 환경에 맞게 수정하여 활용해보세요!&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;fileblock&quot; data-ke-align=&quot;alignCenter&quot;&gt;&lt;a href=&quot;https://blog.kakaocdn.net/dn/beolFy/dJMcaaQ7zTC/tZPEqBx2ic7RNmTaHPMs2K/%EC%97%91%EC%85%80VBA%EB%A1%9C%20%EB%8C%80%EB%9F%89%20%EC%9D%B4%EB%A9%94%EC%9D%BC%20%EB%B3%B4%EB%82%B4%EA%B8%B0%20%EC%9E%90%EB%8F%99%ED%99%94%20%EB%A7%A4%ED%81%AC%EB%A1%9C.xlsm?attach=1&amp;amp;knm=tfile.xlsm&quot; class=&quot;&quot;&gt;
    &lt;div class=&quot;image&quot;&gt;&lt;/div&gt;
    &lt;div class=&quot;desc&quot;&gt;&lt;div class=&quot;filename&quot;&gt;&lt;span class=&quot;name&quot;&gt;엑셀VBA로 대량 이메일 보내기 자동화 매크로.xlsm&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;size&quot;&gt;0.02MB&lt;/div&gt;
&lt;/div&gt;
  &lt;/a&gt;&lt;/figure&gt;
&lt;/p&gt;</description>
      <category>DATA</category>
      <category>Outlook VBA</category>
      <category>VBA Outlook 연동</category>
      <category>대량 메일 발송</category>
      <category>업무 자동화</category>
      <category>엑셀 매크로</category>
      <category>엑셀 자동 메일</category>
      <category>이메일 자동화</category>
      <category>키워드: VBA 이메일 발송</category>
      <author>노만e</author>
      <guid isPermaLink="true">https://dream2049.tistory.com/195</guid>
      <comments>https://dream2049.tistory.com/195#entry195comment</comments>
      <pubDate>Sun, 2 Nov 2025 23:50:19 +0900</pubDate>
    </item>
    <item>
      <title>엑셀 VBA로 PDS 다이어리 자동 생성하기</title>
      <link>https://dream2049.tistory.com/194</link>
      <description>&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1362&quot; data-origin-height=&quot;767&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/I9ldZ/dJMb9iuYYGv/o6b6xdUb7r3kINhISv2vr1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/I9ldZ/dJMb9iuYYGv/o6b6xdUb7r3kINhISv2vr1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/I9ldZ/dJMb9iuYYGv/o6b6xdUb7r3kINhISv2vr1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FI9ldZ%2FdJMb9iuYYGv%2Fo6b6xdUb7r3kINhISv2vr1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1362&quot; height=&quot;767&quot; data-origin-width=&quot;1362&quot; data-origin-height=&quot;767&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&amp;nbsp;&lt;/h2&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;PDS 다이어리란?&lt;/h2&gt;
&lt;div style=&quot;background-color: #ffffff; color: #0a0a0a; text-align: start;&quot; data-processed=&quot;true&quot; data-complete=&quot;true&quot; data-hveid=&quot;CAMQAA&quot; data-sfc-cp=&quot;&quot;&gt;&lt;span data-processed=&quot;true&quot; data-complete=&quot;true&quot; data-sfc-cp=&quot;&quot;&gt;&lt;span data-processed=&quot;true&quot; data-complete=&quot;true&quot; data-sfc-cp=&quot;&quot;&gt;PDS(Plan-Do-See) 다이어리&lt;/span&gt;는 계획, 실행, 피드백의 과정을 체계적으로 기록하여 자기 계발을 돕는 다이어리입니다&lt;/span&gt;. 시판되는 제품을 구매하거나, 블로그나 커뮤니티에서 무료로 배포되는 양식(PDF, PPT, 엑셀 등)을 활용할 수 있습니다.&lt;span data-processed=&quot;true&quot; data-complete=&quot;true&quot; data-wiz-uids=&quot;lY6BF_f,lY6BF_g&quot;&gt;&lt;span data-sae=&quot;&quot; data-animation-atomic=&quot;&quot;&gt;&amp;nbsp;&lt;span style=&quot;color: #0a0a0a;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div style=&quot;background-color: #ffffff; color: #0a0a0a; text-align: start;&quot; data-complete=&quot;true&quot; data-sae=&quot;&quot; data-processed=&quot;true&quot; data-sfc-cp=&quot;&quot; data-animation-nesting=&quot;&quot;&gt;PDS 다이어리 양식의 핵심 요소&lt;span data-complete=&quot;true&quot; data-wiz-uids=&quot;lY6BF_n,lY6BF_o&quot;&gt;&lt;span data-sae=&quot;&quot; data-animation-atomic=&quot;&quot;&gt;&lt;span style=&quot;color: #0a0a0a;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;ul style=&quot;list-style-type: disc; background-color: #ffffff; color: #0a0a0a; text-align: start;&quot; data-processed=&quot;true&quot; data-complete=&quot;true&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;list-style-type: disc;&quot; data-sae=&quot;&quot; data-complete=&quot;true&quot; data-hveid=&quot;CAYQAA&quot;&gt;&lt;span data-complete=&quot;true&quot; data-sfc-cp=&quot;&quot;&gt;&lt;b&gt;PLAN(계획):&lt;/b&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;하루 또는 한 주간의 목표와 세부 계획을 세우는 단계입니다.&lt;/span&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-complete=&quot;true&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;list-style-type: circle;&quot; data-sae=&quot;&quot; data-complete=&quot;true&quot; data-hveid=&quot;CAYQAQ&quot;&gt;&lt;span data-complete=&quot;true&quot; data-sfc-cp=&quot;&quot;&gt;&lt;b&gt;핵심 목표:&lt;/b&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;그날 반드시 달성해야 할 중요한 일 1~3가지를 명확히 작성합니다.&lt;/span&gt;&lt;/li&gt;
&lt;li style=&quot;list-style-type: circle;&quot; data-sae=&quot;&quot; data-complete=&quot;true&quot; data-hveid=&quot;CAYQAg&quot;&gt;&lt;span data-complete=&quot;true&quot; data-sfc-cp=&quot;&quot;&gt;&lt;b&gt;시간 계획:&lt;/b&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;하루를 1시간 또는 10분 단위로 나눠 시간대별로 할 일을 구체적으로 기록합니다.&lt;/span&gt;&lt;/li&gt;
&lt;li style=&quot;list-style-type: circle;&quot; data-sae=&quot;&quot; data-complete=&quot;true&quot; data-hveid=&quot;CAYQAw&quot;&gt;&lt;span data-complete=&quot;true&quot; data-sfc-cp=&quot;&quot;&gt;&lt;b&gt;우선순위:&lt;/b&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;계획한 일에 우선순위를 부여하여 중요도에 따라 일을 처리할 수 있도록 합니다.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li style=&quot;list-style-type: disc;&quot; data-sae=&quot;&quot; data-complete=&quot;true&quot; data-hveid=&quot;CAYQBA&quot;&gt;&lt;span data-complete=&quot;true&quot; data-sfc-cp=&quot;&quot;&gt;&lt;b&gt;DO(실행):&lt;/b&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;계획한 내용을 실제로 실행하고 기록하는 단계입니다.&lt;/span&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-complete=&quot;true&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;list-style-type: circle;&quot; data-sae=&quot;&quot; data-complete=&quot;true&quot; data-hveid=&quot;CAYQBQ&quot;&gt;&lt;span data-complete=&quot;true&quot; data-sfc-cp=&quot;&quot;&gt;&lt;b&gt;실행 확인:&lt;/b&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;계획한 시간대에 실제로 실행했는지 여부를 표시합니다.&lt;/span&gt;&lt;/li&gt;
&lt;li style=&quot;list-style-type: circle;&quot; data-sae=&quot;&quot; data-complete=&quot;true&quot; data-hveid=&quot;CAYQBg&quot;&gt;&lt;span data-complete=&quot;true&quot; data-sfc-cp=&quot;&quot;&gt;&lt;b&gt;시간 관리:&lt;/b&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;계획대로 진행되지 않은 시간을 시각적으로 확인하고 시간 낭비 요소를 파악합니다.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li style=&quot;list-style-type: disc;&quot; data-sae=&quot;&quot; data-complete=&quot;true&quot; data-hveid=&quot;CAYQBw&quot;&gt;&lt;span data-complete=&quot;true&quot; data-sfc-cp=&quot;&quot;&gt;&lt;b&gt;SEE(피드백):&lt;/b&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;실행 결과를 되돌아보며 개선점을 찾는 단계입니다.&lt;/span&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-complete=&quot;true&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;list-style-type: circle;&quot; data-sae=&quot;&quot; data-complete=&quot;true&quot; data-hveid=&quot;CAYQCA&quot;&gt;&lt;span data-complete=&quot;true&quot; data-sfc-cp=&quot;&quot;&gt;&lt;b&gt;회고(Review):&lt;/b&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;하루를 마무리하며 잘한 점, 아쉬운 점, 개선할 점 등을 기록합니다.&lt;/span&gt;&lt;/li&gt;
&lt;li style=&quot;list-style-type: circle;&quot; data-sae=&quot;&quot; data-complete=&quot;true&quot; data-hveid=&quot;CAYQCQ&quot;&gt;&lt;span data-complete=&quot;true&quot; data-sfc-cp=&quot;&quot;&gt;&lt;b&gt;문제 분석:&lt;/b&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;계획대로 진행되지 않은 원인을 분석하고 다음 계획에 반영할 점을 찾습니다.&lt;/span&gt;&lt;span data-complete=&quot;true&quot; data-wiz-uids=&quot;lY6BF_1n,lY6BF_1o&quot;&gt;&lt;span data-sae=&quot;&quot; data-animation-atomic=&quot;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&amp;nbsp;&lt;/h2&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;주요 기능&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 VBA 프로그램은 다음 기능을 제공합니다:&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;1. 자동 날짜 입력 시스템&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;YYYY-MM-DD 형식의 날짜 입력&lt;/li&gt;
&lt;li&gt;자동 요일 계산 및 한글 표시&lt;/li&gt;
&lt;li&gt;날짜 유효성 검증&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;2. 구조화된 레이아웃&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;WEEKLY 섹션&lt;/b&gt;: 주간 목표 및 계획&lt;/li&gt;
&lt;li&gt;&lt;b&gt;PLAN/DO 섹션&lt;/b&gt;: 시간대별(6시~24시) 계획 및 실행 기록&lt;/li&gt;
&lt;li&gt;&lt;b&gt;SEE 섹션&lt;/b&gt;: Keep-Problem-Try 회고&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;3. 자동 UI 요소&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;체크박스 자동 생성(F4~F22 범위)&lt;/li&gt;
&lt;li&gt;인쇄 최적화 설정&lt;/li&gt;
&lt;li&gt;가독성 높은 테두리 및 색상&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;코드 구조 분석&lt;/h2&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;메인 실행 함수: CreatePDSDiary()&lt;/h3&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;vba&lt;/div&gt;
&lt;div&gt;
&lt;pre class=&quot;vbnet&quot; style=&quot;color: #383a42; text-align: left;&quot;&gt;&lt;code&gt;Sub CreatePDSDiary()
    ' 1. 날짜 입력 받기
    ' 2. 유효성 검사
    ' 3. 시트 생성
    ' 4. 레이아웃 구성
End Sub&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 함수는 프로그램의 진입점으로, 사용자 입력부터 다이어리 생성까지 전체 프로세스를 관리합니다.&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;날짜 검증: IsValidDate()&lt;/h3&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;vba&lt;/div&gt;
&lt;div&gt;
&lt;pre class=&quot;vbnet&quot; style=&quot;color: #383a42; text-align: left;&quot;&gt;&lt;code&gt;Function IsValidDate(dateStr As String) As Boolean
    ' YYYY-MM-DD 형식 확인
    ' 하이픈 위치 검증
    ' 실제 날짜 변환 가능 여부 확인
End Function&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;입력된 날짜가 올바른 형식인지 확인하고, 실제 존재하는 날짜인지 검증합니다.&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;한글 요일 변환: GetKoreanDayOfWeek()&lt;/h3&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;vba&lt;/div&gt;
&lt;div&gt;
&lt;pre class=&quot;vbnet&quot; style=&quot;color: #383a42; text-align: left;&quot;&gt;&lt;code&gt;Function GetKoreanDayOfWeek(targetDate As Date) As String
    Dim days(1 To 7) As String
    days(1) = &quot;일요일&quot;
    ' ... 월~토요일
    dayNum = Weekday(targetDate)
    GetKoreanDayOfWeek = days(dayNum)
End Function&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;엑셀의 Weekday 함수를 활용하여 한글 요일을 반환합니다.&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;레이아웃 상세 구조&lt;/h2&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;1. 페이지 설정 (SetupPageLayout)&lt;/h3&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;pre class=&quot;angelscript&quot; style=&quot;color: #383a42; text-align: left;&quot;&gt;&lt;code&gt;열 너비:
- A열: 2 (여백)
- B~D열: 15 (WEEKLY 섹션)
- E열: 2 (여백)
- F~N열: 12 (메인 다이어리)
- J열: 6 (시간 표시)

행 높이: 21
화면 줌: 85%
폰트: 맑은 고딕 10pt&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;2. WEEKLY 섹션 (B1:D31)&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;주간 목표와 중요 업무를 기록하는 공간입니다. 병합된 셀로 구성되어 자유로운 텍스트 입력이 가능합니다.&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;3. MEMO 섹션 (F3:N22)&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;헤더 구조:&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;PLAN (F3:I3): 계획&lt;/li&gt;
&lt;li&gt;TIME (J3): 시간&lt;/li&gt;
&lt;li&gt;DO (K3:N3): 실행&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;시간 블록:&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;6시부터 24시까지 19개 시간대&lt;/li&gt;
&lt;li&gt;각 시간대마다 체크박스 자동 생성&lt;/li&gt;
&lt;li&gt;PLAN과 DO를 분리하여 계획 대비 실행률 시각화&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;4. SEE 섹션 (F24:N30)&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;KPT 회고 프레임워크:&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;Keep&lt;/b&gt;: 잘한 점, 계속 유지할 것&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Problem&lt;/b&gt;: 문제점, 개선이 필요한 것&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Try&lt;/b&gt;: 다음에 시도해볼 것&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;활용 팁&lt;/h2&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;1. 색상 커스터마이징&lt;/h3&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;vba&lt;/div&gt;
&lt;div&gt;
&lt;pre class=&quot;reasonml&quot; style=&quot;color: #383a42; text-align: left;&quot;&gt;&lt;code&gt;' 헤더 배경색 변경
.Range(&quot;F1:N2&quot;).Interior.Color = RGB(248, 248, 248)

' 다른 색상 예시
' 파스텔 블루: RGB(173, 216, 230)
' 파스텔 그린: RGB(198, 226, 198)
' 연한 노랑: RGB(255, 255, 204)&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;2. 시간 범위 조정&lt;/h3&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;vba&lt;/div&gt;
&lt;div&gt;
&lt;pre class=&quot;vbnet&quot; style=&quot;color: #383a42; text-align: left;&quot;&gt;&lt;code&gt;' CreateMemoSection 함수 내부
For hour = 6 To 24  ' 시작 시간과 종료 시간 변경 가능&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;3. 인쇄 설정 최적화&lt;/h3&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;vba&lt;/div&gt;
&lt;div&gt;
&lt;pre class=&quot;asciidoc&quot; style=&quot;color: #383a42; text-align: left;&quot;&gt;&lt;code&gt;' printPreviewHorizontal 함수에서 여백 조정
.LeftMargin = Application.InchesToPoints(0.3)
.RightMargin = Application.InchesToPoints(0.5)&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;설치 및 사용 방법&lt;/h2&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;1. VBA 편집기 열기&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Alt + F11 키를 누르거나&lt;/li&gt;
&lt;li&gt;개발 도구 탭 &amp;rarr; Visual Basic 클릭&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;2. 모듈 삽입&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;삽입 &amp;rarr; 모듈 선택&lt;/li&gt;
&lt;li&gt;제공된 코드 전체 복사 후 붙여넣기&lt;/li&gt;
&lt;li&gt;&amp;nbsp;&lt;/li&gt;
&lt;/ul&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 100%;&quot;&gt;'&amp;nbsp;======================================== &lt;br /&gt;'&amp;nbsp;PDS&amp;nbsp;다이어리&amp;nbsp;만들기 &lt;br /&gt;'&amp;nbsp;======================================== &lt;br /&gt;&lt;br /&gt;Option&amp;nbsp;Explicit &lt;br /&gt;&lt;br /&gt;'&amp;nbsp;전역&amp;nbsp;변수 &lt;br /&gt;Dim&amp;nbsp;targetSheet&amp;nbsp;As&amp;nbsp;Worksheet &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;'&amp;nbsp;메인&amp;nbsp;실행&amp;nbsp;함수 &lt;br /&gt;Sub&amp;nbsp;CreatePDSDiary() &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;inputDate&amp;nbsp;As&amp;nbsp;String &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;selectedDate&amp;nbsp;As&amp;nbsp;Date &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;dayOfWeek&amp;nbsp;As&amp;nbsp;String &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;ws&amp;nbsp;As&amp;nbsp;Worksheet &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;sheetName&amp;nbsp;As&amp;nbsp;String &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;On&amp;nbsp;Error&amp;nbsp;Resume&amp;nbsp;Next &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;날짜&amp;nbsp;입력&amp;nbsp;받기 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;inputDate&amp;nbsp;=&amp;nbsp;InputBox(&quot;일일&amp;nbsp;일정표를&amp;nbsp;만들&amp;nbsp;날짜를&amp;nbsp;YYYY-MM-DD&amp;nbsp;형식으로&amp;nbsp;입력하세요&quot;,&amp;nbsp;&quot;일일&amp;nbsp;일정표&quot;,&amp;nbsp;Format(Date,&amp;nbsp;&quot;yyyy-mm-dd&quot;)) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;취소&amp;nbsp;버튼&amp;nbsp;클릭&amp;nbsp;시 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;inputDate&amp;nbsp;=&amp;nbsp;&quot;&quot;&amp;nbsp;Then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Exit&amp;nbsp;Sub &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;If &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;날짜&amp;nbsp;유효성&amp;nbsp;검사 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;Not&amp;nbsp;IsValidDate(inputDate)&amp;nbsp;Then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;MsgBox&amp;nbsp;&quot;올바른&amp;nbsp;날짜&amp;nbsp;형식이&amp;nbsp;아닙니다.&amp;nbsp;YYYY-MM-DD&amp;nbsp;형식으로&amp;nbsp;입력해주세요.&quot;,&amp;nbsp;vbExclamation,&amp;nbsp;&quot;오류&quot; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Exit&amp;nbsp;Sub &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;If &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;날짜&amp;nbsp;변환 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;selectedDate&amp;nbsp;=&amp;nbsp;CDate(inputDate) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;dayOfWeek&amp;nbsp;=&amp;nbsp;GetKoreanDayOfWeek(selectedDate) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;sheetName&amp;nbsp;=&amp;nbsp;Format(selectedDate,&amp;nbsp;&quot;mmdd&quot;) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;기존&amp;nbsp;시트&amp;nbsp;확인 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;On&amp;nbsp;Error&amp;nbsp;Resume&amp;nbsp;Next &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set&amp;nbsp;ws&amp;nbsp;=&amp;nbsp;Worksheets(sheetName) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;On&amp;nbsp;Error&amp;nbsp;GoTo&amp;nbsp;0 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;Not&amp;nbsp;ws&amp;nbsp;Is&amp;nbsp;Nothing&amp;nbsp;Then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;같은&amp;nbsp;날짜의&amp;nbsp;시트가&amp;nbsp;이미&amp;nbsp;존재함 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;MsgBox&amp;nbsp;&quot;같은&amp;nbsp;날짜(&quot;&amp;nbsp;&amp;amp;&amp;nbsp;Format(selectedDate,&amp;nbsp;&quot;mm/dd&quot;)&amp;nbsp;&amp;amp;&amp;nbsp;&quot;)의&amp;nbsp;일정표가&amp;nbsp;이미&amp;nbsp;존재합니다.&quot;,&amp;nbsp;vbInformation,&amp;nbsp;&quot;알림&quot; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Exit&amp;nbsp;Sub &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;If &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;새&amp;nbsp;시트&amp;nbsp;생성 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set&amp;nbsp;ws&amp;nbsp;=&amp;nbsp;Worksheets.Add(After:=Worksheets(Worksheets.Count)) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ws.Name&amp;nbsp;=&amp;nbsp;sheetName &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set&amp;nbsp;targetSheet&amp;nbsp;=&amp;nbsp;ws &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;다이어리&amp;nbsp;생성 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Call&amp;nbsp;SetupPageLayout &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Call&amp;nbsp;CreateDiaryLayout(selectedDate,&amp;nbsp;dayOfWeek) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Call&amp;nbsp;AddCheckboxes &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Call&amp;nbsp;printPreviewHorizontal &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;첫&amp;nbsp;번째&amp;nbsp;입력&amp;nbsp;셀로&amp;nbsp;이동 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ws.Range(&quot;B4&quot;).Select &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;MsgBox&amp;nbsp;&quot;다이어리가&amp;nbsp;생성되었습니다!&quot;,&amp;nbsp;vbInformation,&amp;nbsp;&quot;완료&quot; &lt;br /&gt;End&amp;nbsp;Sub &lt;br /&gt;&lt;br /&gt;'&amp;nbsp;날짜&amp;nbsp;유효성&amp;nbsp;검사 &lt;br /&gt;Function&amp;nbsp;IsValidDate(dateStr&amp;nbsp;As&amp;nbsp;String)&amp;nbsp;As&amp;nbsp;Boolean &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;parts()&amp;nbsp;As&amp;nbsp;String &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;tempDate&amp;nbsp;As&amp;nbsp;Date &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;IsValidDate&amp;nbsp;=&amp;nbsp;False &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;YYYY-MM-DD&amp;nbsp;형식&amp;nbsp;확인 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;Len(dateStr)&amp;nbsp;&amp;lt;&amp;gt;&amp;nbsp;10&amp;nbsp;Then&amp;nbsp;Exit&amp;nbsp;Function &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;Mid(dateStr,&amp;nbsp;5,&amp;nbsp;1)&amp;nbsp;&amp;lt;&amp;gt;&amp;nbsp;&quot;-&quot;&amp;nbsp;Or&amp;nbsp;Mid(dateStr,&amp;nbsp;8,&amp;nbsp;1)&amp;nbsp;&amp;lt;&amp;gt;&amp;nbsp;&quot;-&quot;&amp;nbsp;Then&amp;nbsp;Exit&amp;nbsp;Function &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;On&amp;nbsp;Error&amp;nbsp;Resume&amp;nbsp;Next &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;tempDate&amp;nbsp;=&amp;nbsp;CDate(dateStr) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;Err.Number&amp;nbsp;=&amp;nbsp;0&amp;nbsp;Then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;IsValidDate&amp;nbsp;=&amp;nbsp;True &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;If &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;On&amp;nbsp;Error&amp;nbsp;GoTo&amp;nbsp;0 &lt;br /&gt;End&amp;nbsp;Function &lt;br /&gt;&lt;br /&gt;'&amp;nbsp;한글&amp;nbsp;요일&amp;nbsp;반환 &lt;br /&gt;Function&amp;nbsp;GetKoreanDayOfWeek(targetDate&amp;nbsp;As&amp;nbsp;Date)&amp;nbsp;As&amp;nbsp;String &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;dayNum&amp;nbsp;As&amp;nbsp;Integer &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;days(1&amp;nbsp;To&amp;nbsp;7)&amp;nbsp;As&amp;nbsp;String &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;days(1)&amp;nbsp;=&amp;nbsp;&quot;일요일&quot; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;days(2)&amp;nbsp;=&amp;nbsp;&quot;월요일&quot; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;days(3)&amp;nbsp;=&amp;nbsp;&quot;화요일&quot; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;days(4)&amp;nbsp;=&amp;nbsp;&quot;수요일&quot; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;days(5)&amp;nbsp;=&amp;nbsp;&quot;목요일&quot; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;days(6)&amp;nbsp;=&amp;nbsp;&quot;금요일&quot; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;days(7)&amp;nbsp;=&amp;nbsp;&quot;토요일&quot; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;dayNum&amp;nbsp;=&amp;nbsp;Weekday(targetDate) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;GetKoreanDayOfWeek&amp;nbsp;=&amp;nbsp;days(dayNum) &lt;br /&gt;End&amp;nbsp;Function &lt;br /&gt;&lt;br /&gt;'&amp;nbsp;페이지&amp;nbsp;레이아웃&amp;nbsp;설정 &lt;br /&gt;Sub&amp;nbsp;SetupPageLayout() &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;With&amp;nbsp;targetSheet &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;열&amp;nbsp;너비&amp;nbsp;설정 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.Columns(&quot;A&quot;).ColumnWidth&amp;nbsp;=&amp;nbsp;2 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.Columns(&quot;B:D&quot;).ColumnWidth&amp;nbsp;=&amp;nbsp;15 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.Columns(&quot;E&quot;).ColumnWidth&amp;nbsp;=&amp;nbsp;2 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.Columns(&quot;F:N&quot;).ColumnWidth&amp;nbsp;=&amp;nbsp;12 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.Columns(&quot;J&quot;).ColumnWidth&amp;nbsp;=&amp;nbsp;6 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;행&amp;nbsp;높이&amp;nbsp;기본&amp;nbsp;설정 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.Rows.RowHeight&amp;nbsp;=&amp;nbsp;21 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.Rows(23).RowHeight&amp;nbsp;=&amp;nbsp;15 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;화면&amp;nbsp;설정 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ActiveWindow.Zoom&amp;nbsp;=&amp;nbsp;85 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.Cells.Font.Name&amp;nbsp;=&amp;nbsp;&quot;맑은&amp;nbsp;고딕&quot; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.Cells.Font.Size&amp;nbsp;=&amp;nbsp;10 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;With &lt;br /&gt;End&amp;nbsp;Sub &lt;br /&gt;&lt;br /&gt;'&amp;nbsp;다이어리&amp;nbsp;레이아웃&amp;nbsp;생성 &lt;br /&gt;Sub&amp;nbsp;CreateDiaryLayout(selectedDate&amp;nbsp;As&amp;nbsp;Date,&amp;nbsp;dayOfWeek&amp;nbsp;As&amp;nbsp;String) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;날짜&amp;nbsp;헤더&amp;nbsp;생성 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Call&amp;nbsp;CreateDateHeader(selectedDate,&amp;nbsp;dayOfWeek) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;WEEKLY&amp;nbsp;섹션&amp;nbsp;생성 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Call&amp;nbsp;CreateWeeklySection &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;MEMO&amp;nbsp;섹션&amp;nbsp;생성 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Call&amp;nbsp;CreateMemoSection &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;SEE&amp;nbsp;섹션&amp;nbsp;생성 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Call&amp;nbsp;CreateSeeSection &lt;br /&gt;End&amp;nbsp;Sub &lt;br /&gt;&lt;br /&gt;'&amp;nbsp;날짜&amp;nbsp;헤더&amp;nbsp;생성 &lt;br /&gt;Sub&amp;nbsp;CreateDateHeader(selectedDate&amp;nbsp;As&amp;nbsp;Date,&amp;nbsp;dayOfWeek&amp;nbsp;As&amp;nbsp;String) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;With&amp;nbsp;targetSheet &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;날짜&amp;nbsp;표시&amp;nbsp;셀&amp;nbsp;병합&amp;nbsp;(F1:N2) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.Range(&quot;F1:N2&quot;).Merge &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.Range(&quot;F1&quot;).Value&amp;nbsp;=&amp;nbsp;Format(selectedDate,&amp;nbsp;&quot;mm/dd&quot;)&amp;nbsp;&amp;amp;&amp;nbsp;&quot;&amp;nbsp;(&quot;&amp;nbsp;&amp;amp;&amp;nbsp;dayOfWeek&amp;nbsp;&amp;amp;&amp;nbsp;&quot;)&quot; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.Range(&quot;F1&quot;).HorizontalAlignment&amp;nbsp;=&amp;nbsp;xlCenter &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.Range(&quot;F1&quot;).VerticalAlignment&amp;nbsp;=&amp;nbsp;xlCenter &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.Range(&quot;F1&quot;).Font.Size&amp;nbsp;=&amp;nbsp;16 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.Range(&quot;F1&quot;).Font.Bold&amp;nbsp;=&amp;nbsp;True &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;테두리 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;With&amp;nbsp;.Range(&quot;F1:N2&quot;).Borders &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.LineStyle&amp;nbsp;=&amp;nbsp;xlContinuous &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.Weight&amp;nbsp;=&amp;nbsp;xlMedium &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;With &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;배경색 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.Range(&quot;F1:N2&quot;).Interior.Color&amp;nbsp;=&amp;nbsp;RGB(248,&amp;nbsp;248,&amp;nbsp;248) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;With &lt;br /&gt;End&amp;nbsp;Sub &lt;br /&gt;&lt;br /&gt;'&amp;nbsp;WEEKLY&amp;nbsp;섹션&amp;nbsp;생성 &lt;br /&gt;Sub&amp;nbsp;CreateWeeklySection() &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;startRow&amp;nbsp;As&amp;nbsp;Integer &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;endRow&amp;nbsp;As&amp;nbsp;Integer &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;startRow&amp;nbsp;=&amp;nbsp;1 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;endRow&amp;nbsp;=&amp;nbsp;31 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;With&amp;nbsp;targetSheet &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;WEEKLY&amp;nbsp;헤더 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.Range(&quot;B&quot;&amp;nbsp;&amp;amp;&amp;nbsp;startRow&amp;nbsp;&amp;amp;&amp;nbsp;&quot;:D&quot;&amp;nbsp;&amp;amp;&amp;nbsp;startRow).Merge &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.Range(&quot;B&quot;&amp;nbsp;&amp;amp;&amp;nbsp;startRow).Value&amp;nbsp;=&amp;nbsp;&quot;WEEKLY&quot; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.Range(&quot;B&quot;&amp;nbsp;&amp;amp;&amp;nbsp;startRow).HorizontalAlignment&amp;nbsp;=&amp;nbsp;xlCenter &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.Range(&quot;B&quot;&amp;nbsp;&amp;amp;&amp;nbsp;startRow).Font.Bold&amp;nbsp;=&amp;nbsp;True &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.Range(&quot;B&quot;&amp;nbsp;&amp;amp;&amp;nbsp;startRow).Font.Size&amp;nbsp;=&amp;nbsp;14 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;헤더&amp;nbsp;테두리 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;With&amp;nbsp;.Range(&quot;B&quot;&amp;nbsp;&amp;amp;&amp;nbsp;startRow&amp;nbsp;&amp;amp;&amp;nbsp;&quot;:D&quot;&amp;nbsp;&amp;amp;&amp;nbsp;startRow).Borders &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.LineStyle&amp;nbsp;=&amp;nbsp;xlContinuous &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.Weight&amp;nbsp;=&amp;nbsp;xlMedium &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;With &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.Range(&quot;B&quot;&amp;nbsp;&amp;amp;&amp;nbsp;startRow).Borders(xlEdgeBottom).Weight&amp;nbsp;=&amp;nbsp;xlMedium &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;WEEKLY&amp;nbsp;내용&amp;nbsp;영역 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.Range(&quot;B&quot;&amp;nbsp;&amp;amp;&amp;nbsp;(startRow&amp;nbsp;+&amp;nbsp;1)&amp;nbsp;&amp;amp;&amp;nbsp;&quot;:D&quot;&amp;nbsp;&amp;amp;&amp;nbsp;endRow).Merge &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.Range(&quot;B&quot;&amp;nbsp;&amp;amp;&amp;nbsp;(startRow&amp;nbsp;+&amp;nbsp;1)).VerticalAlignment&amp;nbsp;=&amp;nbsp;xlTop &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.Range(&quot;B&quot;&amp;nbsp;&amp;amp;&amp;nbsp;(startRow&amp;nbsp;+&amp;nbsp;1)).WrapText&amp;nbsp;=&amp;nbsp;True &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;전체&amp;nbsp;테두리 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;With&amp;nbsp;.Range(&quot;B&quot;&amp;nbsp;&amp;amp;&amp;nbsp;startRow&amp;nbsp;&amp;amp;&amp;nbsp;&quot;:D&quot;&amp;nbsp;&amp;amp;&amp;nbsp;endRow).Borders &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.LineStyle&amp;nbsp;=&amp;nbsp;xlContinuous &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.Weight&amp;nbsp;=&amp;nbsp;xlMedium &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;With &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;With &lt;br /&gt;End&amp;nbsp;Sub &lt;br /&gt;&lt;br /&gt;'&amp;nbsp;MEMO&amp;nbsp;섹션&amp;nbsp;생성 &lt;br /&gt;Sub&amp;nbsp;CreateMemoSection() &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;startRow&amp;nbsp;As&amp;nbsp;Integer &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;currentRow&amp;nbsp;As&amp;nbsp;Integer &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;hour&amp;nbsp;As&amp;nbsp;Integer &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;startRow&amp;nbsp;=&amp;nbsp;3 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;currentRow&amp;nbsp;=&amp;nbsp;startRow &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;With&amp;nbsp;targetSheet &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;MEMO&amp;nbsp;헤더 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.Range(&quot;F&quot;&amp;nbsp;&amp;amp;&amp;nbsp;currentRow&amp;nbsp;&amp;amp;&amp;nbsp;&quot;:I&quot;&amp;nbsp;&amp;amp;&amp;nbsp;currentRow).Merge &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.Range(&quot;K&quot;&amp;nbsp;&amp;amp;&amp;nbsp;currentRow&amp;nbsp;&amp;amp;&amp;nbsp;&quot;:N&quot;&amp;nbsp;&amp;amp;&amp;nbsp;currentRow).Merge &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.Range(&quot;F&quot;&amp;nbsp;&amp;amp;&amp;nbsp;currentRow).Value&amp;nbsp;=&amp;nbsp;&quot;PLAN&quot; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.Range(&quot;K&quot;&amp;nbsp;&amp;amp;&amp;nbsp;currentRow).Value&amp;nbsp;=&amp;nbsp;&quot;DO&quot; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.Range(&quot;J&quot;&amp;nbsp;&amp;amp;&amp;nbsp;currentRow).Value&amp;nbsp;=&amp;nbsp;&quot;TIME&quot; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.Range(&quot;F3:N&quot;&amp;nbsp;&amp;amp;&amp;nbsp;currentRow).HorizontalAlignment&amp;nbsp;=&amp;nbsp;xlCenter &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.Range(&quot;F3:N&quot;&amp;nbsp;&amp;amp;&amp;nbsp;currentRow).Font.Bold&amp;nbsp;=&amp;nbsp;True &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.Range(&quot;F3:N&quot;&amp;nbsp;&amp;amp;&amp;nbsp;currentRow).Interior.Color&amp;nbsp;=&amp;nbsp;RGB(248,&amp;nbsp;248,&amp;nbsp;248) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;With&amp;nbsp;.Range(&quot;F&quot;&amp;nbsp;&amp;amp;&amp;nbsp;currentRow&amp;nbsp;&amp;amp;&amp;nbsp;&quot;:N&quot;&amp;nbsp;&amp;amp;&amp;nbsp;currentRow).Borders &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.LineStyle&amp;nbsp;=&amp;nbsp;xlContinuous &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.Weight&amp;nbsp;=&amp;nbsp;xlMedium &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;With &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;currentRow&amp;nbsp;=&amp;nbsp;currentRow&amp;nbsp;+&amp;nbsp;1 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;시간&amp;nbsp;블록&amp;nbsp;생성&amp;nbsp;(6시&amp;nbsp;~&amp;nbsp;24시) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;For&amp;nbsp;hour&amp;nbsp;=&amp;nbsp;6&amp;nbsp;To&amp;nbsp;24 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;시간&amp;nbsp;표시&amp;nbsp;(J열) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.Range(&quot;J&quot;&amp;nbsp;&amp;amp;&amp;nbsp;currentRow).Value&amp;nbsp;=&amp;nbsp;hour &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.Range(&quot;J&quot;&amp;nbsp;&amp;amp;&amp;nbsp;currentRow).HorizontalAlignment&amp;nbsp;=&amp;nbsp;xlCenter &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.Range(&quot;J&quot;&amp;nbsp;&amp;amp;&amp;nbsp;currentRow).VerticalAlignment&amp;nbsp;=&amp;nbsp;xlCenter &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.Range(&quot;J&quot;&amp;nbsp;&amp;amp;&amp;nbsp;currentRow).Interior.Color&amp;nbsp;=&amp;nbsp;RGB(250,&amp;nbsp;250,&amp;nbsp;250) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;메모&amp;nbsp;영역&amp;nbsp;(G:N열&amp;nbsp;병합) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.Range(&quot;F&quot;&amp;nbsp;&amp;amp;&amp;nbsp;currentRow&amp;nbsp;&amp;amp;&amp;nbsp;&quot;:I&quot;&amp;nbsp;&amp;amp;&amp;nbsp;currentRow).Merge &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.Range(&quot;K&quot;&amp;nbsp;&amp;amp;&amp;nbsp;currentRow&amp;nbsp;&amp;amp;&amp;nbsp;&quot;:N&quot;&amp;nbsp;&amp;amp;&amp;nbsp;currentRow).Merge &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.Range(&quot;G&quot;&amp;nbsp;&amp;amp;&amp;nbsp;currentRow).WrapText&amp;nbsp;=&amp;nbsp;True &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.Range(&quot;F&quot;&amp;nbsp;&amp;amp;&amp;nbsp;currentRow).IndentLevel&amp;nbsp;=&amp;nbsp;2 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;테두리 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;With&amp;nbsp;.Range(&quot;F&quot;&amp;nbsp;&amp;amp;&amp;nbsp;currentRow&amp;nbsp;&amp;amp;&amp;nbsp;&quot;:N&quot;&amp;nbsp;&amp;amp;&amp;nbsp;currentRow).Borders &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.LineStyle&amp;nbsp;=&amp;nbsp;xlContinuous &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.Weight&amp;nbsp;=&amp;nbsp;xlThin &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;With &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;currentRow&amp;nbsp;=&amp;nbsp;currentRow&amp;nbsp;+&amp;nbsp;1 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Next&amp;nbsp;hour &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;외곽&amp;nbsp;테두리&amp;nbsp;강조 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;With&amp;nbsp;.Range(&quot;F&quot;&amp;nbsp;&amp;amp;&amp;nbsp;startRow&amp;nbsp;&amp;amp;&amp;nbsp;&quot;:N&quot;&amp;nbsp;&amp;amp;&amp;nbsp;(currentRow&amp;nbsp;-&amp;nbsp;1)).Borders &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.LineStyle&amp;nbsp;=&amp;nbsp;xlContinuous &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;With &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.Range(&quot;F&quot;&amp;nbsp;&amp;amp;&amp;nbsp;startRow&amp;nbsp;&amp;amp;&amp;nbsp;&quot;:N&quot;&amp;nbsp;&amp;amp;&amp;nbsp;(currentRow&amp;nbsp;-&amp;nbsp;1)).BorderAround&amp;nbsp;LineStyle:=xlContinuous,&amp;nbsp;Weight:=xlMedium &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;With &lt;br /&gt;End&amp;nbsp;Sub &lt;br /&gt;&lt;br /&gt;'&amp;nbsp;SEE&amp;nbsp;섹션&amp;nbsp;생성 &lt;br /&gt;Sub&amp;nbsp;CreateSeeSection() &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;startRow&amp;nbsp;As&amp;nbsp;Integer &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;seeStartCol&amp;nbsp;As&amp;nbsp;Integer &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;colOffset&amp;nbsp;As&amp;nbsp;Integer &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;titles&amp;nbsp;As&amp;nbsp;Variant &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;i&amp;nbsp;As&amp;nbsp;Integer &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;startRow&amp;nbsp;=&amp;nbsp;24 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;seeStartCol&amp;nbsp;=&amp;nbsp;6&amp;nbsp;'&amp;nbsp;F열 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;titles&amp;nbsp;=&amp;nbsp;Array(&quot;Keep&amp;nbsp;(유지할&amp;nbsp;것)&quot;,&amp;nbsp;&quot;Problem&amp;nbsp;(문제점)&quot;,&amp;nbsp;&quot;Try&amp;nbsp;(시도할&amp;nbsp;것)&quot;) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;With&amp;nbsp;targetSheet &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;SEE&amp;nbsp;헤더 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.Range(&quot;F&quot;&amp;nbsp;&amp;amp;&amp;nbsp;startRow&amp;nbsp;&amp;amp;&amp;nbsp;&quot;:N&quot;&amp;nbsp;&amp;amp;&amp;nbsp;startRow).Merge &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.Range(&quot;F&quot;&amp;nbsp;&amp;amp;&amp;nbsp;startRow).Value&amp;nbsp;=&amp;nbsp;&quot;SEE&amp;nbsp;(Keep,&amp;nbsp;Problem,&amp;nbsp;Try)&quot; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.Range(&quot;F&quot;&amp;nbsp;&amp;amp;&amp;nbsp;startRow).Font.Bold&amp;nbsp;=&amp;nbsp;True &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.Range(&quot;F&quot;&amp;nbsp;&amp;amp;&amp;nbsp;startRow).HorizontalAlignment&amp;nbsp;=&amp;nbsp;xlCenter &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;With&amp;nbsp;.Range(&quot;F&quot;&amp;nbsp;&amp;amp;&amp;nbsp;startRow&amp;nbsp;&amp;amp;&amp;nbsp;&quot;:N&quot;&amp;nbsp;&amp;amp;&amp;nbsp;startRow).Borders &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.LineStyle&amp;nbsp;=&amp;nbsp;xlContinuous &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.Weight&amp;nbsp;=&amp;nbsp;xlMedium &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;With &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;startRow&amp;nbsp;=&amp;nbsp;startRow&amp;nbsp;+&amp;nbsp;1 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;Keep,&amp;nbsp;Problem,&amp;nbsp;Try&amp;nbsp;3개&amp;nbsp;영역 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;For&amp;nbsp;i&amp;nbsp;=&amp;nbsp;0&amp;nbsp;To&amp;nbsp;2 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;colOffset&amp;nbsp;=&amp;nbsp;i&amp;nbsp;*&amp;nbsp;3 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;제목 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.Range(.Cells(startRow,&amp;nbsp;seeStartCol&amp;nbsp;+&amp;nbsp;colOffset),&amp;nbsp;.Cells(startRow,&amp;nbsp;seeStartCol&amp;nbsp;+&amp;nbsp;colOffset&amp;nbsp;+&amp;nbsp;2)).Merge &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.Range(.Cells(startRow,&amp;nbsp;seeStartCol&amp;nbsp;+&amp;nbsp;colOffset),&amp;nbsp;.Cells(startRow,&amp;nbsp;seeStartCol&amp;nbsp;+&amp;nbsp;colOffset&amp;nbsp;+&amp;nbsp;2)).Value&amp;nbsp;=&amp;nbsp;titles(i) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.Range(.Cells(startRow,&amp;nbsp;seeStartCol&amp;nbsp;+&amp;nbsp;colOffset),&amp;nbsp;.Cells(startRow,&amp;nbsp;seeStartCol&amp;nbsp;+&amp;nbsp;colOffset&amp;nbsp;+&amp;nbsp;2)).Font.Bold&amp;nbsp;=&amp;nbsp;True &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.Range(.Cells(startRow,&amp;nbsp;seeStartCol&amp;nbsp;+&amp;nbsp;colOffset),&amp;nbsp;.Cells(startRow,&amp;nbsp;seeStartCol&amp;nbsp;+&amp;nbsp;colOffset&amp;nbsp;+&amp;nbsp;2)).Interior.Color&amp;nbsp;=&amp;nbsp;RGB(250,&amp;nbsp;250,&amp;nbsp;250) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;내용&amp;nbsp;영역&amp;nbsp;(6행) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.Range(.Cells(startRow&amp;nbsp;+&amp;nbsp;1,&amp;nbsp;seeStartCol&amp;nbsp;+&amp;nbsp;colOffset),&amp;nbsp;.Cells(startRow&amp;nbsp;+&amp;nbsp;6,&amp;nbsp;seeStartCol&amp;nbsp;+&amp;nbsp;colOffset&amp;nbsp;+&amp;nbsp;2)).Merge &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.Range(.Cells(startRow&amp;nbsp;+&amp;nbsp;1,&amp;nbsp;seeStartCol&amp;nbsp;+&amp;nbsp;colOffset),&amp;nbsp;.Cells(startRow&amp;nbsp;+&amp;nbsp;1,&amp;nbsp;seeStartCol&amp;nbsp;+&amp;nbsp;colOffset&amp;nbsp;+&amp;nbsp;2)).WrapText&amp;nbsp;=&amp;nbsp;True &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.Range(.Cells(startRow&amp;nbsp;+&amp;nbsp;1,&amp;nbsp;seeStartCol&amp;nbsp;+&amp;nbsp;colOffset),&amp;nbsp;.Cells(startRow&amp;nbsp;+&amp;nbsp;1,&amp;nbsp;seeStartCol&amp;nbsp;+&amp;nbsp;colOffset&amp;nbsp;+&amp;nbsp;2)).VerticalAlignment&amp;nbsp;=&amp;nbsp;xlTop &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;테두리 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;With&amp;nbsp;.Range(.Cells(startRow,&amp;nbsp;seeStartCol&amp;nbsp;+&amp;nbsp;colOffset),&amp;nbsp;.Cells(startRow&amp;nbsp;+&amp;nbsp;6,&amp;nbsp;seeStartCol&amp;nbsp;+&amp;nbsp;colOffset&amp;nbsp;+&amp;nbsp;2)).Borders &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.LineStyle&amp;nbsp;=&amp;nbsp;xlContinuous &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.Weight&amp;nbsp;=&amp;nbsp;xlThin &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;With &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.Range(.Cells(startRow,&amp;nbsp;seeStartCol&amp;nbsp;+&amp;nbsp;colOffset),&amp;nbsp;.Cells(startRow&amp;nbsp;+&amp;nbsp;6,&amp;nbsp;seeStartCol&amp;nbsp;+&amp;nbsp;colOffset&amp;nbsp;+&amp;nbsp;2)).BorderAround&amp;nbsp;_ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;LineStyle:=xlContinuous,&amp;nbsp;Weight:=xlMedium &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Next&amp;nbsp;i &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.Range(&quot;F25:N25&quot;).HorizontalAlignment&amp;nbsp;=&amp;nbsp;xlCenter &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;전체&amp;nbsp;SEE&amp;nbsp;섹션&amp;nbsp;외곽&amp;nbsp;테두리 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.Range(&quot;F&quot;&amp;nbsp;&amp;amp;&amp;nbsp;(startRow&amp;nbsp;-&amp;nbsp;1)&amp;nbsp;&amp;amp;&amp;nbsp;&quot;:N&quot;&amp;nbsp;&amp;amp;&amp;nbsp;(startRow&amp;nbsp;+&amp;nbsp;6)).BorderAround&amp;nbsp;LineStyle:=xlContinuous,&amp;nbsp;Weight:=xlMedium &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;With &lt;br /&gt;End&amp;nbsp;Sub &lt;br /&gt;&lt;br /&gt;'&amp;nbsp;체크박스&amp;nbsp;추가&amp;nbsp;(F4:F22) &lt;br /&gt;Sub&amp;nbsp;AddCheckboxes() &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;i&amp;nbsp;As&amp;nbsp;Integer &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;chkBox&amp;nbsp;As&amp;nbsp;CheckBox &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;cellRange&amp;nbsp;As&amp;nbsp;Range &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;With&amp;nbsp;targetSheet &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;F4부터&amp;nbsp;F22까지&amp;nbsp;체크박스&amp;nbsp;추가 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;For&amp;nbsp;i&amp;nbsp;=&amp;nbsp;4&amp;nbsp;To&amp;nbsp;22 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set&amp;nbsp;cellRange&amp;nbsp;=&amp;nbsp;.Range(&quot;F&quot;&amp;nbsp;&amp;amp;&amp;nbsp;i) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;체크박스&amp;nbsp;추가 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set&amp;nbsp;chkBox&amp;nbsp;=&amp;nbsp;.CheckBoxes.Add(cellRange.Left&amp;nbsp;+&amp;nbsp;2,&amp;nbsp;cellRange.Top&amp;nbsp;+&amp;nbsp;2,&amp;nbsp;cellRange.Width&amp;nbsp;-&amp;nbsp;4,&amp;nbsp;cellRange.Height&amp;nbsp;-&amp;nbsp;4) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;With&amp;nbsp;chkBox &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.Caption&amp;nbsp;=&amp;nbsp;&quot;&quot;&amp;nbsp;&amp;nbsp;'&amp;nbsp;캡션&amp;nbsp;제거 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.Value&amp;nbsp;=&amp;nbsp;xlOff&amp;nbsp;&amp;nbsp;'&amp;nbsp;체크&amp;nbsp;해제&amp;nbsp;상태 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.Display3DShading&amp;nbsp;=&amp;nbsp;False &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;With &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Next&amp;nbsp;i &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;With &lt;br /&gt;End&amp;nbsp;Sub &lt;br /&gt;&lt;br /&gt;Private&amp;nbsp;Sub&amp;nbsp;printPreviewHorizontal() &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;sht&amp;nbsp;As&amp;nbsp;Worksheet &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;Workbooks.Count&amp;nbsp;&amp;lt;&amp;nbsp;1&amp;nbsp;Then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;MsgBox&amp;nbsp;&quot;열려있는&amp;nbsp;파일이&amp;nbsp;없습니다.&quot; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Exit&amp;nbsp;Sub &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;If &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;For&amp;nbsp;Each&amp;nbsp;sht&amp;nbsp;In&amp;nbsp;ActiveWindow.SelectedSheets &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;With&amp;nbsp;sht.PageSetup &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.LeftMargin&amp;nbsp;=&amp;nbsp;Application.InchesToPoints(0.3): &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.RightMargin&amp;nbsp;=&amp;nbsp;Application.InchesToPoints(0.5) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.TopMargin&amp;nbsp;=&amp;nbsp;Application.InchesToPoints(0.5): &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.BottomMargin&amp;nbsp;=&amp;nbsp;Application.InchesToPoints(0.4) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.HeaderMargin&amp;nbsp;=&amp;nbsp;Application.InchesToPoints(0.315): &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.FooterMargin&amp;nbsp;=&amp;nbsp;Application.InchesToPoints(0.197) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.CenterHorizontally&amp;nbsp;=&amp;nbsp;True &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.Orientation&amp;nbsp;=&amp;nbsp;xlLandscape: &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.PrintComments&amp;nbsp;=&amp;nbsp;xlPrintInPlace &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.Zoom&amp;nbsp;=&amp;nbsp;False: &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.FitToPagesWide&amp;nbsp;=&amp;nbsp;1: &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.FitToPagesTall&amp;nbsp;=&amp;nbsp;False &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;With &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Next&amp;nbsp;sht &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;'&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ActiveWindow.SelectedSheets.PrintPreview &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;End&amp;nbsp;Sub &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;3. 실행&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Alt + F8 키로 매크로 실행 창 열기&lt;/li&gt;
&lt;li&gt;CreatePDSDiary 선택 후 실행&lt;/li&gt;
&lt;li&gt;날짜 입력 (예: 2025-10-27)&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;주의사항&lt;/h2&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;&lt;b&gt;시트 이름 중복&lt;/b&gt;: 같은 날짜의 다이어리는 생성되지 않습니다&lt;/li&gt;
&lt;li&gt;&lt;b&gt;체크박스 개수&lt;/b&gt;: 시간 블록 개수에 맞춰 자동 조정됩니다&lt;/li&gt;
&lt;li&gt;&lt;b&gt;인쇄 설정&lt;/b&gt;: 가로 방향, A4 용지 기준으로 최적화되어 있습니다&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;figure class=&quot;fileblock&quot; data-ke-align=&quot;alignCenter&quot;&gt;&lt;a href=&quot;https://blog.kakaocdn.net/dn/b2DfPB/dJMb9VGxCou/jvA4MDN2YrhAjbtPqSi7Mk/PDS%20%EB%8B%A4%EC%9D%B4%EC%96%B4%EB%A6%AC.xlsm?attach=1&amp;amp;knm=tfile.xlsm&quot; class=&quot;&quot;&gt;
    &lt;div class=&quot;image&quot;&gt;&lt;/div&gt;
    &lt;div class=&quot;desc&quot;&gt;&lt;div class=&quot;filename&quot;&gt;&lt;span class=&quot;name&quot;&gt;PDS 다이어리.xlsm&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;size&quot;&gt;0.04MB&lt;/div&gt;
&lt;/div&gt;
  &lt;/a&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>DATA</category>
      <category>엑셀VBA #PDS다이어리 #업무자동화 #생산성향상 #VBA코드 #일정관리 #시간관리 #KPT회고 #엑셀매크로 #오피스자동화</category>
      <author>노만e</author>
      <guid isPermaLink="true">https://dream2049.tistory.com/194</guid>
      <comments>https://dream2049.tistory.com/194#entry194comment</comments>
      <pubDate>Sun, 26 Oct 2025 22:38:18 +0900</pubDate>
    </item>
    <item>
      <title>엑셀 VBA로 불필요한 행 자동 삭제 하기</title>
      <link>https://dream2049.tistory.com/193</link>
      <description>&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2753&quot; data-origin-height=&quot;756&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/Am3xm/dJMb9Nof8iT/Xoj1G6t7zkkdtIV9VFWAQ1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/Am3xm/dJMb9Nof8iT/Xoj1G6t7zkkdtIV9VFWAQ1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/Am3xm/dJMb9Nof8iT/Xoj1G6t7zkkdtIV9VFWAQ1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FAm3xm%2FdJMb9Nof8iT%2FXoj1G6t7zkkdtIV9VFWAQ1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;918&quot; height=&quot;252&quot; data-origin-width=&quot;2753&quot; data-origin-height=&quot;756&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #1c1c1e; text-align: start;&quot; data-sentry-source-file=&quot;MarkdownContent.tsx&quot; data-sentry-component=&quot;H2&quot; data-ke-size=&quot;size26&quot;&gt;들어가며&lt;/h2&gt;
&lt;p style=&quot;background-color: #ffffff; color: #1c1c1e; text-align: start;&quot; data-sentry-source-file=&quot;MarkdownContent.tsx&quot; data-sentry-component=&quot;P&quot; data-ke-size=&quot;size16&quot;&gt;대량의 엑셀 데이터에서 &lt;b&gt;특정 항목이 포함된 행을 일괄 삭제&lt;/b&gt;해야 할 때가 있으신가요? 수백, 수천 개의 행을 일일이 찾아 삭제하는 것은 시간 낭비이자 실수의 위험이 큽니다.&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #1c1c1e; text-align: start;&quot; data-sentry-source-file=&quot;MarkdownContent.tsx&quot; data-sentry-component=&quot;P&quot; data-ke-size=&quot;size16&quot;&gt;오늘은 &lt;b&gt;불필요한 데이터 행을 자동으로 찾아 삭제하고 정렬까지 해주는 VBA 매크로&lt;/b&gt;를 소개합니다. 이 매크로 하나면 복잡한 데이터 정리 작업이 클릭 몇 번으로 끝납니다!&lt;/p&gt;
&lt;hr data-sentry-source-file=&quot;MarkdownContent.tsx&quot; data-sentry-component=&quot;Hr&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #1c1c1e; text-align: start;&quot; data-sentry-source-file=&quot;MarkdownContent.tsx&quot; data-sentry-component=&quot;H2&quot; data-ke-size=&quot;size26&quot;&gt;매크로 주요 기능&lt;/h2&gt;
&lt;h3 style=&quot;background-color: #ffffff; color: #1c1c1e; text-align: start;&quot; data-sentry-source-file=&quot;MarkdownContent.tsx&quot; data-sentry-component=&quot;H3&quot; data-ke-size=&quot;size23&quot;&gt;✨ 핵심 기능 한눈에 보기&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc; background-color: #ffffff; color: #1c1c1e; text-align: start;&quot; data-sentry-source-file=&quot;MarkdownContent.tsx&quot; data-sentry-component=&quot;Ul&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-sentry-source-file=&quot;MarkdownContent.tsx&quot; data-sentry-component=&quot;Li&quot;&gt;✅&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;b&gt;다중 항목 일괄 삭제&lt;/b&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;- 여러 개의 제거 항목을 한 번에 처리&lt;/li&gt;
&lt;li data-sentry-source-file=&quot;MarkdownContent.tsx&quot; data-sentry-component=&quot;Li&quot;&gt;✅&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;b&gt;시각적 확인&lt;/b&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;- 삭제될 행을 빨간색으로 표시하여 사전 확인&lt;/li&gt;
&lt;li data-sentry-source-file=&quot;MarkdownContent.tsx&quot; data-sentry-component=&quot;Li&quot;&gt;✅&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;b&gt;안전한 삭제&lt;/b&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;- 자동필터를 활용한 정확한 행 삭제&lt;/li&gt;
&lt;li data-sentry-source-file=&quot;MarkdownContent.tsx&quot; data-sentry-component=&quot;Li&quot;&gt;✅&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;b&gt;자동 정렬&lt;/b&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;- 삭제 후 첫 번째 열 기준 오름차순 정렬&lt;/li&gt;
&lt;li data-sentry-source-file=&quot;MarkdownContent.tsx&quot; data-sentry-component=&quot;Li&quot;&gt;✅&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;b&gt;진행 상황 보고&lt;/b&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;- 삭제된 행 개수와 처리 결과 안내&lt;/li&gt;
&lt;li data-sentry-source-file=&quot;MarkdownContent.tsx&quot; data-sentry-component=&quot;Li&quot;&gt;✅&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;b&gt;유연한 범위 설정&lt;/b&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;- 원하는 데이터 범위와 기준 열 자유 선택&lt;/li&gt;
&lt;/ul&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 100%;&quot;&gt;Sub&amp;nbsp;불필요한데이터행삭제2() &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;ws&amp;nbsp;As&amp;nbsp;Worksheet &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;제거항목범위&amp;nbsp;As&amp;nbsp;Range &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;데이터범위&amp;nbsp;As&amp;nbsp;Range &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;삭제열범위&amp;nbsp;As&amp;nbsp;Range &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;삭제열&amp;nbsp;As&amp;nbsp;Long &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;제거항목&amp;nbsp;As&amp;nbsp;Variant &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;제거항목배열()&amp;nbsp;As&amp;nbsp;String &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;i&amp;nbsp;As&amp;nbsp;Long,&amp;nbsp;j&amp;nbsp;As&amp;nbsp;Long &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;마지막행&amp;nbsp;As&amp;nbsp;Long &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;찾은셀&amp;nbsp;As&amp;nbsp;Range &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;첫주소&amp;nbsp;As&amp;nbsp;String &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;색칠개수&amp;nbsp;As&amp;nbsp;Long &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;항목개수&amp;nbsp;As&amp;nbsp;Long &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;데이터시작열&amp;nbsp;As&amp;nbsp;Long &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;데이터끝열&amp;nbsp;As&amp;nbsp;Long &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set&amp;nbsp;ws&amp;nbsp;=&amp;nbsp;ActiveSheet &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;On&amp;nbsp;Error&amp;nbsp;Resume&amp;nbsp;Next &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;1단계:&amp;nbsp;데이터&amp;nbsp;범위&amp;nbsp;선택 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set&amp;nbsp;데이터범위&amp;nbsp;=&amp;nbsp;Application.InputBox(&quot;전체&amp;nbsp;데이터&amp;nbsp;범위를&amp;nbsp;선택하세요&quot;&amp;nbsp;&amp;amp;&amp;nbsp;vbCrLf&amp;nbsp;&amp;amp;&amp;nbsp;&quot;(헤더&amp;nbsp;포함)&quot;,&amp;nbsp;&quot;데이터&amp;nbsp;범위&amp;nbsp;선택&quot;,&amp;nbsp;Type:=8) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;데이터범위&amp;nbsp;Is&amp;nbsp;Nothing&amp;nbsp;Then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;MsgBox&amp;nbsp;&quot;취소되었습니다.&quot; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Exit&amp;nbsp;Sub &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;If &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;ws.AutoFilterMode&amp;nbsp;Then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;데이터범위.Cells(1,&amp;nbsp;1).AutoFilter &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;If &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;데이터시작열&amp;nbsp;=&amp;nbsp;데이터범위.Column &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;데이터끝열&amp;nbsp;=&amp;nbsp;데이터범위.Column&amp;nbsp;+&amp;nbsp;데이터범위.Columns.Count&amp;nbsp;-&amp;nbsp;1 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;마지막행&amp;nbsp;=&amp;nbsp;데이터범위.Row&amp;nbsp;+&amp;nbsp;데이터범위.Rows.Count&amp;nbsp;-&amp;nbsp;1 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;2단계:&amp;nbsp;삭제할&amp;nbsp;데이터가&amp;nbsp;있는&amp;nbsp;열&amp;nbsp;선택 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set&amp;nbsp;삭제열범위&amp;nbsp;=&amp;nbsp;Application.InputBox(&quot;삭제할&amp;nbsp;데이터가&amp;nbsp;있는&amp;nbsp;열의&amp;nbsp;셀을&amp;nbsp;하나&amp;nbsp;선택하세요&quot;&amp;nbsp;&amp;amp;&amp;nbsp;vbCrLf&amp;nbsp;&amp;amp;&amp;nbsp;&quot;(해당&amp;nbsp;열의&amp;nbsp;아무&amp;nbsp;셀이나&amp;nbsp;클릭)&quot;,&amp;nbsp;&quot;삭제&amp;nbsp;기준&amp;nbsp;열&amp;nbsp;선택&quot;,&amp;nbsp;Type:=8) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;삭제열범위&amp;nbsp;Is&amp;nbsp;Nothing&amp;nbsp;Then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;MsgBox&amp;nbsp;&quot;취소되었습니다.&quot; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Exit&amp;nbsp;Sub &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;If &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;선택한&amp;nbsp;범위의&amp;nbsp;첫&amp;nbsp;번째&amp;nbsp;셀의&amp;nbsp;열&amp;nbsp;번호&amp;nbsp;가져오기 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;삭제열&amp;nbsp;=&amp;nbsp;삭제열범위.Cells(1,&amp;nbsp;1).Column &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;삭제열이&amp;nbsp;데이터&amp;nbsp;범위&amp;nbsp;내에&amp;nbsp;있는지&amp;nbsp;확인 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;삭제열&amp;nbsp;&amp;lt;&amp;nbsp;데이터시작열&amp;nbsp;Or&amp;nbsp;삭제열&amp;nbsp;&amp;gt;&amp;nbsp;데이터끝열&amp;nbsp;Then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;MsgBox&amp;nbsp;&quot;선택한&amp;nbsp;열이&amp;nbsp;데이터&amp;nbsp;범위&amp;nbsp;내에&amp;nbsp;없습니다.&quot;,&amp;nbsp;vbExclamation &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Exit&amp;nbsp;Sub &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;If &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;3단계:&amp;nbsp;제거할&amp;nbsp;항목&amp;nbsp;범위&amp;nbsp;선택 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set&amp;nbsp;제거항목범위&amp;nbsp;=&amp;nbsp;Application.InputBox(&quot;제거할&amp;nbsp;항목이&amp;nbsp;있는&amp;nbsp;범위를&amp;nbsp;선택하세요&quot;,&amp;nbsp;&quot;제거&amp;nbsp;항목&amp;nbsp;범위&amp;nbsp;선택&quot;,&amp;nbsp;Type:=8) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;제거항목범위&amp;nbsp;Is&amp;nbsp;Nothing&amp;nbsp;Then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;MsgBox&amp;nbsp;&quot;취소되었습니다.&quot; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Exit&amp;nbsp;Sub &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;If &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;제거할&amp;nbsp;항목을&amp;nbsp;배열로&amp;nbsp;저장 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;항목개수&amp;nbsp;=&amp;nbsp;0 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ReDim&amp;nbsp;제거항목배열(1&amp;nbsp;To&amp;nbsp;제거항목범위.Cells.Count) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;For&amp;nbsp;Each&amp;nbsp;제거항목&amp;nbsp;In&amp;nbsp;제거항목범위 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;제거항목.Value&amp;nbsp;&amp;lt;&amp;gt;&amp;nbsp;&quot;&quot;&amp;nbsp;Then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;항목개수&amp;nbsp;=&amp;nbsp;항목개수&amp;nbsp;+&amp;nbsp;1 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;제거항목배열(항목개수)&amp;nbsp;=&amp;nbsp;CStr(제거항목.Value) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;If &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Next&amp;nbsp;제거항목 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;항목개수&amp;nbsp;=&amp;nbsp;0&amp;nbsp;Then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;MsgBox&amp;nbsp;&quot;제거할&amp;nbsp;항목이&amp;nbsp;없습니다.&quot; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Exit&amp;nbsp;Sub &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;If &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ReDim&amp;nbsp;Preserve&amp;nbsp;제거항목배열(1&amp;nbsp;To&amp;nbsp;항목개수) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Application.ScreenUpdating&amp;nbsp;=&amp;nbsp;False &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;4단계:&amp;nbsp;제거할&amp;nbsp;항목과&amp;nbsp;일치하는&amp;nbsp;셀에&amp;nbsp;빨간색&amp;nbsp;칠하기 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;색칠개수&amp;nbsp;=&amp;nbsp;0 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;For&amp;nbsp;i&amp;nbsp;=&amp;nbsp;데이터범위.Row&amp;nbsp;+&amp;nbsp;1&amp;nbsp;To&amp;nbsp;마지막행&amp;nbsp;&amp;nbsp;'&amp;nbsp;헤더&amp;nbsp;제외 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;For&amp;nbsp;j&amp;nbsp;=&amp;nbsp;1&amp;nbsp;To&amp;nbsp;항목개수 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;ws.Cells(i,&amp;nbsp;삭제열).Value&amp;nbsp;=&amp;nbsp;제거항목배열(j)&amp;nbsp;Then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ws.Cells(i,&amp;nbsp;삭제열).Interior.Color&amp;nbsp;=&amp;nbsp;RGB(255,&amp;nbsp;0,&amp;nbsp;0) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;색칠개수&amp;nbsp;=&amp;nbsp;색칠개수&amp;nbsp;+&amp;nbsp;1 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Exit&amp;nbsp;For &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;If &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Next&amp;nbsp;j &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Next&amp;nbsp;i &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;5단계:&amp;nbsp;모든&amp;nbsp;제거&amp;nbsp;항목이&amp;nbsp;색칠되었는지&amp;nbsp;확인 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;항목확인개수&amp;nbsp;As&amp;nbsp;Long &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;항목확인개수&amp;nbsp;=&amp;nbsp;0 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;For&amp;nbsp;j&amp;nbsp;=&amp;nbsp;1&amp;nbsp;To&amp;nbsp;항목개수 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set&amp;nbsp;찾은셀&amp;nbsp;=&amp;nbsp;ws.Range(ws.Cells(데이터범위.Row&amp;nbsp;+&amp;nbsp;1,&amp;nbsp;삭제열),&amp;nbsp;ws.Cells(마지막행,&amp;nbsp;삭제열)).Find(What:=제거항목배열(j),&amp;nbsp;LookIn:=xlValues,&amp;nbsp;LookAt:=xlWhole) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;Not&amp;nbsp;찾은셀&amp;nbsp;Is&amp;nbsp;Nothing&amp;nbsp;Then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;첫주소&amp;nbsp;=&amp;nbsp;찾은셀.Address &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Do &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;찾은셀.Interior.Color&amp;nbsp;=&amp;nbsp;RGB(255,&amp;nbsp;0,&amp;nbsp;0)&amp;nbsp;Then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;항목확인개수&amp;nbsp;=&amp;nbsp;항목확인개수&amp;nbsp;+&amp;nbsp;1 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Exit&amp;nbsp;Do &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;If &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set&amp;nbsp;찾은셀&amp;nbsp;=&amp;nbsp;ws.Range(ws.Cells(데이터범위.Row&amp;nbsp;+&amp;nbsp;1,&amp;nbsp;삭제열),&amp;nbsp;ws.Cells(마지막행,&amp;nbsp;삭제열)).FindNext(찾은셀) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Loop&amp;nbsp;While&amp;nbsp;Not&amp;nbsp;찾은셀&amp;nbsp;Is&amp;nbsp;Nothing&amp;nbsp;And&amp;nbsp;찾은셀.Address&amp;nbsp;&amp;lt;&amp;gt;&amp;nbsp;첫주소 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;If &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Next&amp;nbsp;j &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;항목확인개수&amp;nbsp;&amp;lt;&amp;nbsp;항목개수&amp;nbsp;Then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;MsgBox&amp;nbsp;&quot;일부&amp;nbsp;제거&amp;nbsp;항목이&amp;nbsp;데이터에서&amp;nbsp;발견되지&amp;nbsp;않았습니다.&quot;&amp;nbsp;&amp;amp;&amp;nbsp;vbCrLf&amp;nbsp;&amp;amp;&amp;nbsp;_ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&quot;발견된&amp;nbsp;항목:&amp;nbsp;&quot;&amp;nbsp;&amp;amp;&amp;nbsp;항목확인개수&amp;nbsp;&amp;amp;&amp;nbsp;&quot;&amp;nbsp;/&amp;nbsp;&quot;&amp;nbsp;&amp;amp;&amp;nbsp;항목개수,&amp;nbsp;vbExclamation &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;If &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;6단계:&amp;nbsp;자동필터&amp;nbsp;적용&amp;nbsp;및&amp;nbsp;빨간색&amp;nbsp;행&amp;nbsp;삭제 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;색칠개수&amp;nbsp;&amp;gt;&amp;nbsp;0&amp;nbsp;Then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;기존&amp;nbsp;필터&amp;nbsp;제거 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;ws.AutoFilterMode&amp;nbsp;Then&amp;nbsp;ws.AutoFilterMode&amp;nbsp;=&amp;nbsp;False &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;자동필터&amp;nbsp;적용 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;데이터범위.AutoFilter &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;삭제열의&amp;nbsp;필드&amp;nbsp;번호&amp;nbsp;계산&amp;nbsp;(데이터범위&amp;nbsp;내에서의&amp;nbsp;상대적&amp;nbsp;위치) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;필드번호&amp;nbsp;As&amp;nbsp;Long &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;필드번호&amp;nbsp;=&amp;nbsp;삭제열&amp;nbsp;-&amp;nbsp;데이터시작열&amp;nbsp;+&amp;nbsp;1 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;빨간색으로&amp;nbsp;칠해진&amp;nbsp;셀&amp;nbsp;필터링 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;데이터범위.AutoFilter&amp;nbsp;Field:=필드번호,&amp;nbsp;Criteria1:=RGB(255,&amp;nbsp;0,&amp;nbsp;0),&amp;nbsp;Operator:=xlFilterCellColor &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;필터된&amp;nbsp;행&amp;nbsp;삭제&amp;nbsp;(헤더&amp;nbsp;제외) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;On&amp;nbsp;Error&amp;nbsp;Resume&amp;nbsp;Next &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;삭제범위&amp;nbsp;As&amp;nbsp;Range &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set&amp;nbsp;삭제범위&amp;nbsp;=&amp;nbsp;ws.Range(ws.Cells(데이터범위.Row&amp;nbsp;+&amp;nbsp;1,&amp;nbsp;데이터시작열),&amp;nbsp;ws.Cells(마지막행,&amp;nbsp;데이터끝열)) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;삭제범위.SpecialCells(xlCellTypeVisible).EntireRow.Clear &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;On&amp;nbsp;Error&amp;nbsp;GoTo&amp;nbsp;0 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;필터&amp;nbsp;해제 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;데이터범위.Cells(1,&amp;nbsp;1).AutoFilter &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;새로운&amp;nbsp;마지막&amp;nbsp;행&amp;nbsp;찾기 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;마지막행&amp;nbsp;=&amp;nbsp;ws.Cells(ws.Rows.Count,&amp;nbsp;데이터시작열).End(xlUp).Row &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;7단계:&amp;nbsp;A열&amp;nbsp;기준&amp;nbsp;오름차순&amp;nbsp;정렬 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;마지막행&amp;nbsp;&amp;gt;&amp;nbsp;데이터범위.Row&amp;nbsp;Then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set&amp;nbsp;데이터범위&amp;nbsp;=&amp;nbsp;ws.Range(ws.Cells(데이터범위.Row,&amp;nbsp;데이터시작열),&amp;nbsp;ws.Cells(마지막행,&amp;nbsp;데이터끝열)) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;데이터범위.Sort&amp;nbsp;Key1:=ws.Cells(데이터범위.Row,&amp;nbsp;데이터시작열),&amp;nbsp;Order1:=xlAscending,&amp;nbsp;Header:=xlYes &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;If &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;MsgBox&amp;nbsp;색칠개수&amp;nbsp;&amp;amp;&amp;nbsp;&quot;개의&amp;nbsp;행이&amp;nbsp;삭제되었고,&amp;nbsp;첫&amp;nbsp;번째&amp;nbsp;열&amp;nbsp;기준으로&amp;nbsp;정렬되었습니다.&quot;,&amp;nbsp;vbInformation &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Else &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;MsgBox&amp;nbsp;&quot;삭제할&amp;nbsp;데이터가&amp;nbsp;없습니다.&quot;,&amp;nbsp;vbInformation &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;If &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Application.ScreenUpdating&amp;nbsp;=&amp;nbsp;True &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;End&amp;nbsp;Sub &lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #1c1c1e; text-align: start;&quot; data-sentry-source-file=&quot;MarkdownContent.tsx&quot; data-sentry-component=&quot;H2&quot; data-ke-size=&quot;size26&quot;&gt;사용 방법 상세 가이드&lt;/h2&gt;
&lt;h3 style=&quot;background-color: #ffffff; color: #1c1c1e; text-align: start;&quot; data-sentry-source-file=&quot;MarkdownContent.tsx&quot; data-sentry-component=&quot;H3&quot; data-ke-size=&quot;size23&quot;&gt;  Step 1: VBA 편집기 열기&lt;/h3&gt;
&lt;ol style=&quot;list-style-type: decimal; background-color: #ffffff; color: #1c1c1e; text-align: start;&quot; data-sentry-source-file=&quot;MarkdownContent.tsx&quot; data-sentry-component=&quot;Ol&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li data-sentry-source-file=&quot;MarkdownContent.tsx&quot; data-sentry-component=&quot;Li&quot;&gt;&lt;b&gt;엑셀 파일 열기&lt;/b&gt;&lt;/li&gt;
&lt;li data-sentry-source-file=&quot;MarkdownContent.tsx&quot; data-sentry-component=&quot;Li&quot;&gt;&lt;span style=&quot;background-color: #ecedef; color: #1c1c1e;&quot; data-sentry-source-file=&quot;MarkdownContent.tsx&quot; data-sentry-component=&quot;Code&quot;&gt;Alt + F11&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;키를 눌러 VBA 편집기 실행&lt;/li&gt;
&lt;li data-sentry-source-file=&quot;MarkdownContent.tsx&quot; data-sentry-component=&quot;Li&quot;&gt;&lt;b&gt;삽입 &amp;gt; 모듈&lt;/b&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;선택&lt;/li&gt;
&lt;li data-sentry-source-file=&quot;MarkdownContent.tsx&quot; data-sentry-component=&quot;Li&quot;&gt;위의 코드를 복사하여 붙여넣기&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 style=&quot;background-color: #ffffff; color: #1c1c1e; text-align: start;&quot; data-sentry-source-file=&quot;MarkdownContent.tsx&quot; data-sentry-component=&quot;H3&quot; data-ke-size=&quot;size23&quot;&gt;  Step 2: 매크로 실행&lt;/h3&gt;
&lt;ol style=&quot;list-style-type: decimal; background-color: #ffffff; color: #1c1c1e; text-align: start;&quot; data-sentry-source-file=&quot;MarkdownContent.tsx&quot; data-sentry-component=&quot;Ol&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li data-sentry-source-file=&quot;MarkdownContent.tsx&quot; data-sentry-component=&quot;Li&quot;&gt;&lt;span style=&quot;background-color: #ecedef; color: #1c1c1e;&quot; data-sentry-source-file=&quot;MarkdownContent.tsx&quot; data-sentry-component=&quot;Code&quot;&gt;Alt + F8&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;키를 눌러 매크로 대화상자 열기&lt;/li&gt;
&lt;li data-sentry-source-file=&quot;MarkdownContent.tsx&quot; data-sentry-component=&quot;Li&quot;&gt;&lt;span style=&quot;background-color: #ecedef; color: #1c1c1e;&quot; data-sentry-source-file=&quot;MarkdownContent.tsx&quot; data-sentry-component=&quot;Code&quot;&gt;불필요한데이터행삭제2&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;선택 후&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;b&gt;실행&lt;/b&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;클릭&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 style=&quot;background-color: #ffffff; color: #1c1c1e; text-align: start;&quot; data-sentry-source-file=&quot;MarkdownContent.tsx&quot; data-sentry-component=&quot;H3&quot; data-ke-size=&quot;size23&quot;&gt;  Step 3: 데이터 범위 선택&lt;/h3&gt;
&lt;p style=&quot;background-color: #ffffff; color: #1c1c1e; text-align: start;&quot; data-sentry-source-file=&quot;MarkdownContent.tsx&quot; data-sentry-component=&quot;P&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;첫 번째 대화상자가 나타나면:&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc; background-color: #ffffff; color: #1c1c1e; text-align: start;&quot; data-sentry-source-file=&quot;MarkdownContent.tsx&quot; data-sentry-component=&quot;Ul&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-sentry-source-file=&quot;MarkdownContent.tsx&quot; data-sentry-component=&quot;Li&quot;&gt;삭제 작업을 수행할&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;b&gt;전체 데이터 범위를 드래그&lt;/b&gt;하여 선택&lt;/li&gt;
&lt;li data-sentry-source-file=&quot;MarkdownContent.tsx&quot; data-sentry-component=&quot;Li&quot;&gt;⚠️&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;b&gt;헤더(제목 행)를 반드시 포함&lt;/b&gt;해야 합니다&lt;/li&gt;
&lt;li data-sentry-source-file=&quot;MarkdownContent.tsx&quot; data-sentry-component=&quot;Li&quot;&gt;예:&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;background-color: #ecedef; color: #1c1c1e;&quot; data-sentry-source-file=&quot;MarkdownContent.tsx&quot; data-sentry-component=&quot;Code&quot;&gt;A1:F100&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;(A열부터 F열까지, 1행부터 100행까지)&lt;/li&gt;
&lt;/ul&gt;
&lt;div style=&quot;background-color: #ffffff; color: #1c1c1e; text-align: start;&quot; data-sentry-source-file=&quot;MarkdownContent.tsx&quot; data-sentry-component=&quot;Pre&quot;&gt;
&lt;div style=&quot;background-color: #000000; color: #ffffff;&quot;&gt;
&lt;div style=&quot;background-color: #323437;&quot;&gt;&lt;span style=&quot;color: #dadbdf;&quot;&gt;text&lt;/span&gt;복사&lt;/div&gt;
&lt;div&gt;
&lt;pre class=&quot;angelscript&quot;&gt;&lt;code&gt;┌─────────┬─────────┬─────────┬─────────┐
│ 이름    │ 부서    │ 상태    │ 금액    │ &amp;larr; 헤더 포함!
├─────────┼─────────┼─────────┼─────────┤
│ 홍길동  │ 영업    │ 완료    │ 10000   │
│ 김철수  │ 개발    │ 대기    │ 20000   │
└─────────┴─────────┴─────────┴─────────┘
&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;h3 style=&quot;background-color: #ffffff; color: #1c1c1e; text-align: start;&quot; data-sentry-source-file=&quot;MarkdownContent.tsx&quot; data-sentry-component=&quot;H3&quot; data-ke-size=&quot;size23&quot;&gt;  Step 4: 삭제 기준 열 선택&lt;/h3&gt;
&lt;p style=&quot;background-color: #ffffff; color: #1c1c1e; text-align: start;&quot; data-sentry-source-file=&quot;MarkdownContent.tsx&quot; data-sentry-component=&quot;P&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;두 번째 대화상자가 나타나면:&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc; background-color: #ffffff; color: #1c1c1e; text-align: start;&quot; data-sentry-source-file=&quot;MarkdownContent.tsx&quot; data-sentry-component=&quot;Ul&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-sentry-source-file=&quot;MarkdownContent.tsx&quot; data-sentry-component=&quot;Li&quot;&gt;삭제 기준이 되는&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;b&gt;열의 아무 셀이나 클릭&lt;/b&gt;&lt;/li&gt;
&lt;li data-sentry-source-file=&quot;MarkdownContent.tsx&quot; data-sentry-component=&quot;Li&quot;&gt;예: &quot;상태&quot; 열에서 특정 값을 가진 행을 삭제하려면 &quot;상태&quot; 열의 아무 셀이나 클릭&lt;/li&gt;
&lt;/ul&gt;
&lt;div style=&quot;background-color: #ffffff; color: #1c1c1e; text-align: start;&quot; data-sentry-source-file=&quot;MarkdownContent.tsx&quot; data-sentry-component=&quot;Pre&quot;&gt;
&lt;div style=&quot;background-color: #000000; color: #ffffff;&quot;&gt;
&lt;div style=&quot;background-color: #323437;&quot;&gt;&lt;span style=&quot;color: #dadbdf;&quot;&gt;text&lt;/span&gt;복사&lt;/div&gt;
&lt;div&gt;
&lt;pre class=&quot;gcode&quot;&gt;&lt;code&gt;예시: C열(상태)을 기준으로 삭제하려면 C열의 아무 셀이나 클릭
&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;h3 style=&quot;background-color: #ffffff; color: #1c1c1e; text-align: start;&quot; data-sentry-source-file=&quot;MarkdownContent.tsx&quot; data-sentry-component=&quot;H3&quot; data-ke-size=&quot;size23&quot;&gt;  Step 5: 제거할 항목 선택&lt;/h3&gt;
&lt;p style=&quot;background-color: #ffffff; color: #1c1c1e; text-align: start;&quot; data-sentry-source-file=&quot;MarkdownContent.tsx&quot; data-sentry-component=&quot;P&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;세 번째 대화상자가 나타나면:&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc; background-color: #ffffff; color: #1c1c1e; text-align: start;&quot; data-sentry-source-file=&quot;MarkdownContent.tsx&quot; data-sentry-component=&quot;Ul&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-sentry-source-file=&quot;MarkdownContent.tsx&quot; data-sentry-component=&quot;Li&quot;&gt;삭제하고 싶은&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;b&gt;항목들이 나열된 범위를 선택&lt;/b&gt;&lt;/li&gt;
&lt;li data-sentry-source-file=&quot;MarkdownContent.tsx&quot; data-sentry-component=&quot;Li&quot;&gt;여러 셀을 선택할 수 있습니다 (연속/불연속 모두 가능)&lt;/li&gt;
&lt;/ul&gt;
&lt;div style=&quot;background-color: #ffffff; color: #1c1c1e; text-align: start;&quot; data-sentry-source-file=&quot;MarkdownContent.tsx&quot; data-sentry-component=&quot;Pre&quot;&gt;
&lt;div style=&quot;background-color: #000000; color: #ffffff;&quot;&gt;
&lt;div style=&quot;background-color: #323437;&quot;&gt;&lt;span style=&quot;color: #dadbdf;&quot;&gt;text&lt;/span&gt;복사&lt;/div&gt;
&lt;div&gt;
&lt;pre class=&quot;erlang&quot;&gt;&lt;code&gt;예시: 제거할 항목 목록
┌─────────┐
│ 대기    │
│ 취소    │
│ 보류    │
└─────────┘
이 범위를 선택하면 &quot;대기&quot;, &quot;취소&quot;, &quot;보류&quot; 상태인 모든 행이 삭제됩니다.
&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;h3 style=&quot;background-color: #ffffff; color: #1c1c1e; text-align: start;&quot; data-sentry-source-file=&quot;MarkdownContent.tsx&quot; data-sentry-component=&quot;H3&quot; data-ke-size=&quot;size23&quot;&gt;  Step 6: 자동 처리 및 결과 확인&lt;/h3&gt;
&lt;p style=&quot;background-color: #ffffff; color: #1c1c1e; text-align: start;&quot; data-sentry-source-file=&quot;MarkdownContent.tsx&quot; data-sentry-component=&quot;P&quot; data-ke-size=&quot;size16&quot;&gt;매크로가 자동으로:&lt;/p&gt;
&lt;ol style=&quot;list-style-type: decimal; background-color: #ffffff; color: #1c1c1e; text-align: start;&quot; data-sentry-source-file=&quot;MarkdownContent.tsx&quot; data-sentry-component=&quot;Ol&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li data-sentry-source-file=&quot;MarkdownContent.tsx&quot; data-sentry-component=&quot;Li&quot;&gt;✅ 해당 항목이 있는 행을&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;b&gt;빨간색으로 표시&lt;/b&gt;&lt;/li&gt;
&lt;li data-sentry-source-file=&quot;MarkdownContent.tsx&quot; data-sentry-component=&quot;Li&quot;&gt;✅ 자동필터를 적용하여&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;b&gt;빨간색 행만 삭제&lt;/b&gt;&lt;/li&gt;
&lt;li data-sentry-source-file=&quot;MarkdownContent.tsx&quot; data-sentry-component=&quot;Li&quot;&gt;✅ 첫 번째 열 기준으로&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;b&gt;오름차순 정렬&lt;/b&gt;&lt;/li&gt;
&lt;li data-sentry-source-file=&quot;MarkdownContent.tsx&quot; data-sentry-component=&quot;Li&quot;&gt;✅ 삭제된 행 개수를&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;b&gt;메시지로 표시&lt;/b&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;fileblock&quot; data-ke-align=&quot;alignCenter&quot;&gt;&lt;a href=&quot;https://blog.kakaocdn.net/dn/qfS09/dJMb9WZJcmO/sWlSffPdX3lwAKRNcFsnd0/%EB%B6%88%ED%95%84%EC%9A%94%ED%95%9C%20%EB%8D%B0%EC%9D%B4%ED%84%B0%20%EC%82%AD%EC%A0%9C.xlsm?attach=1&amp;amp;knm=tfile.xlsm&quot; class=&quot;&quot;&gt;
    &lt;div class=&quot;image&quot;&gt;&lt;/div&gt;
    &lt;div class=&quot;desc&quot;&gt;&lt;div class=&quot;filename&quot;&gt;&lt;span class=&quot;name&quot;&gt;불필요한 데이터 삭제.xlsm&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;size&quot;&gt;0.04MB&lt;/div&gt;
&lt;/div&gt;
  &lt;/a&gt;&lt;/figure&gt;
&lt;/p&gt;</description>
      <category>DATA</category>
      <author>노만e</author>
      <guid isPermaLink="true">https://dream2049.tistory.com/193</guid>
      <comments>https://dream2049.tistory.com/193#entry193comment</comments>
      <pubDate>Sun, 19 Oct 2025 13:33:49 +0900</pubDate>
    </item>
    <item>
      <title>엑셀 VBA로 색상별 셀 선택 후 다중 영역 복사/붙여넣 - 실무 자동화 완벽 가이드</title>
      <link>https://dream2049.tistory.com/192</link>
      <description>&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2000&quot; data-origin-height=&quot;959&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cVxcZT/dJMb9OAG7XQ/7WJ0ouq2GNNHloJnt0agmK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cVxcZT/dJMb9OAG7XQ/7WJ0ouq2GNNHloJnt0agmK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cVxcZT/dJMb9OAG7XQ/7WJ0ouq2GNNHloJnt0agmK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcVxcZT%2FdJMb9OAG7XQ%2F7WJ0ouq2GNNHloJnt0agmK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;2000&quot; height=&quot;959&quot; data-origin-width=&quot;2000&quot; data-origin-height=&quot;959&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #1c1c1e; text-align: start;&quot; data-sentry-source-file=&quot;MarkdownContent.tsx&quot; data-sentry-component=&quot;H2&quot; data-ke-size=&quot;size26&quot;&gt;&amp;nbsp;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #1c1c1e; text-align: start;&quot; data-sentry-source-file=&quot;MarkdownContent.tsx&quot; data-sentry-component=&quot;H2&quot; data-ke-size=&quot;size26&quot;&gt;들어가며&lt;/h2&gt;
&lt;p style=&quot;background-color: #ffffff; color: #1c1c1e; text-align: start;&quot; data-sentry-source-file=&quot;MarkdownContent.tsx&quot; data-sentry-component=&quot;P&quot; data-ke-size=&quot;size16&quot;&gt;엑셀 작업 중 &lt;b&gt;특정 색상의 셀만 선택&lt;/b&gt;하거나, &lt;b&gt;불연속적인 범위를 열 단위로 정리&lt;/b&gt;해야 할 때가 있으신가요? 수작업으로 하면 시간도 오래 걸리고 실수하기도 쉽죠. 오늘은 이런 반복 작업을 &lt;b&gt;VBA 매크로로 자동화&lt;/b&gt;하는 방법을 소개합니다.&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #1c1c1e; text-align: start;&quot; data-sentry-source-file=&quot;MarkdownContent.tsx&quot; data-sentry-component=&quot;P&quot; data-ke-size=&quot;size16&quot;&gt;이 글에서는 두 가지 강력한 VBA 코드를 제공합니다:&lt;/p&gt;
&lt;ol style=&quot;list-style-type: decimal; background-color: #ffffff; color: #1c1c1e; text-align: start;&quot; data-sentry-source-file=&quot;MarkdownContent.tsx&quot; data-sentry-component=&quot;Ol&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li data-sentry-source-file=&quot;MarkdownContent.tsx&quot; data-sentry-component=&quot;Li&quot;&gt;&lt;b&gt;색상별 셀 자동 선택 매크로&lt;/b&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;- 배경색이나 글꼴색이 같은 셀을 한 번에 선택&lt;/li&gt;
&lt;li data-sentry-source-file=&quot;MarkdownContent.tsx&quot; data-sentry-component=&quot;Li&quot;&gt;&lt;b&gt;선택 범위 열 단위 복사 매크로&lt;/b&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;- 불연속 범위를 깔끔하게 열 단위로 정리&lt;/li&gt;
&lt;/ol&gt;
&lt;hr data-sentry-source-file=&quot;MarkdownContent.tsx&quot; data-sentry-component=&quot;Hr&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #1c1c1e; text-align: start;&quot; data-sentry-source-file=&quot;MarkdownContent.tsx&quot; data-sentry-component=&quot;H2&quot; data-ke-size=&quot;size26&quot;&gt;1. 색상별 셀 자동 선택 매크로 (SelectSameColorCellsAdvanced2)&lt;/h2&gt;
&lt;h3 style=&quot;background-color: #ffffff; color: #1c1c1e; text-align: start;&quot; data-sentry-source-file=&quot;MarkdownContent.tsx&quot; data-sentry-component=&quot;H3&quot; data-ke-size=&quot;size23&quot;&gt;기능 소개&lt;/h3&gt;
&lt;p style=&quot;background-color: #ffffff; color: #1c1c1e; text-align: start;&quot; data-sentry-source-file=&quot;MarkdownContent.tsx&quot; data-sentry-component=&quot;P&quot; data-ke-size=&quot;size16&quot;&gt;이 매크로는 &lt;b&gt;특정 색상의 셀을 자동으로 찾아 선택&lt;/b&gt;해주는 도구입니다.&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #1c1c1e; text-align: start;&quot; data-sentry-source-file=&quot;MarkdownContent.tsx&quot; data-sentry-component=&quot;P&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;주요 기능:&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc; background-color: #ffffff; color: #1c1c1e; text-align: start;&quot; data-sentry-source-file=&quot;MarkdownContent.tsx&quot; data-sentry-component=&quot;Ul&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-sentry-source-file=&quot;MarkdownContent.tsx&quot; data-sentry-component=&quot;Li&quot;&gt;✅ 배경색 또는 글꼴색 선택 가능&lt;/li&gt;
&lt;li data-sentry-source-file=&quot;MarkdownContent.tsx&quot; data-sentry-component=&quot;Li&quot;&gt;✅ 사용 중인 영역 자동 인식 또는 수동 범위 지정&lt;/li&gt;
&lt;li data-sentry-source-file=&quot;MarkdownContent.tsx&quot; data-sentry-component=&quot;Li&quot;&gt;✅ 기준 셀 선택만으로 같은 색상 일괄 선택&lt;/li&gt;
&lt;li data-sentry-source-file=&quot;MarkdownContent.tsx&quot; data-sentry-component=&quot;Li&quot;&gt;✅ 선택된 셀 개수 자동 카운트&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 style=&quot;background-color: #ffffff; color: #1c1c1e; text-align: start;&quot; data-sentry-source-file=&quot;MarkdownContent.tsx&quot; data-sentry-component=&quot;H3&quot; data-ke-size=&quot;size23&quot;&gt;사용 방법&lt;/h3&gt;
&lt;h4 style=&quot;background-color: #ffffff; color: #1c1c1e; text-align: start;&quot; data-sentry-source-file=&quot;MarkdownContent.tsx&quot; data-sentry-component=&quot;H4&quot; data-ke-size=&quot;size20&quot;&gt;Step 1: VBA 편집기 열기&lt;/h4&gt;
&lt;ul style=&quot;list-style-type: disc; background-color: #ffffff; color: #1c1c1e; text-align: start;&quot; data-sentry-source-file=&quot;MarkdownContent.tsx&quot; data-sentry-component=&quot;Ul&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-sentry-source-file=&quot;MarkdownContent.tsx&quot; data-sentry-component=&quot;Li&quot;&gt;&lt;span style=&quot;background-color: #ecedef; color: #1c1c1e;&quot; data-sentry-source-file=&quot;MarkdownContent.tsx&quot; data-sentry-component=&quot;Code&quot;&gt;Alt + F11&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;키를 눌러 VBA 편집기를 엽니다&lt;/li&gt;
&lt;li data-sentry-source-file=&quot;MarkdownContent.tsx&quot; data-sentry-component=&quot;Li&quot;&gt;삽입 &amp;gt; 모듈을 선택하여 새 모듈을 만듭니다&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 style=&quot;background-color: #ffffff; color: #1c1c1e; text-align: start;&quot; data-sentry-source-file=&quot;MarkdownContent.tsx&quot; data-sentry-component=&quot;H4&quot; data-ke-size=&quot;size20&quot;&gt;Step 2: 코드 입력&lt;/h4&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 100%;&quot;&gt;Sub&amp;nbsp;SelectSameColorCellsAdvanced2() &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;searchRange&amp;nbsp;As&amp;nbsp;Range &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;colorCell&amp;nbsp;As&amp;nbsp;Range &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;targetColor&amp;nbsp;As&amp;nbsp;Long &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;cell&amp;nbsp;As&amp;nbsp;Range &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;resultRange&amp;nbsp;As&amp;nbsp;Range &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;response&amp;nbsp;As&amp;nbsp;VbMsgBoxResult &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;colorType&amp;nbsp;As&amp;nbsp;String &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;1.&amp;nbsp;범위&amp;nbsp;선택&amp;nbsp;방식&amp;nbsp;결정 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;response&amp;nbsp;=&amp;nbsp;MsgBox(&quot;현재&amp;nbsp;사용&amp;nbsp;중인&amp;nbsp;영역을&amp;nbsp;자동으로&amp;nbsp;선택하시겠습니까?&quot;&amp;nbsp;&amp;amp;&amp;nbsp;vbCrLf&amp;nbsp;&amp;amp;&amp;nbsp;vbCrLf&amp;nbsp;&amp;amp;&amp;nbsp;_ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&quot;예&amp;nbsp;=&amp;nbsp;사용&amp;nbsp;중인&amp;nbsp;영역&amp;nbsp;자동&amp;nbsp;선택&quot;&amp;nbsp;&amp;amp;&amp;nbsp;vbCrLf&amp;nbsp;&amp;amp;&amp;nbsp;_ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&quot;아니오&amp;nbsp;=&amp;nbsp;직접&amp;nbsp;범위&amp;nbsp;선택&quot;,&amp;nbsp;vbYesNoCancel&amp;nbsp;+&amp;nbsp;vbQuestion,&amp;nbsp;&quot;범위&amp;nbsp;선택&quot;) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;response&amp;nbsp;=&amp;nbsp;vbCancel&amp;nbsp;Then&amp;nbsp;Exit&amp;nbsp;Sub &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;검색&amp;nbsp;범위&amp;nbsp;설정 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;response&amp;nbsp;=&amp;nbsp;vbYes&amp;nbsp;Then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set&amp;nbsp;searchRange&amp;nbsp;=&amp;nbsp;ActiveSheet.UsedRange &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;MsgBox&amp;nbsp;&quot;검색&amp;nbsp;범위:&amp;nbsp;&quot;&amp;nbsp;&amp;amp;&amp;nbsp;searchRange.Address&amp;nbsp;&amp;amp;&amp;nbsp;vbCrLf&amp;nbsp;&amp;amp;&amp;nbsp;_ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&quot;(&quot;&amp;nbsp;&amp;amp;&amp;nbsp;searchRange.Rows.Count&amp;nbsp;&amp;amp;&amp;nbsp;&quot;행&amp;nbsp;x&amp;nbsp;&quot;&amp;nbsp;&amp;amp;&amp;nbsp;searchRange.Columns.Count&amp;nbsp;&amp;amp;&amp;nbsp;&quot;열)&quot;,&amp;nbsp;vbInformation &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Else &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;On&amp;nbsp;Error&amp;nbsp;Resume&amp;nbsp;Next &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set&amp;nbsp;searchRange&amp;nbsp;=&amp;nbsp;Application.InputBox(&quot;검색할&amp;nbsp;범위를&amp;nbsp;선택하세요&quot;,&amp;nbsp;&quot;범위&amp;nbsp;선택&quot;,&amp;nbsp;Type:=8) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;On&amp;nbsp;Error&amp;nbsp;GoTo&amp;nbsp;0 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;searchRange&amp;nbsp;Is&amp;nbsp;Nothing&amp;nbsp;Then&amp;nbsp;Exit&amp;nbsp;Sub &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;If &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;2.&amp;nbsp;색상&amp;nbsp;유형&amp;nbsp;선택&amp;nbsp;(배경색&amp;nbsp;or&amp;nbsp;글꼴색) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;response&amp;nbsp;=&amp;nbsp;MsgBox(&quot;어떤&amp;nbsp;색상을&amp;nbsp;기준으로&amp;nbsp;하시겠습니까?&quot;&amp;nbsp;&amp;amp;&amp;nbsp;vbCrLf&amp;nbsp;&amp;amp;&amp;nbsp;vbCrLf&amp;nbsp;&amp;amp;&amp;nbsp;_ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&quot;예&amp;nbsp;=&amp;nbsp;배경색&quot;&amp;nbsp;&amp;amp;&amp;nbsp;vbCrLf&amp;nbsp;&amp;amp;&amp;nbsp;_ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&quot;아니오&amp;nbsp;=&amp;nbsp;글꼴색&quot;,&amp;nbsp;vbYesNoCancel&amp;nbsp;+&amp;nbsp;vbQuestion,&amp;nbsp;&quot;색상&amp;nbsp;유형&quot;) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;response&amp;nbsp;=&amp;nbsp;vbCancel&amp;nbsp;Then&amp;nbsp;Exit&amp;nbsp;Sub &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;response&amp;nbsp;=&amp;nbsp;vbYes&amp;nbsp;Then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;colorType&amp;nbsp;=&amp;nbsp;&quot;배경색&quot; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Else &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;colorType&amp;nbsp;=&amp;nbsp;&quot;글꼴색&quot; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;If &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;On&amp;nbsp;Error&amp;nbsp;Resume&amp;nbsp;Next &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set&amp;nbsp;colorCell&amp;nbsp;=&amp;nbsp;Application.InputBox(colorType&amp;nbsp;&amp;amp;&amp;nbsp;&quot;&amp;nbsp;기준&amp;nbsp;셀을&amp;nbsp;선택하세요&quot;,&amp;nbsp;&quot;색상&amp;nbsp;선택&quot;,&amp;nbsp;Type:=8) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;On&amp;nbsp;Error&amp;nbsp;GoTo&amp;nbsp;0 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;colorCell&amp;nbsp;Is&amp;nbsp;Nothing&amp;nbsp;Then&amp;nbsp;Exit&amp;nbsp;Sub &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;선택한&amp;nbsp;셀의&amp;nbsp;색상&amp;nbsp;가져오기 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;colorType&amp;nbsp;=&amp;nbsp;&quot;배경색&quot;&amp;nbsp;Then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;targetColor&amp;nbsp;=&amp;nbsp;colorCell.Interior.Color &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Else &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;targetColor&amp;nbsp;=&amp;nbsp;colorCell.Font.Color &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;If &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;4.&amp;nbsp;같은&amp;nbsp;색상의&amp;nbsp;셀&amp;nbsp;찾기 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;For&amp;nbsp;Each&amp;nbsp;cell&amp;nbsp;In&amp;nbsp;searchRange &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;cellColor&amp;nbsp;As&amp;nbsp;Long &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;colorType&amp;nbsp;=&amp;nbsp;&quot;배경색&quot;&amp;nbsp;Then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;cellColor&amp;nbsp;=&amp;nbsp;cell.Interior.Color &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Else &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;cellColor&amp;nbsp;=&amp;nbsp;cell.Font.Color &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;If &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;cellColor&amp;nbsp;=&amp;nbsp;targetColor&amp;nbsp;Then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;resultRange&amp;nbsp;Is&amp;nbsp;Nothing&amp;nbsp;Then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set&amp;nbsp;resultRange&amp;nbsp;=&amp;nbsp;cell &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Else &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set&amp;nbsp;resultRange&amp;nbsp;=&amp;nbsp;Union(resultRange,&amp;nbsp;cell) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;If &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;If &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Next&amp;nbsp;cell &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;5.&amp;nbsp;결과&amp;nbsp;표시 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;resultRange&amp;nbsp;Is&amp;nbsp;Nothing&amp;nbsp;Then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;MsgBox&amp;nbsp;&quot;같은&amp;nbsp;&quot;&amp;nbsp;&amp;amp;&amp;nbsp;colorType&amp;nbsp;&amp;amp;&amp;nbsp;&quot;의&amp;nbsp;셀을&amp;nbsp;찾을&amp;nbsp;수&amp;nbsp;없습니다.&quot;,&amp;nbsp;vbExclamation &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Else &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;resultRange.Select &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;MsgBox&amp;nbsp;&quot;같은&amp;nbsp;&quot;&amp;nbsp;&amp;amp;&amp;nbsp;colorType&amp;nbsp;&amp;amp;&amp;nbsp;&quot;의&amp;nbsp;셀&amp;nbsp;&quot;&amp;nbsp;&amp;amp;&amp;nbsp;resultRange.Cells.Count&amp;nbsp;&amp;amp;&amp;nbsp;&quot;개를&amp;nbsp;선택했습니다.&quot;,&amp;nbsp;vbInformation &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;If &lt;br /&gt;End&amp;nbsp;Sub &lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h4 style=&quot;background-color: #ffffff; color: #1c1c1e; text-align: start;&quot; data-sentry-source-file=&quot;MarkdownContent.tsx&quot; data-sentry-component=&quot;H4&quot; data-ke-size=&quot;size20&quot;&gt;Step 3: 매크로 실행&lt;/h4&gt;
&lt;ol style=&quot;list-style-type: decimal; background-color: #ffffff; color: #1c1c1e; text-align: start;&quot; data-sentry-source-file=&quot;MarkdownContent.tsx&quot; data-sentry-component=&quot;Ol&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li data-sentry-source-file=&quot;MarkdownContent.tsx&quot; data-sentry-component=&quot;Li&quot;&gt;&lt;span style=&quot;background-color: #ecedef; color: #1c1c1e;&quot; data-sentry-source-file=&quot;MarkdownContent.tsx&quot; data-sentry-component=&quot;Code&quot;&gt;Alt + F8&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;키를 눌러 매크로 대화상자를 엽니다&lt;/li&gt;
&lt;li data-sentry-source-file=&quot;MarkdownContent.tsx&quot; data-sentry-component=&quot;Li&quot;&gt;&lt;span style=&quot;background-color: #ecedef; color: #1c1c1e;&quot; data-sentry-source-file=&quot;MarkdownContent.tsx&quot; data-sentry-component=&quot;Code&quot;&gt;SelectSameColorCellsAdvanced2&lt;/span&gt;를 선택하고 실행합니다&lt;/li&gt;
&lt;li data-sentry-source-file=&quot;MarkdownContent.tsx&quot; data-sentry-component=&quot;Li&quot;&gt;안내에 따라 범위와 색상을 선택합니다&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 style=&quot;background-color: #ffffff; color: #1c1c1e; text-align: start;&quot; data-sentry-source-file=&quot;MarkdownContent.tsx&quot; data-sentry-component=&quot;H3&quot; data-ke-size=&quot;size23&quot;&gt;활용 예시&lt;/h3&gt;
&lt;p style=&quot;background-color: #ffffff; color: #1c1c1e; text-align: start;&quot; data-sentry-source-file=&quot;MarkdownContent.tsx&quot; data-sentry-component=&quot;P&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;  데이터 분석 시나리오:&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc; background-color: #ffffff; color: #1c1c1e; text-align: start;&quot; data-sentry-source-file=&quot;MarkdownContent.tsx&quot; data-sentry-component=&quot;Ul&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-sentry-source-file=&quot;MarkdownContent.tsx&quot; data-sentry-component=&quot;Li&quot;&gt;노란색으로 표시된 중요 데이터만 추출&lt;/li&gt;
&lt;li data-sentry-source-file=&quot;MarkdownContent.tsx&quot; data-sentry-component=&quot;Li&quot;&gt;빨간색 글꼴로 표시된 오류 항목 일괄 수정&lt;/li&gt;
&lt;li data-sentry-source-file=&quot;MarkdownContent.tsx&quot; data-sentry-component=&quot;Li&quot;&gt;초록색 배경의 완료 항목 카운트&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #1c1c1e; text-align: start;&quot; data-sentry-source-file=&quot;MarkdownContent.tsx&quot; data-sentry-component=&quot;H2&quot; data-ke-size=&quot;size26&quot;&gt;2. 선택 범위 열 단위 복사 매크로 (CopyRangesByColumnScan2)&lt;/h2&gt;
&lt;h3 style=&quot;background-color: #ffffff; color: #1c1c1e; text-align: start;&quot; data-sentry-source-file=&quot;MarkdownContent.tsx&quot; data-sentry-component=&quot;H3&quot; data-ke-size=&quot;size23&quot;&gt;기능 소개&lt;/h3&gt;
&lt;p style=&quot;background-color: #ffffff; color: #1c1c1e; text-align: start;&quot; data-sentry-source-file=&quot;MarkdownContent.tsx&quot; data-sentry-component=&quot;P&quot; data-ke-size=&quot;size16&quot;&gt;불연속적으로 선택된 셀들을 &lt;b&gt;열 단위로 정리하여 복사&lt;/b&gt;하는 매크로입니다.&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #1c1c1e; text-align: start;&quot; data-sentry-source-file=&quot;MarkdownContent.tsx&quot; data-sentry-component=&quot;P&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;주요 기능:&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc; background-color: #ffffff; color: #1c1c1e; text-align: start;&quot; data-sentry-source-file=&quot;MarkdownContent.tsx&quot; data-sentry-component=&quot;Ul&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-sentry-source-file=&quot;MarkdownContent.tsx&quot; data-sentry-component=&quot;Li&quot;&gt;✅ 불연속 범위 자동 인식&lt;/li&gt;
&lt;li data-sentry-source-file=&quot;MarkdownContent.tsx&quot; data-sentry-component=&quot;Li&quot;&gt;✅ 열 순서대로 데이터 정리&lt;/li&gt;
&lt;li data-sentry-source-file=&quot;MarkdownContent.tsx&quot; data-sentry-component=&quot;Li&quot;&gt;✅ 빈 열 자동 제거&lt;/li&gt;
&lt;li data-sentry-source-file=&quot;MarkdownContent.tsx&quot; data-sentry-component=&quot;Li&quot;&gt;✅ 원하는 위치에 깔끔하게 붙여넣기&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 style=&quot;background-color: #ffffff; color: #1c1c1e; text-align: start;&quot; data-sentry-source-file=&quot;MarkdownContent.tsx&quot; data-sentry-component=&quot;H3&quot; data-ke-size=&quot;size23&quot;&gt;사용 방법&lt;/h3&gt;
&lt;h4 style=&quot;background-color: #ffffff; color: #1c1c1e; text-align: start;&quot; data-sentry-source-file=&quot;MarkdownContent.tsx&quot; data-sentry-component=&quot;H4&quot; data-ke-size=&quot;size20&quot;&gt;코드 입력&lt;span style=&quot;color: #9cdcfe; background-color: #000000; font-size: 16px; letter-spacing: 0px;&quot;&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;/h4&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 100%;&quot;&gt;Sub&amp;nbsp;CopyRangesByColumnScan2() &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;targetRange&amp;nbsp;As&amp;nbsp;Range &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;minCol&amp;nbsp;As&amp;nbsp;Long,&amp;nbsp;maxCol&amp;nbsp;As&amp;nbsp;Long &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;minRow&amp;nbsp;As&amp;nbsp;Long,&amp;nbsp;maxRow&amp;nbsp;As&amp;nbsp;Long &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;currentCol&amp;nbsp;As&amp;nbsp;Long &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;outputCol&amp;nbsp;As&amp;nbsp;Long &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;outputRow&amp;nbsp;As&amp;nbsp;Long &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;cell&amp;nbsp;As&amp;nbsp;Range &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;area&amp;nbsp;As&amp;nbsp;Range &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;선택&amp;nbsp;범위&amp;nbsp;확인 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;Selection&amp;nbsp;Is&amp;nbsp;Nothing&amp;nbsp;Then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;MsgBox&amp;nbsp;&quot;범위를&amp;nbsp;선택해주세요.&quot;,&amp;nbsp;vbExclamation &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Exit&amp;nbsp;Sub &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;If &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;붙여넣을&amp;nbsp;시작&amp;nbsp;위치&amp;nbsp;선택 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;On&amp;nbsp;Error&amp;nbsp;Resume&amp;nbsp;Next &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set&amp;nbsp;targetRange&amp;nbsp;=&amp;nbsp;Application.InputBox(&quot;붙여넣을&amp;nbsp;시작&amp;nbsp;위치를&amp;nbsp;선택하세요&quot;,&amp;nbsp;Type:=8) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;On&amp;nbsp;Error&amp;nbsp;GoTo&amp;nbsp;0 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;targetRange&amp;nbsp;Is&amp;nbsp;Nothing&amp;nbsp;Then&amp;nbsp;Exit&amp;nbsp;Sub &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;선택&amp;nbsp;범위의&amp;nbsp;최소/최대&amp;nbsp;열과&amp;nbsp;행&amp;nbsp;찾기 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;minCol&amp;nbsp;=&amp;nbsp;Selection.Areas(1).Column &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;maxCol&amp;nbsp;=&amp;nbsp;Selection.Areas(1).Column&amp;nbsp;+&amp;nbsp;Selection.Areas(1).Columns.Count&amp;nbsp;-&amp;nbsp;1 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;minRow&amp;nbsp;=&amp;nbsp;Selection.Areas(1).Row &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;maxRow&amp;nbsp;=&amp;nbsp;Selection.Areas(1).Row&amp;nbsp;+&amp;nbsp;Selection.Areas(1).Rows.Count&amp;nbsp;-&amp;nbsp;1 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;For&amp;nbsp;Each&amp;nbsp;area&amp;nbsp;In&amp;nbsp;Selection.Areas &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;area.Column&amp;nbsp;&amp;lt;&amp;nbsp;minCol&amp;nbsp;Then&amp;nbsp;minCol&amp;nbsp;=&amp;nbsp;area.Column &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;area.Column&amp;nbsp;+&amp;nbsp;area.Columns.Count&amp;nbsp;-&amp;nbsp;1&amp;nbsp;&amp;gt;&amp;nbsp;maxCol&amp;nbsp;Then&amp;nbsp;maxCol&amp;nbsp;=&amp;nbsp;area.Column&amp;nbsp;+&amp;nbsp;area.Columns.Count&amp;nbsp;-&amp;nbsp;1 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;area.Row&amp;nbsp;&amp;lt;&amp;nbsp;minRow&amp;nbsp;Then&amp;nbsp;minRow&amp;nbsp;=&amp;nbsp;area.Row &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;area.Row&amp;nbsp;+&amp;nbsp;area.Rows.Count&amp;nbsp;-&amp;nbsp;1&amp;nbsp;&amp;gt;&amp;nbsp;maxRow&amp;nbsp;Then&amp;nbsp;maxRow&amp;nbsp;=&amp;nbsp;area.Row&amp;nbsp;+&amp;nbsp;area.Rows.Count&amp;nbsp;-&amp;nbsp;1 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Next&amp;nbsp;area &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Application.ScreenUpdating&amp;nbsp;=&amp;nbsp;False &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;outputCol&amp;nbsp;=&amp;nbsp;0 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;각&amp;nbsp;열을&amp;nbsp;순회 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;For&amp;nbsp;currentCol&amp;nbsp;=&amp;nbsp;minCol&amp;nbsp;To&amp;nbsp;maxCol &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;outputRow&amp;nbsp;=&amp;nbsp;0 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;해당&amp;nbsp;열에&amp;nbsp;선택된&amp;nbsp;셀이&amp;nbsp;있는지&amp;nbsp;확인하고&amp;nbsp;복사 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;Row&amp;nbsp;As&amp;nbsp;Long &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;For&amp;nbsp;Row&amp;nbsp;=&amp;nbsp;minRow&amp;nbsp;To&amp;nbsp;maxRow &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;checkCell&amp;nbsp;As&amp;nbsp;Range &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set&amp;nbsp;checkCell&amp;nbsp;=&amp;nbsp;Cells(Row,&amp;nbsp;currentCol) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;선택&amp;nbsp;범위에&amp;nbsp;포함되어&amp;nbsp;있는지&amp;nbsp;확인 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;IsCellInSelection(checkCell,&amp;nbsp;Selection)&amp;nbsp;Then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;값&amp;nbsp;복사 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;targetRange.Offset(outputRow,&amp;nbsp;outputCol).Value&amp;nbsp;=&amp;nbsp;checkCell.Value &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;outputRow&amp;nbsp;=&amp;nbsp;outputRow&amp;nbsp;+&amp;nbsp;1 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;If &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Next&amp;nbsp;Row &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;해당&amp;nbsp;열에&amp;nbsp;데이터가&amp;nbsp;있었다면&amp;nbsp;다음&amp;nbsp;출력&amp;nbsp;열로&amp;nbsp;이동 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;outputRow&amp;nbsp;&amp;gt;&amp;nbsp;0&amp;nbsp;Then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;outputCol&amp;nbsp;=&amp;nbsp;outputCol&amp;nbsp;+&amp;nbsp;1 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;If &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Next&amp;nbsp;currentCol &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Application.ScreenUpdating&amp;nbsp;=&amp;nbsp;True &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;MsgBox&amp;nbsp;&quot;복사/붙여넣기&amp;nbsp;완료!&quot;,&amp;nbsp;vbInformation &lt;br /&gt;End&amp;nbsp;Sub &lt;br /&gt;&lt;br /&gt;'&amp;nbsp;셀이&amp;nbsp;선택&amp;nbsp;범위에&amp;nbsp;포함되어&amp;nbsp;있는지&amp;nbsp;확인하는&amp;nbsp;함수 &lt;br /&gt;Function&amp;nbsp;IsCellInSelection(cell&amp;nbsp;As&amp;nbsp;Range,&amp;nbsp;Selection&amp;nbsp;As&amp;nbsp;Range)&amp;nbsp;As&amp;nbsp;Boolean &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;area&amp;nbsp;As&amp;nbsp;Range &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;IsCellInSelection&amp;nbsp;=&amp;nbsp;False &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;For&amp;nbsp;Each&amp;nbsp;area&amp;nbsp;In&amp;nbsp;Selection.Areas &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;Not&amp;nbsp;Intersect(cell,&amp;nbsp;area)&amp;nbsp;Is&amp;nbsp;Nothing&amp;nbsp;Then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;IsCellInSelection&amp;nbsp;=&amp;nbsp;True &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Exit&amp;nbsp;Function &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;If &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Next&amp;nbsp;area &lt;br /&gt;End&amp;nbsp;Function &lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h4 style=&quot;background-color: #ffffff; color: #1c1c1e; text-align: start;&quot; data-sentry-source-file=&quot;MarkdownContent.tsx&quot; data-sentry-component=&quot;H4&quot; data-ke-size=&quot;size20&quot;&gt;실행 방법&lt;/h4&gt;
&lt;ol style=&quot;list-style-type: decimal; background-color: #ffffff; color: #1c1c1e; text-align: start;&quot; data-sentry-source-file=&quot;MarkdownContent.tsx&quot; data-sentry-component=&quot;Ol&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li data-sentry-source-file=&quot;MarkdownContent.tsx&quot; data-sentry-component=&quot;Li&quot;&gt;정리하고 싶은 셀들을&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;background-color: #ecedef; color: #1c1c1e;&quot; data-sentry-source-file=&quot;MarkdownContent.tsx&quot; data-sentry-component=&quot;Code&quot;&gt;Ctrl&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;키를 누른 채 선택합니다&lt;/li&gt;
&lt;li data-sentry-source-file=&quot;MarkdownContent.tsx&quot; data-sentry-component=&quot;Li&quot;&gt;&lt;span style=&quot;background-color: #ecedef; color: #1c1c1e;&quot; data-sentry-source-file=&quot;MarkdownContent.tsx&quot; data-sentry-component=&quot;Code&quot;&gt;Alt + F8&lt;/span&gt;로 매크로 실행&lt;/li&gt;
&lt;li data-sentry-source-file=&quot;MarkdownContent.tsx&quot; data-sentry-component=&quot;Li&quot;&gt;&lt;span style=&quot;background-color: #ecedef; color: #1c1c1e;&quot; data-sentry-source-file=&quot;MarkdownContent.tsx&quot; data-sentry-component=&quot;Code&quot;&gt;CopyRangesByColumnScan2&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;선택&lt;/li&gt;
&lt;li data-sentry-source-file=&quot;MarkdownContent.tsx&quot; data-sentry-component=&quot;Li&quot;&gt;붙여넣을 위치를 클릭합니다&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 style=&quot;background-color: #ffffff; color: #1c1c1e; text-align: start;&quot; data-sentry-source-file=&quot;MarkdownContent.tsx&quot; data-sentry-component=&quot;H3&quot; data-ke-size=&quot;size23&quot;&gt;활용 예시&lt;/h3&gt;
&lt;p style=&quot;background-color: #ffffff; color: #1c1c1e; text-align: start;&quot; data-sentry-source-file=&quot;MarkdownContent.tsx&quot; data-sentry-component=&quot;P&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;  실무 활용 사례:&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc; background-color: #ffffff; color: #1c1c1e; text-align: start;&quot; data-sentry-source-file=&quot;MarkdownContent.tsx&quot; data-sentry-component=&quot;Ul&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-sentry-source-file=&quot;MarkdownContent.tsx&quot; data-sentry-component=&quot;Li&quot;&gt;여러 시트에서 수집한 데이터를 하나로 정리&lt;/li&gt;
&lt;li data-sentry-source-file=&quot;MarkdownContent.tsx&quot; data-sentry-component=&quot;Li&quot;&gt;색상별로 선택한 셀들을 별도 영역에 정리&lt;/li&gt;
&lt;li data-sentry-source-file=&quot;MarkdownContent.tsx&quot; data-sentry-component=&quot;Li&quot;&gt;필터링된 데이터를 깔끔하게 재배치&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-sentry-source-file=&quot;MarkdownContent.tsx&quot; data-sentry-component=&quot;Hr&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #1c1c1e; text-align: start;&quot; data-sentry-source-file=&quot;MarkdownContent.tsx&quot; data-sentry-component=&quot;H2&quot; data-ke-size=&quot;size26&quot;&gt;두 매크로 연계 활용법&lt;/h2&gt;
&lt;h3 style=&quot;background-color: #ffffff; color: #1c1c1e; text-align: start;&quot; data-sentry-source-file=&quot;MarkdownContent.tsx&quot; data-sentry-component=&quot;H3&quot; data-ke-size=&quot;size23&quot;&gt;  완벽한 워크플로우&lt;/h3&gt;
&lt;p style=&quot;background-color: #ffffff; color: #1c1c1e; text-align: start;&quot; data-sentry-source-file=&quot;MarkdownContent.tsx&quot; data-sentry-component=&quot;P&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Step 1:&lt;/b&gt; &lt;span style=&quot;background-color: #ecedef; color: #1c1c1e;&quot; data-sentry-source-file=&quot;MarkdownContent.tsx&quot; data-sentry-component=&quot;Code&quot;&gt;SelectSameColorCellsAdvanced2&lt;/span&gt; 실행&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc; background-color: #ffffff; color: #1c1c1e; text-align: start;&quot; data-sentry-source-file=&quot;MarkdownContent.tsx&quot; data-sentry-component=&quot;Ul&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-sentry-source-file=&quot;MarkdownContent.tsx&quot; data-sentry-component=&quot;Li&quot;&gt;노란색 배경 셀 모두 선택&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;background-color: #ffffff; color: #1c1c1e; text-align: start;&quot; data-sentry-source-file=&quot;MarkdownContent.tsx&quot; data-sentry-component=&quot;P&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Step 2:&lt;/b&gt; &lt;span style=&quot;background-color: #ecedef; color: #1c1c1e;&quot; data-sentry-source-file=&quot;MarkdownContent.tsx&quot; data-sentry-component=&quot;Code&quot;&gt;CopyRangesByColumnScan2&lt;/span&gt; 실행&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc; background-color: #ffffff; color: #1c1c1e; text-align: start;&quot; data-sentry-source-file=&quot;MarkdownContent.tsx&quot; data-sentry-component=&quot;Ul&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-sentry-source-file=&quot;MarkdownContent.tsx&quot; data-sentry-component=&quot;Li&quot;&gt;선택된 셀들을 새 위치에 열 단위로 정리&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;background-color: #ffffff; color: #1c1c1e; text-align: start;&quot; data-sentry-source-file=&quot;MarkdownContent.tsx&quot; data-sentry-component=&quot;P&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;결과:&lt;/b&gt; 색상별로 분류된 데이터가 깔끔하게 정리됩니다!&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #1c1c1e; text-align: start;&quot; data-sentry-source-file=&quot;MarkdownContent.tsx&quot; data-sentry-component=&quot;H2&quot; data-ke-size=&quot;size26&quot;&gt;보안 설정 안내&lt;/h2&gt;
&lt;h3 style=&quot;background-color: #ffffff; color: #1c1c1e; text-align: start;&quot; data-sentry-source-file=&quot;MarkdownContent.tsx&quot; data-sentry-component=&quot;H3&quot; data-ke-size=&quot;size23&quot;&gt;매크로 사용 설정 방법&lt;/h3&gt;
&lt;ol style=&quot;list-style-type: decimal; background-color: #ffffff; color: #1c1c1e; text-align: start;&quot; data-sentry-source-file=&quot;MarkdownContent.tsx&quot; data-sentry-component=&quot;Ol&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li data-sentry-source-file=&quot;MarkdownContent.tsx&quot; data-sentry-component=&quot;Li&quot;&gt;&lt;b&gt;파일 &amp;gt; 옵션 &amp;gt; 보안 센터&lt;/b&gt;&lt;/li&gt;
&lt;li data-sentry-source-file=&quot;MarkdownContent.tsx&quot; data-sentry-component=&quot;Li&quot;&gt;&lt;b&gt;보안 센터 설정 &amp;gt; 매크로 설정&lt;/b&gt;&lt;/li&gt;
&lt;li data-sentry-source-file=&quot;MarkdownContent.tsx&quot; data-sentry-component=&quot;Li&quot;&gt;&lt;b&gt;&quot;모든 매크로 포함&quot; 또는 &quot;디지털 서명된 매크로만&quot;&lt;/b&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;선택&lt;/li&gt;
&lt;/ol&gt;
&lt;p style=&quot;background-color: #ffffff; color: #1c1c1e; text-align: start;&quot; data-sentry-source-file=&quot;MarkdownContent.tsx&quot; data-sentry-component=&quot;P&quot; data-ke-size=&quot;size16&quot;&gt;⚠️ &lt;b&gt;주의:&lt;/b&gt; 신뢰할 수 있는 매크로만 실행하세요!&lt;/p&gt;
&lt;hr data-sentry-source-file=&quot;MarkdownContent.tsx&quot; data-sentry-component=&quot;Hr&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #1c1c1e; text-align: start;&quot; data-sentry-source-file=&quot;MarkdownContent.tsx&quot; data-sentry-component=&quot;H2&quot; data-ke-size=&quot;size26&quot;&gt;마치며&lt;/h2&gt;
&lt;p style=&quot;background-color: #ffffff; color: #1c1c1e; text-align: start;&quot; data-sentry-source-file=&quot;MarkdownContent.tsx&quot; data-sentry-component=&quot;P&quot; data-ke-size=&quot;size16&quot;&gt;오늘 소개한 두 가지 VBA 매크로는 엑셀 실무에서 &lt;b&gt;반복 작업 시간을 획기적으로 단축&lt;/b&gt;시켜줍니다.&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #1c1c1e; text-align: start;&quot; data-sentry-source-file=&quot;MarkdownContent.tsx&quot; data-sentry-component=&quot;P&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;핵심 요약:&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc; background-color: #ffffff; color: #1c1c1e; text-align: start;&quot; data-sentry-source-file=&quot;MarkdownContent.tsx&quot; data-sentry-component=&quot;Ul&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-sentry-source-file=&quot;MarkdownContent.tsx&quot; data-sentry-component=&quot;Li&quot;&gt;✅ 색상별 셀 자동 선택으로 데이터 분류 자동화&lt;/li&gt;
&lt;li data-sentry-source-file=&quot;MarkdownContent.tsx&quot; data-sentry-component=&quot;Li&quot;&gt;✅ 열 단위 복사로 불연속 데이터 정리&lt;/li&gt;
&lt;li data-sentry-source-file=&quot;MarkdownContent.tsx&quot; data-sentry-component=&quot;Li&quot;&gt;✅ 두 매크로 연계로 완벽한 데이터 정리 워크플로우 구축&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;background-color: #ffffff; color: #1c1c1e; text-align: start;&quot; data-sentry-source-file=&quot;MarkdownContent.tsx&quot; data-sentry-component=&quot;P&quot; data-ke-size=&quot;size16&quot;&gt;코드를 복사해서 바로 사용하시고, 필요에 따라 커스터마이징해보세요.&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #1c1c1e; text-align: start;&quot; data-sentry-source-file=&quot;MarkdownContent.tsx&quot; data-sentry-component=&quot;P&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;fileblock&quot; data-ke-align=&quot;alignCenter&quot;&gt;&lt;a href=&quot;https://blog.kakaocdn.net/dn/bTa3DD/dJMb83EzfJa/hH6gY1opTv4KfBNkzt7r3k/%EA%B0%99%EC%9D%80%20%EC%83%89%EC%83%81%EC%9D%98%20%EC%85%80%EB%A7%8C%20%EC%84%A0%ED%83%9D_%EB%B3%B5%EC%82%AC%EB%B6%99%EC%97%AC%EB%84%A3%EA%B8%B0.xlsm?attach=1&amp;amp;knm=tfile.xlsm&quot; class=&quot;&quot;&gt;
    &lt;div class=&quot;image&quot;&gt;&lt;/div&gt;
    &lt;div class=&quot;desc&quot;&gt;&lt;div class=&quot;filename&quot;&gt;&lt;span class=&quot;name&quot;&gt;같은 색상의 셀만 선택_복사붙여넣기.xlsm&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;size&quot;&gt;0.03MB&lt;/div&gt;
&lt;/div&gt;
  &lt;/a&gt;&lt;/figure&gt;
&lt;/p&gt;</description>
      <category>Range 개체</category>
      <category>#엑셀VBA #엑셀매크로 #엑셀자동화 #VBA코드 #엑셀</category>
      <author>노만e</author>
      <guid isPermaLink="true">https://dream2049.tistory.com/192</guid>
      <comments>https://dream2049.tistory.com/192#entry192comment</comments>
      <pubDate>Sat, 18 Oct 2025 16:24:28 +0900</pubDate>
    </item>
    <item>
      <title>Excel VBA 매크로로 셀 크기 자동 조정하기 - 업무 효율 10배 높이는 방법</title>
      <link>https://dream2049.tistory.com/191</link>
      <description>&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1642&quot; data-origin-height=&quot;851&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/be6dGp/btsQ4ONxvJr/EvVLrqCYL8Ua68UexxKjZ0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/be6dGp/btsQ4ONxvJr/EvVLrqCYL8Ua68UexxKjZ0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/be6dGp/btsQ4ONxvJr/EvVLrqCYL8Ua68UexxKjZ0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbe6dGp%2FbtsQ4ONxvJr%2FEvVLrqCYL8Ua68UexxKjZ0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1642&quot; height=&quot;851&quot; data-origin-width=&quot;1642&quot; data-origin-height=&quot;851&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #1c1c1e; text-align: start;&quot; data-sentry-source-file=&quot;MarkdownContent.tsx&quot; data-sentry-component=&quot;H2&quot; data-ke-size=&quot;size26&quot;&gt;&amp;nbsp;&lt;/h2&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #1c1c1e; text-align: start;&quot; data-sentry-source-file=&quot;MarkdownContent.tsx&quot; data-sentry-component=&quot;H2&quot; data-ke-size=&quot;size26&quot;&gt;들어가며&lt;/h2&gt;
&lt;p style=&quot;background-color: #ffffff; color: #1c1c1e; text-align: start;&quot; data-sentry-source-file=&quot;MarkdownContent.tsx&quot; data-sentry-component=&quot;P&quot; data-ke-size=&quot;size16&quot;&gt;Excel 작업을 하다 보면 &lt;b&gt;셀 크기 조정&lt;/b&gt; 때문에 시간을 많이 낭비하게 됩니다. 특히 대량의 데이터를 다룰 때 일일이 행 높이와 열 너비를 조정하는 것은 정말 번거로운 일이죠.&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #1c1c1e; text-align: start;&quot; data-sentry-source-file=&quot;MarkdownContent.tsx&quot; data-sentry-component=&quot;P&quot; data-ke-size=&quot;size16&quot;&gt;오늘은 &lt;b&gt;VBA 매크로&lt;/b&gt;를 활용해서 이런 반복 작업을 자동화하는 방법을 알려드리겠습니다. 한 번 설정해두면 클릭 한 번으로 모든 셀 크기가 자동으로 조정됩니다!&lt;/p&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #1c1c1e; text-align: start;&quot; data-sentry-source-file=&quot;MarkdownContent.tsx&quot; data-sentry-component=&quot;H2&quot; data-ke-size=&quot;size26&quot;&gt;  이런 분들에게 추천합니다&lt;/h2&gt;
&lt;ul style=&quot;list-style-type: disc; background-color: #ffffff; color: #1c1c1e; text-align: start;&quot; data-sentry-source-file=&quot;MarkdownContent.tsx&quot; data-sentry-component=&quot;Ul&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-sentry-source-file=&quot;MarkdownContent.tsx&quot; data-sentry-component=&quot;Li&quot;&gt;Excel로 보고서를 자주 만드는 직장인&lt;/li&gt;
&lt;li data-sentry-source-file=&quot;MarkdownContent.tsx&quot; data-sentry-component=&quot;Li&quot;&gt;대량의 데이터를 정리해야 하는 분석가&lt;/li&gt;
&lt;li data-sentry-source-file=&quot;MarkdownContent.tsx&quot; data-sentry-component=&quot;Li&quot;&gt;반복 작업을 줄이고 싶은 모든 Excel 사용자&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #1c1c1e; text-align: start;&quot; data-sentry-source-file=&quot;MarkdownContent.tsx&quot; data-sentry-component=&quot;H2&quot; data-ke-size=&quot;size26&quot;&gt;  기본 VBA 매크로 코드&lt;/h2&gt;
&lt;p style=&quot;background-color: #ffffff; color: #1c1c1e; text-align: start;&quot; data-sentry-source-file=&quot;MarkdownContent.tsx&quot; data-sentry-component=&quot;P&quot; data-ke-size=&quot;size16&quot;&gt;먼저 가장 기본적인 자동 조정 매크로부터 살펴보겠습니다.&lt;/p&gt;
&lt;div style=&quot;background-color: #ffffff; color: #1c1c1e; text-align: start;&quot; data-sentry-source-file=&quot;MarkdownContent.tsx&quot; data-sentry-component=&quot;Pre&quot;&gt;
&lt;div style=&quot;background-color: #000000; color: #ffffff;&quot;&gt;
&lt;div style=&quot;background-color: #323437;&quot;&gt;&lt;span style=&quot;color: #dadbdf;&quot;&gt;vba&lt;/span&gt;복사&lt;/div&gt;
&lt;div&gt;
&lt;div style=&quot;color: #9cdcfe;&quot;&gt;&lt;span&gt;Sub QuickAutoFit()&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;color: #9cdcfe;&quot;&gt;&lt;span&gt; On Error Resume Next&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;color: #9cdcfe;&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div style=&quot;color: #9cdcfe;&quot;&gt;&lt;span&gt; With Selection.CurrentRegion&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;color: #9cdcfe;&quot;&gt;&lt;span&gt; .WrapText = False&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;color: #9cdcfe;&quot;&gt;&lt;span&gt; .ShrinkToFit = False&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;color: #9cdcfe;&quot;&gt;&lt;span&gt; .Rows.AutoFit&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;color: #9cdcfe;&quot;&gt;&lt;span&gt; .Columns.AutoFit&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;color: #9cdcfe;&quot;&gt;&lt;span&gt; End With&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;color: #9cdcfe;&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div style=&quot;color: #9cdcfe;&quot;&gt;&lt;span&gt; On Error GoTo 0&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;color: #9cdcfe;&quot;&gt;&lt;span&gt;End Sub&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;h3 style=&quot;background-color: #ffffff; color: #1c1c1e; text-align: start;&quot; data-sentry-source-file=&quot;MarkdownContent.tsx&quot; data-sentry-component=&quot;H3&quot; data-ke-size=&quot;size23&quot;&gt;코드 설명&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc; background-color: #ffffff; color: #1c1c1e; text-align: start;&quot; data-sentry-source-file=&quot;MarkdownContent.tsx&quot; data-sentry-component=&quot;Ul&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-sentry-source-file=&quot;MarkdownContent.tsx&quot; data-sentry-component=&quot;Li&quot;&gt;&lt;span style=&quot;background-color: #ecedef; color: #1c1c1e;&quot; data-sentry-source-file=&quot;MarkdownContent.tsx&quot; data-sentry-component=&quot;Code&quot;&gt;Selection.CurrentRegion&lt;/span&gt;: 현재 선택된 셀 주변의 연결된 데이터 영역&lt;/li&gt;
&lt;li data-sentry-source-file=&quot;MarkdownContent.tsx&quot; data-sentry-component=&quot;Li&quot;&gt;&lt;span style=&quot;background-color: #ecedef; color: #1c1c1e;&quot; data-sentry-source-file=&quot;MarkdownContent.tsx&quot; data-sentry-component=&quot;Code&quot;&gt;WrapText = False&lt;/span&gt;: 자동 줄 바꿈 해제&lt;/li&gt;
&lt;li data-sentry-source-file=&quot;MarkdownContent.tsx&quot; data-sentry-component=&quot;Li&quot;&gt;&lt;span style=&quot;background-color: #ecedef; color: #1c1c1e;&quot; data-sentry-source-file=&quot;MarkdownContent.tsx&quot; data-sentry-component=&quot;Code&quot;&gt;Rows.AutoFit&lt;/span&gt;: 행 높이 자동 조정&lt;/li&gt;
&lt;li data-sentry-source-file=&quot;MarkdownContent.tsx&quot; data-sentry-component=&quot;Li&quot;&gt;&lt;span style=&quot;background-color: #ecedef; color: #1c1c1e;&quot; data-sentry-source-file=&quot;MarkdownContent.tsx&quot; data-sentry-component=&quot;Code&quot;&gt;Columns.AutoFit&lt;/span&gt;: 열 너비 자동 조정&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #1c1c1e; text-align: start;&quot; data-sentry-source-file=&quot;MarkdownContent.tsx&quot; data-sentry-component=&quot;H2&quot; data-ke-size=&quot;size26&quot;&gt;  고급 버전 매크로&lt;/h2&gt;
&lt;p style=&quot;background-color: #ffffff; color: #1c1c1e; text-align: start;&quot; data-sentry-source-file=&quot;MarkdownContent.tsx&quot; data-sentry-component=&quot;P&quot; data-ke-size=&quot;size16&quot;&gt;더 많은 기능이 포함된 고급 버전도 준비했습니다.&lt;/p&gt;
&lt;div style=&quot;background-color: #ffffff; color: #1c1c1e; text-align: start;&quot; data-sentry-source-file=&quot;MarkdownContent.tsx&quot; data-sentry-component=&quot;Pre&quot;&gt;
&lt;div style=&quot;background-color: #000000; color: #ffffff;&quot;&gt;
&lt;div style=&quot;background-color: #323437;&quot;&gt;&lt;span style=&quot;color: #dadbdf;&quot;&gt;vba&lt;/span&gt;복사&lt;/div&gt;
&lt;div&gt;
&lt;div style=&quot;color: #9cdcfe;&quot;&gt;&lt;span&gt;Sub AdvancedAutoFit()&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;color: #9cdcfe;&quot;&gt;&lt;span&gt; Dim selectedRange As Range&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;color: #9cdcfe;&quot;&gt;&lt;span&gt; Dim targetRange As Range&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;color: #9cdcfe;&quot;&gt;&lt;span&gt; Dim startTime As Double&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;color: #9cdcfe;&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div style=&quot;color: #9cdcfe;&quot;&gt;&lt;span&gt; startTime = Timer&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;color: #9cdcfe;&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div style=&quot;color: #9cdcfe;&quot;&gt;&lt;span&gt; On Error GoTo ErrorHandler&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;color: #9cdcfe;&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div style=&quot;color: #9cdcfe;&quot;&gt;&lt;span&gt; Set selectedRange = Selection&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;color: #9cdcfe;&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div style=&quot;color: #9cdcfe;&quot;&gt;&lt;span&gt; ' 성능 최적화&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;color: #9cdcfe;&quot;&gt;&lt;span&gt; Application.ScreenUpdating = False&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;color: #9cdcfe;&quot;&gt;&lt;span&gt; Application.Calculation = xlCalculationManual&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;color: #9cdcfe;&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div style=&quot;color: #9cdcfe;&quot;&gt;&lt;span&gt; With selectedRange.CurrentRegion&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;color: #9cdcfe;&quot;&gt;&lt;span&gt; .WrapText = False&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;color: #9cdcfe;&quot;&gt;&lt;span&gt; .ShrinkToFit = False&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;color: #9cdcfe;&quot;&gt;&lt;span&gt; .Rows.AutoFit&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;color: #9cdcfe;&quot;&gt;&lt;span&gt; .Columns.AutoFit&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;color: #9cdcfe;&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div style=&quot;color: #9cdcfe;&quot;&gt;&lt;span&gt; ' 크기 제한 설정&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;color: #9cdcfe;&quot;&gt;&lt;span&gt; Dim col As Range&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;color: #9cdcfe;&quot;&gt;&lt;span&gt; For Each col In .Columns&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;color: #9cdcfe;&quot;&gt;&lt;span&gt; If col.ColumnWidth &amp;gt; 50 Then col.ColumnWidth = 50&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;color: #9cdcfe;&quot;&gt;&lt;span&gt; If col.ColumnWidth &amp;lt; 8 Then col.ColumnWidth = 8&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;color: #9cdcfe;&quot;&gt;&lt;span&gt; Next col&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;color: #9cdcfe;&quot;&gt;&lt;span&gt; End With&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;color: #9cdcfe;&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div style=&quot;color: #9cdcfe;&quot;&gt;&lt;span&gt; ' 실행 시간 표시&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;color: #9cdcfe;&quot;&gt;&lt;span&gt; Application.StatusBar = &quot;자동 조정 완료! (실행시간: &quot; &amp;amp; _&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;color: #9cdcfe;&quot;&gt;&lt;span&gt; Format(Timer - startTime, &quot;0.00&quot;) &amp;amp; &quot;초)&quot;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;color: #9cdcfe;&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div style=&quot;color: #9cdcfe;&quot;&gt;&lt;span&gt; GoTo CleanUp&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;color: #9cdcfe;&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div style=&quot;color: #9cdcfe;&quot;&gt;&lt;span&gt;ErrorHandler:&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;color: #9cdcfe;&quot;&gt;&lt;span&gt; MsgBox &quot;오류 발생: &quot; &amp;amp; Err.Description, vbCritical&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;color: #9cdcfe;&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div style=&quot;color: #9cdcfe;&quot;&gt;&lt;span&gt;CleanUp:&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;color: #9cdcfe;&quot;&gt;&lt;span&gt; Application.ScreenUpdating = True&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;color: #9cdcfe;&quot;&gt;&lt;span&gt; Application.Calculation = xlCalculationAutomatic&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;color: #9cdcfe;&quot;&gt;&lt;span&gt;End Sub&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #1c1c1e; text-align: start;&quot; data-sentry-source-file=&quot;MarkdownContent.tsx&quot; data-sentry-component=&quot;H2&quot; data-ke-size=&quot;size26&quot;&gt;  매크로 등록 및 사용법&lt;/h2&gt;
&lt;h3 style=&quot;background-color: #ffffff; color: #1c1c1e; text-align: start;&quot; data-sentry-source-file=&quot;MarkdownContent.tsx&quot; data-sentry-component=&quot;H3&quot; data-ke-size=&quot;size23&quot;&gt;1단계: VBA 편집기 열기&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc; background-color: #ffffff; color: #1c1c1e; text-align: start;&quot; data-sentry-source-file=&quot;MarkdownContent.tsx&quot; data-sentry-component=&quot;Ul&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-sentry-source-file=&quot;MarkdownContent.tsx&quot; data-sentry-component=&quot;Li&quot;&gt;&lt;span style=&quot;background-color: #ecedef; color: #1c1c1e;&quot; data-sentry-source-file=&quot;MarkdownContent.tsx&quot; data-sentry-component=&quot;Code&quot;&gt;Alt + F11&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;키를 눌러 VBA 편집기를 엽니다&lt;/li&gt;
&lt;li data-sentry-source-file=&quot;MarkdownContent.tsx&quot; data-sentry-component=&quot;Li&quot;&gt;또는 개발 도구 탭 &amp;rarr; Visual Basic 클릭&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 style=&quot;background-color: #ffffff; color: #1c1c1e; text-align: start;&quot; data-sentry-source-file=&quot;MarkdownContent.tsx&quot; data-sentry-component=&quot;H3&quot; data-ke-size=&quot;size23&quot;&gt;2단계: 모듈 삽입&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc; background-color: #ffffff; color: #1c1c1e; text-align: start;&quot; data-sentry-source-file=&quot;MarkdownContent.tsx&quot; data-sentry-component=&quot;Ul&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-sentry-source-file=&quot;MarkdownContent.tsx&quot; data-sentry-component=&quot;Li&quot;&gt;삽입 &amp;rarr; 모듈 선택&lt;/li&gt;
&lt;li data-sentry-source-file=&quot;MarkdownContent.tsx&quot; data-sentry-component=&quot;Li&quot;&gt;새로운 모듈 창이 열립니다&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 style=&quot;background-color: #ffffff; color: #1c1c1e; text-align: start;&quot; data-sentry-source-file=&quot;MarkdownContent.tsx&quot; data-sentry-component=&quot;H3&quot; data-ke-size=&quot;size23&quot;&gt;3단계: 코드 입력&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc; background-color: #ffffff; color: #1c1c1e; text-align: start;&quot; data-sentry-source-file=&quot;MarkdownContent.tsx&quot; data-sentry-component=&quot;Ul&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-sentry-source-file=&quot;MarkdownContent.tsx&quot; data-sentry-component=&quot;Li&quot;&gt;위의 코드를 복사해서 붙여넣기&lt;/li&gt;
&lt;li data-sentry-source-file=&quot;MarkdownContent.tsx&quot; data-sentry-component=&quot;Li&quot;&gt;&lt;span style=&quot;background-color: #ecedef; color: #1c1c1e;&quot; data-sentry-source-file=&quot;MarkdownContent.tsx&quot; data-sentry-component=&quot;Code&quot;&gt;Ctrl + S&lt;/span&gt;로 저장&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 style=&quot;background-color: #ffffff; color: #1c1c1e; text-align: start;&quot; data-sentry-source-file=&quot;MarkdownContent.tsx&quot; data-sentry-component=&quot;H3&quot; data-ke-size=&quot;size23&quot;&gt;4단계: 매크로 실행&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc; background-color: #ffffff; color: #1c1c1e; text-align: start;&quot; data-sentry-source-file=&quot;MarkdownContent.tsx&quot; data-sentry-component=&quot;Ul&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-sentry-source-file=&quot;MarkdownContent.tsx&quot; data-sentry-component=&quot;Li&quot;&gt;&lt;span style=&quot;background-color: #ecedef; color: #1c1c1e;&quot; data-sentry-source-file=&quot;MarkdownContent.tsx&quot; data-sentry-component=&quot;Code&quot;&gt;Alt + F8&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&amp;rarr; 매크로 선택 &amp;rarr; 실행&lt;/li&gt;
&lt;li data-sentry-source-file=&quot;MarkdownContent.tsx&quot; data-sentry-component=&quot;Li&quot;&gt;또는 단축키 설정 후 사용&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #1c1c1e; text-align: start;&quot; data-sentry-source-file=&quot;MarkdownContent.tsx&quot; data-sentry-component=&quot;H2&quot; data-ke-size=&quot;size26&quot;&gt;  단축키 설정하기&lt;/h2&gt;
&lt;p style=&quot;background-color: #ffffff; color: #1c1c1e; text-align: start;&quot; data-sentry-source-file=&quot;MarkdownContent.tsx&quot; data-sentry-component=&quot;P&quot; data-ke-size=&quot;size16&quot;&gt;매번 &lt;span style=&quot;background-color: #ecedef; color: #1c1c1e;&quot; data-sentry-source-file=&quot;MarkdownContent.tsx&quot; data-sentry-component=&quot;Code&quot;&gt;Alt + F8&lt;/span&gt;을 누르기 번거롭다면 단축키를 설정해보세요.&lt;/p&gt;
&lt;ol style=&quot;list-style-type: decimal; background-color: #ffffff; color: #1c1c1e; text-align: start;&quot; data-sentry-source-file=&quot;MarkdownContent.tsx&quot; data-sentry-component=&quot;Ol&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li data-sentry-source-file=&quot;MarkdownContent.tsx&quot; data-sentry-component=&quot;Li&quot;&gt;&lt;span style=&quot;background-color: #ecedef; color: #1c1c1e;&quot; data-sentry-source-file=&quot;MarkdownContent.tsx&quot; data-sentry-component=&quot;Code&quot;&gt;Alt + F8&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&amp;rarr; 매크로 선택&lt;/li&gt;
&lt;li data-sentry-source-file=&quot;MarkdownContent.tsx&quot; data-sentry-component=&quot;Li&quot;&gt;&lt;b&gt;옵션&lt;/b&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;버튼 클릭&lt;/li&gt;
&lt;li data-sentry-source-file=&quot;MarkdownContent.tsx&quot; data-sentry-component=&quot;Li&quot;&gt;원하는 단축키 입력 (예:&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;background-color: #ecedef; color: #1c1c1e;&quot; data-sentry-source-file=&quot;MarkdownContent.tsx&quot; data-sentry-component=&quot;Code&quot;&gt;Ctrl + Shift + A&lt;/span&gt;)&lt;/li&gt;
&lt;li data-sentry-source-file=&quot;MarkdownContent.tsx&quot; data-sentry-component=&quot;Li&quot;&gt;확인 클릭&lt;/li&gt;
&lt;/ol&gt;
&lt;p style=&quot;background-color: #ffffff; color: #1c1c1e; text-align: start;&quot; data-sentry-source-file=&quot;MarkdownContent.tsx&quot; data-sentry-component=&quot;P&quot; data-ke-size=&quot;size16&quot;&gt;이제 &lt;span style=&quot;background-color: #ecedef; color: #1c1c1e;&quot; data-sentry-source-file=&quot;MarkdownContent.tsx&quot; data-sentry-component=&quot;Code&quot;&gt;Ctrl + Shift + A&lt;/span&gt;만 누르면 자동 조정이 실행됩니다!&lt;/p&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #1c1c1e; text-align: start;&quot; data-sentry-source-file=&quot;MarkdownContent.tsx&quot; data-sentry-component=&quot;H2&quot; data-ke-size=&quot;size26&quot;&gt;  활용 예시&lt;/h2&gt;
&lt;h3 style=&quot;background-color: #ffffff; color: #1c1c1e; text-align: start;&quot; data-sentry-source-file=&quot;MarkdownContent.tsx&quot; data-sentry-component=&quot;H3&quot; data-ke-size=&quot;size23&quot;&gt;Before (수동 조정)&lt;/h3&gt;
&lt;div style=&quot;background-color: #ffffff; color: #1c1c1e; text-align: start;&quot; data-sentry-source-file=&quot;MarkdownContent.tsx&quot; data-sentry-component=&quot;Pre&quot;&gt;
&lt;div style=&quot;background-color: #000000; color: #ffffff;&quot;&gt;
&lt;div style=&quot;background-color: #323437;&quot;&gt;&lt;span style=&quot;color: #dadbdf;&quot;&gt;text&lt;/span&gt;복사&lt;/div&gt;
&lt;div&gt;
&lt;pre class=&quot;angelscript&quot;&gt;&lt;code&gt;시간 소요: 5분
작업 단계: 10단계
실수 가능성: 높음
&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;h3 style=&quot;background-color: #ffffff; color: #1c1c1e; text-align: start;&quot; data-sentry-source-file=&quot;MarkdownContent.tsx&quot; data-sentry-component=&quot;H3&quot; data-ke-size=&quot;size23&quot;&gt;After (매크로 사용)&lt;/h3&gt;
&lt;div style=&quot;background-color: #ffffff; color: #1c1c1e; text-align: start;&quot; data-sentry-source-file=&quot;MarkdownContent.tsx&quot; data-sentry-component=&quot;Pre&quot;&gt;
&lt;div style=&quot;background-color: #000000; color: #ffffff;&quot;&gt;
&lt;div style=&quot;background-color: #323437;&quot;&gt;&lt;span style=&quot;color: #dadbdf;&quot;&gt;text&lt;/span&gt;복사&lt;/div&gt;
&lt;div&gt;
&lt;pre class=&quot;angelscript&quot;&gt;&lt;code&gt;시간 소요: 3초
작업 단계: 1단계 (단축키 하나)
실수 가능성: 없음
&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p style=&quot;background-color: #ffffff; color: #1c1c1e; text-align: start;&quot; data-sentry-source-file=&quot;MarkdownContent.tsx&quot; data-sentry-component=&quot;P&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;효율성 개선&lt;/b&gt;: 약 &lt;b&gt;100배&lt;/b&gt; 빨라짐!&lt;/p&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #1c1c1e; text-align: start;&quot; data-sentry-source-file=&quot;MarkdownContent.tsx&quot; data-sentry-component=&quot;H2&quot; data-ke-size=&quot;size26&quot;&gt;⚠️ 주의사항&lt;/h2&gt;
&lt;ol style=&quot;list-style-type: decimal; background-color: #ffffff; color: #1c1c1e; text-align: start;&quot; data-sentry-source-file=&quot;MarkdownContent.tsx&quot; data-sentry-component=&quot;Ol&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li data-sentry-source-file=&quot;MarkdownContent.tsx&quot; data-sentry-component=&quot;Li&quot;&gt;&lt;b&gt;백업 필수&lt;/b&gt;: 매크로 실행 전 파일을 백업하세요&lt;/li&gt;
&lt;li data-sentry-source-file=&quot;MarkdownContent.tsx&quot; data-sentry-component=&quot;Li&quot;&gt;&lt;b&gt;매크로 보안&lt;/b&gt;: 신뢰할 수 있는 매크로만 실행하세요&lt;/li&gt;
&lt;li data-sentry-source-file=&quot;MarkdownContent.tsx&quot; data-sentry-component=&quot;Li&quot;&gt;&lt;b&gt;대용량 데이터&lt;/b&gt;: 너무 큰 데이터는 실행 시간이 오래 걸릴 수 있습니다&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #1c1c1e; text-align: start;&quot; data-sentry-source-file=&quot;MarkdownContent.tsx&quot; data-sentry-component=&quot;H2&quot; data-ke-size=&quot;size26&quot;&gt;  추가 팁&lt;/h2&gt;
&lt;h3 style=&quot;background-color: #ffffff; color: #1c1c1e; text-align: start;&quot; data-sentry-source-file=&quot;MarkdownContent.tsx&quot; data-sentry-component=&quot;H3&quot; data-ke-size=&quot;size23&quot;&gt;리본 메뉴에 추가하기&lt;/h3&gt;
&lt;ol style=&quot;list-style-type: decimal; background-color: #ffffff; color: #1c1c1e; text-align: start;&quot; data-sentry-source-file=&quot;MarkdownContent.tsx&quot; data-sentry-component=&quot;Ol&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li data-sentry-source-file=&quot;MarkdownContent.tsx&quot; data-sentry-component=&quot;Li&quot;&gt;파일 &amp;rarr; 옵션 &amp;rarr; 리본 사용자 지정&lt;/li&gt;
&lt;li data-sentry-source-file=&quot;MarkdownContent.tsx&quot; data-sentry-component=&quot;Li&quot;&gt;매크로 선택 &amp;rarr; 추가&lt;/li&gt;
&lt;li data-sentry-source-file=&quot;MarkdownContent.tsx&quot; data-sentry-component=&quot;Li&quot;&gt;이제 리본에서 바로 클릭 가능!&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 style=&quot;background-color: #ffffff; color: #1c1c1e; text-align: start;&quot; data-sentry-source-file=&quot;MarkdownContent.tsx&quot; data-sentry-component=&quot;H3&quot; data-ke-size=&quot;size23&quot;&gt;여러 시트에 적용하기&lt;/h3&gt;
&lt;div style=&quot;background-color: #ffffff; color: #1c1c1e; text-align: start;&quot; data-sentry-source-file=&quot;MarkdownContent.tsx&quot; data-sentry-component=&quot;Pre&quot;&gt;
&lt;div style=&quot;background-color: #000000; color: #ffffff;&quot;&gt;
&lt;div style=&quot;background-color: #323437;&quot;&gt;&lt;span style=&quot;color: #dadbdf;&quot;&gt;vba&lt;/span&gt;복사&lt;/div&gt;
&lt;div&gt;
&lt;div style=&quot;color: #9cdcfe;&quot;&gt;&lt;span&gt;Sub AutoFitAllSheets()&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;color: #9cdcfe;&quot;&gt;&lt;span&gt; Dim ws As Worksheet&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;color: #9cdcfe;&quot;&gt;&lt;span&gt; For Each ws In ActiveWorkbook.Worksheets&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;color: #9cdcfe;&quot;&gt;&lt;span&gt; ws.Cells.AutoFit&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;color: #9cdcfe;&quot;&gt;&lt;span&gt; Next ws&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;color: #9cdcfe;&quot;&gt;&lt;span&gt;End Sub&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #1c1c1e; text-align: start;&quot; data-sentry-source-file=&quot;MarkdownContent.tsx&quot; data-sentry-component=&quot;H2&quot; data-ke-size=&quot;size26&quot;&gt;마무리&lt;/h2&gt;
&lt;p style=&quot;background-color: #ffffff; color: #1c1c1e; text-align: start;&quot; data-sentry-source-file=&quot;MarkdownContent.tsx&quot; data-sentry-component=&quot;P&quot; data-ke-size=&quot;size16&quot;&gt;Excel VBA 매크로를 활용하면 &lt;b&gt;반복적인 셀 크기 조정 작업&lt;/b&gt;을 완전히 자동화할 수 있습니다.&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #1c1c1e; text-align: start;&quot; data-sentry-source-file=&quot;MarkdownContent.tsx&quot; data-sentry-component=&quot;P&quot; data-ke-size=&quot;size16&quot;&gt;처음에는 코드가 어려워 보일 수 있지만, 한 번 설정해두면 &lt;b&gt;업무 효율이 크게 향상&lt;/b&gt;됩니다. 특히 매일 Excel 작업을 하는 분들에게는 정말 유용한 도구가 될 것입니다.&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #1c1c1e; text-align: start;&quot; data-sentry-source-file=&quot;MarkdownContent.tsx&quot; data-sentry-component=&quot;P&quot; data-ke-size=&quot;size16&quot;&gt;여러분도 오늘부터 매크로를 활용해서 &lt;b&gt;스마트한 Excel 사용자&lt;/b&gt;가 되어보세요!&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;fileblock&quot; data-ke-align=&quot;alignCenter&quot;&gt;&lt;a href=&quot;https://blog.kakaocdn.net/dn/sWTu5/dJMb9P7oaXR/wHnkdbkczK6jV0lgdofjI0/Excel%20VBA%20%EB%A7%A4%ED%81%AC%EB%A1%9C%EB%A1%9C%20%EC%85%80%20%ED%81%AC%EA%B8%B0%20%EC%9E%90%EB%8F%99%20%EC%A1%B0%EC%A0%95%ED%95%98%EA%B8%B0.xlsm?attach=1&amp;amp;knm=tfile.xlsm&quot; class=&quot;&quot;&gt;
    &lt;div class=&quot;image&quot;&gt;&lt;/div&gt;
    &lt;div class=&quot;desc&quot;&gt;&lt;div class=&quot;filename&quot;&gt;&lt;span class=&quot;name&quot;&gt;Excel VBA 매크로로 셀 크기 자동 조정하기.xlsm&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;size&quot;&gt;0.02MB&lt;/div&gt;
&lt;/div&gt;
  &lt;/a&gt;&lt;/figure&gt;
&lt;/p&gt;</description>
      <category>Excel</category>
      <category>VBA</category>
      <category>매크로</category>
      <category>업무효율</category>
      <category>오피스</category>
      <category>자동화</category>
      <category>프로그래밍</category>
      <author>노만e</author>
      <guid isPermaLink="true">https://dream2049.tistory.com/191</guid>
      <comments>https://dream2049.tistory.com/191#entry191comment</comments>
      <pubDate>Sat, 4 Oct 2025 11:51:36 +0900</pubDate>
    </item>
    <item>
      <title>엑셀로 만드는 미로 탈출 게임 (VBA 매크로 활용)</title>
      <link>https://dream2049.tistory.com/190</link>
      <description>&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;미로찾기.jpg&quot; data-origin-width=&quot;1027&quot; data-origin-height=&quot;773&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/mnwwF/btsQZV0KD3L/iQ9J5BIa8a4HXMiHcLkVD0/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/mnwwF/btsQZV0KD3L/iQ9J5BIa8a4HXMiHcLkVD0/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/mnwwF/btsQZV0KD3L/iQ9J5BIa8a4HXMiHcLkVD0/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FmnwwF%2FbtsQZV0KD3L%2FiQ9J5BIa8a4HXMiHcLkVD0%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1027&quot; height=&quot;773&quot; data-filename=&quot;미로찾기.jpg&quot; data-origin-width=&quot;1027&quot; data-origin-height=&quot;773&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-end=&quot;290&quot; data-start=&quot;160&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-end=&quot;290&quot; data-start=&quot;160&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-end=&quot;290&quot; data-start=&quot;160&quot; data-ke-size=&quot;size16&quot;&gt;안녕하세요! 오늘은 단순한 업무 프로그램을 넘어서, &lt;b&gt;Excel VBA&lt;/b&gt;로 만든 재미있는 &lt;b&gt;미로 탈출 게임&lt;/b&gt;을 소개해드리겠습니다.&lt;br /&gt;업무에만 쓰이던 엑셀에서 직접 &lt;b&gt;게임&lt;/b&gt;을 즐길 수 있다는 사실, 놀랍지 않나요?  &lt;/p&gt;
&lt;hr data-end=&quot;295&quot; data-start=&quot;292&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h2 data-end=&quot;308&quot; data-start=&quot;297&quot; data-ke-size=&quot;size26&quot;&gt;  게임 특징&lt;/h2&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;446&quot; data-start=&quot;309&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;345&quot; data-start=&quot;309&quot;&gt;&lt;b&gt;랜덤 미로 생성&lt;/b&gt; : 매번 새로운 맵에서 플레이 가능&lt;/li&gt;
&lt;li data-end=&quot;377&quot; data-start=&quot;346&quot;&gt;&lt;b&gt;방향키 조작(&amp;uarr;&amp;darr;&amp;larr;&amp;rarr;)&lt;/b&gt; : 직관적인 플레이&lt;/li&gt;
&lt;li data-end=&quot;411&quot; data-start=&quot;378&quot;&gt;&lt;b&gt;시간 측정 기능&lt;/b&gt; : 클리어까지 걸린 시간 확인&lt;/li&gt;
&lt;li data-end=&quot;446&quot; data-start=&quot;412&quot;&gt;&lt;b&gt;클리어 후 재시작 여부 선택&lt;/b&gt; : 무한 반복 가능&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-end=&quot;451&quot; data-start=&quot;448&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h2 data-end=&quot;469&quot; data-start=&quot;453&quot; data-ke-size=&quot;size26&quot;&gt;⚙️ 설치 및 실행 방법&lt;/h2&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-end=&quot;694&quot; data-start=&quot;470&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li data-end=&quot;520&quot; data-start=&quot;470&quot;&gt;Excel을 열고 Alt + F11을 눌러 &lt;b&gt;VBA 편집기&lt;/b&gt;를 실행합니다.&lt;/li&gt;
&lt;li data-end=&quot;569&quot; data-start=&quot;521&quot;&gt;삽입 &amp;gt; 모듈을 클릭한 후, 제공된 코드를 전체 복사 &amp;amp; 붙여넣기 합니다.&lt;/li&gt;
&lt;li data-end=&quot;601&quot; data-start=&quot;570&quot;&gt;Alt + F11로 Excel로 돌아옵니다.&lt;/li&gt;
&lt;li data-end=&quot;645&quot; data-start=&quot;602&quot;&gt;Alt + F8을 눌러 StartGame 매크로를 실행합니다.&lt;/li&gt;
&lt;li data-end=&quot;694&quot; data-start=&quot;646&quot;&gt;이제 &lt;b&gt;방향키&lt;/b&gt;로 ★ 캐릭터를 움직여 ◎ 출구까지 도달하면 됩니다!&lt;/li&gt;
&lt;/ol&gt;
&lt;hr data-end=&quot;699&quot; data-start=&quot;696&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h2 data-end=&quot;712&quot; data-start=&quot;701&quot; data-ke-size=&quot;size26&quot;&gt;  게임 규칙&lt;/h2&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;780&quot; data-start=&quot;713&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;727&quot; data-start=&quot;713&quot;&gt;★ : 플레이어&lt;/li&gt;
&lt;li data-end=&quot;740&quot; data-start=&quot;728&quot;&gt;◎ : 출구&lt;/li&gt;
&lt;li data-end=&quot;752&quot; data-start=&quot;741&quot;&gt;■ : 벽&lt;/li&gt;
&lt;li data-end=&quot;780&quot; data-start=&quot;753&quot;&gt;&lt;b&gt;목표&lt;/b&gt; : 벽을 피해서 출구까지 이동&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-end=&quot;834&quot; data-start=&quot;782&quot; data-ke-size=&quot;size16&quot;&gt;클리어 시 걸린 시간이 표시되며, 원한다면 바로 &lt;b&gt;새로운 미로&lt;/b&gt;를 시작할 수 있습니다.&lt;/p&gt;
&lt;hr data-end=&quot;839&quot; data-start=&quot;836&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h2 data-end=&quot;855&quot; data-start=&quot;841&quot; data-ke-size=&quot;size26&quot;&gt; ️ 코드 다운로드&lt;/h2&gt;
&lt;p data-end=&quot;906&quot; data-start=&quot;856&quot; data-ke-size=&quot;size16&quot;&gt;코드 전문은 아래에서 확인하실 수 있습니다.&lt;br /&gt;  (블로그 본문에 전체 코드 첨부)&lt;/p&gt;
&lt;hr data-end=&quot;911&quot; data-start=&quot;908&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h2 data-end=&quot;925&quot; data-start=&quot;913&quot; data-ke-size=&quot;size26&quot;&gt;✨ 응용 아이디어&lt;/h2&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1030&quot; data-start=&quot;926&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;963&quot; data-start=&quot;926&quot;&gt;난이도 설정 : 미로 크기를 조절해 초급~고급 난이도로 확장&lt;/li&gt;
&lt;li data-end=&quot;995&quot; data-start=&quot;964&quot;&gt;점수 시스템 : 이동 횟수, 시간 기반 점수 랭킹&lt;/li&gt;
&lt;li data-end=&quot;1030&quot; data-start=&quot;996&quot;&gt;기록 저장 : 클리어 기록을 자동으로 다른 시트에 저장&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-end=&quot;1035&quot; data-start=&quot;1032&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h2 data-end=&quot;1046&quot; data-start=&quot;1037&quot; data-ke-size=&quot;size26&quot;&gt;  마무리&lt;/h2&gt;
&lt;p data-end=&quot;1145&quot; data-start=&quot;1047&quot; data-ke-size=&quot;size16&quot;&gt;엑셀은 단순한 데이터 관리 도구를 넘어서, 이렇게 &lt;b&gt;작은 게임 플랫폼&lt;/b&gt;으로도 활용할 수 있습니다.&lt;br /&gt;게임을 통해 &lt;b&gt;VBA 학습&lt;/b&gt;까지 할 수 있으니 일석이조죠!  &lt;/p&gt;
&lt;p data-end=&quot;1260&quot; data-start=&quot;1147&quot; data-ke-size=&quot;size16&quot;&gt;  직접 실행해보시고, 재밌게 즐기셨다면 댓글로 기록한 &lt;b&gt;클리어 시간&lt;/b&gt;을 공유해주세요!&lt;br /&gt;  더 다양한 &lt;b&gt;엑셀 게임/자동화 팁&lt;/b&gt;을 받아보고 싶다면 &lt;b&gt;이웃 추가 &amp;amp; 구독&lt;/b&gt; 잊지 마세요.&lt;/p&gt;
&lt;p data-end=&quot;1260&quot; data-start=&quot;1147&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-end=&quot;1260&quot; data-start=&quot;1147&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-end=&quot;1260&quot; data-start=&quot;1147&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;fileblock&quot; data-ke-align=&quot;alignCenter&quot;&gt;&lt;a href=&quot;https://blog.kakaocdn.net/dn/b5CbAu/dJMb9LKF30n/ZRDRM7oteT1nZ3kALi6dL0/%EB%AF%B8%EB%A1%9C%EA%B2%8C%EC%9E%84.xlsm?attach=1&amp;amp;knm=tfile.xlsm&quot; class=&quot;&quot;&gt;
    &lt;div class=&quot;image&quot;&gt;&lt;/div&gt;
    &lt;div class=&quot;desc&quot;&gt;&lt;div class=&quot;filename&quot;&gt;&lt;span class=&quot;name&quot;&gt;미로게임.xlsm&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;size&quot;&gt;0.04MB&lt;/div&gt;
&lt;/div&gt;
  &lt;/a&gt;&lt;/figure&gt;
&lt;/p&gt;</description>
      <category>추억의 Game</category>
      <category>#엑셀게임 #VBA게임 #엑셀VBA #엑셀매크로 #엑셀자동화</category>
      <author>노만e</author>
      <guid isPermaLink="true">https://dream2049.tistory.com/190</guid>
      <comments>https://dream2049.tistory.com/190#entry190comment</comments>
      <pubDate>Wed, 1 Oct 2025 22:39:12 +0900</pubDate>
    </item>
    <item>
      <title> ️ 엑셀 각 시트의 인쇄영역을 PowerPoint로 내보내는 VBA 매크로 대공개!</title>
      <link>https://dream2049.tistory.com/189</link>
      <description>&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;33.jpg&quot; data-origin-width=&quot;1668&quot; data-origin-height=&quot;1125&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/MaoUU/btsQS3rhjXP/4hYaOKkZyk6ql2PvTx6EX1/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/MaoUU/btsQS3rhjXP/4hYaOKkZyk6ql2PvTx6EX1/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/MaoUU/btsQS3rhjXP/4hYaOKkZyk6ql2PvTx6EX1/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FMaoUU%2FbtsQS3rhjXP%2F4hYaOKkZyk6ql2PvTx6EX1%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;679&quot; height=&quot;458&quot; data-filename=&quot;33.jpg&quot; data-origin-width=&quot;1668&quot; data-origin-height=&quot;1125&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;blockquote data-end=&quot;325&quot; data-start=&quot;219&quot; data-ke-style=&quot;style1&quot;&gt;
&lt;p data-end=&quot;325&quot; data-start=&quot;221&quot; data-ke-size=&quot;size16&quot;&gt;보고서용 슬라이드 매번 복사해서 붙여넣고 계신가요?&lt;br /&gt;이제 엑셀에서 &lt;b&gt;인쇄영역만&lt;/b&gt; 똑똑하게 추출해서 파워포인트로 자동 전환해보세요!&lt;br /&gt;수작업은 그만! 단 1초면 OK!  &lt;/p&gt;
&lt;/blockquote&gt;
&lt;hr data-end=&quot;330&quot; data-start=&quot;327&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-end=&quot;350&quot; data-start=&quot;332&quot; data-ke-size=&quot;size23&quot;&gt;  이 매크로가 뭐길래?&lt;/h3&gt;
&lt;p data-end=&quot;443&quot; data-start=&quot;352&quot; data-ke-size=&quot;size16&quot;&gt;이 Excel VBA 매크로는 &lt;b&gt;엑셀 파일 내 각 시트의 인쇄영역만 추출&lt;/b&gt;하여&lt;br /&gt;&lt;b&gt;슬라이드 형태로 PowerPoint 프레젠테이션으로 자동 저장&lt;/b&gt;해줍니다.&lt;/p&gt;
&lt;blockquote data-end=&quot;528&quot; data-start=&quot;445&quot; data-ke-style=&quot;style1&quot;&gt;
&lt;p data-end=&quot;528&quot; data-start=&quot;447&quot; data-ke-size=&quot;size16&quot;&gt;✔️ PPT 작업시간 90% 절감&lt;br /&gt;✔️ 데이터 기반 보고서 제작에 최적&lt;br /&gt;✔️ 엑셀 인쇄영역만 추출하기 때문에 깨끗한 슬라이드 출력!&lt;/p&gt;
&lt;/blockquote&gt;
&lt;hr data-end=&quot;533&quot; data-start=&quot;530&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-end=&quot;553&quot; data-start=&quot;535&quot; data-ke-size=&quot;size23&quot;&gt;✅ 주요 기능 한눈에 보기&lt;/h3&gt;
&lt;div&gt;
&lt;div&gt;기능설명
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-end=&quot;805&quot; data-start=&quot;555&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody data-end=&quot;805&quot; data-start=&quot;583&quot;&gt;
&lt;tr data-end=&quot;638&quot; data-start=&quot;583&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;597&quot; data-start=&quot;583&quot;&gt;  인쇄영역만 추출&lt;/td&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;638&quot; data-start=&quot;597&quot;&gt;각 시트의 PageSetup.PrintArea 만 PPT에 삽입&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;677&quot; data-start=&quot;639&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;655&quot; data-start=&quot;639&quot;&gt;  자동 슬라이드 생성&lt;/td&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;677&quot; data-start=&quot;655&quot;&gt;시트 개수만큼 슬라이드 자동 생성&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;718&quot; data-start=&quot;678&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;694&quot; data-start=&quot;678&quot;&gt;  슬라이드 제목 삽입&lt;/td&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;718&quot; data-start=&quot;694&quot;&gt;슬라이드 좌측 상단에 시트 이름 삽입&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;763&quot; data-start=&quot;719&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;733&quot; data-start=&quot;719&quot;&gt;  크기 자동 조정&lt;/td&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;763&quot; data-start=&quot;733&quot;&gt;슬라이드에 맞춰 &lt;b&gt;비율 유지&lt;/b&gt;하며 자동 맞춤&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;805&quot; data-start=&quot;764&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;775&quot; data-start=&quot;764&quot;&gt;  자동 저장&lt;/td&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;805&quot; data-start=&quot;775&quot;&gt;엑셀 파일명과 같은 이름으로 .pptx 저장&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;hr data-end=&quot;810&quot; data-start=&quot;807&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-end=&quot;840&quot; data-start=&quot;812&quot; data-ke-size=&quot;size23&quot;&gt; ️ 사용 방법 (Step by Step)&lt;/h3&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-end=&quot;1077&quot; data-start=&quot;842&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li data-end=&quot;890&quot; data-start=&quot;842&quot;&gt;&lt;b&gt;매크로 삽입&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;890&quot; data-start=&quot;859&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;890&quot; data-start=&quot;859&quot;&gt;Alt + F11 &amp;rarr; 모듈 추가 &amp;rarr; 코드 붙여넣기&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li data-end=&quot;952&quot; data-start=&quot;892&quot;&gt;&lt;b&gt;인쇄영역 설정&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;952&quot; data-start=&quot;910&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;952&quot; data-start=&quot;910&quot;&gt;각 시트에서 출력할 범위를 페이지 레이아웃 &amp;gt; 인쇄영역 설정으로 지정&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li data-end=&quot;1015&quot; data-start=&quot;954&quot;&gt;&lt;b&gt;매크로 실행&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1015&quot; data-start=&quot;971&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1015&quot; data-start=&quot;971&quot;&gt;Alt + F8 &amp;rarr; ExportSheetsToPowerPoint 실행&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li data-end=&quot;1077&quot; data-start=&quot;1017&quot;&gt;&lt;b&gt;자동 실행 결과 확인&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1077&quot; data-start=&quot;1039&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1077&quot; data-start=&quot;1039&quot;&gt;PowerPoint 자동 실행 + .pptx 자동 저장 완료!&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;hr data-end=&quot;1082&quot; data-start=&quot;1079&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-end=&quot;1097&quot; data-start=&quot;1084&quot; data-ke-size=&quot;size23&quot;&gt;  출력물 예시&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1185&quot; data-start=&quot;1099&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1128&quot; data-start=&quot;1099&quot;&gt;슬라이드마다 엑셀 시트 인쇄영역이 꽉 차게 삽입됨&lt;/li&gt;
&lt;li data-end=&quot;1151&quot; data-start=&quot;1129&quot;&gt;상단에는 시트 이름이 제목처럼 삽입됨&lt;/li&gt;
&lt;li data-end=&quot;1185&quot; data-start=&quot;1152&quot;&gt;원본 비율 유지로 &lt;b&gt;데이터 왜곡 없이 깔끔하게 정렬&lt;/b&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-end=&quot;1190&quot; data-start=&quot;1187&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-end=&quot;1207&quot; data-start=&quot;1192&quot; data-ke-size=&quot;size23&quot;&gt;  파일 저장 위치&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1281&quot; data-start=&quot;1209&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1252&quot; data-start=&quot;1209&quot;&gt;PowerPoint 파일은 현재 엑셀 파일과 &lt;b&gt;같은 경로에 자동 저장&lt;/b&gt;&lt;/li&gt;
&lt;li data-end=&quot;1281&quot; data-start=&quot;1253&quot;&gt;예: 보고서.xlsx &amp;rarr; 보고서.pptx&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-end=&quot;1286&quot; data-start=&quot;1283&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-end=&quot;1298&quot; data-start=&quot;1288&quot; data-ke-size=&quot;size23&quot;&gt;❗ 주의사항&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1407&quot; data-start=&quot;1300&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1332&quot; data-start=&quot;1300&quot;&gt;&lt;b&gt;인쇄영역이 없는 시트&lt;/b&gt;는 건너뜁니다 (자동 스킵)&lt;/li&gt;
&lt;li data-end=&quot;1365&quot; data-start=&quot;1333&quot;&gt;숨겨진 시트는 &lt;b&gt;자동 제외&lt;/b&gt;되어 안전하게 출력됩니다&lt;/li&gt;
&lt;li data-end=&quot;1407&quot; data-start=&quot;1366&quot;&gt;&lt;b&gt;pptx 저장 형식&lt;/b&gt;으로 자동 저장되며 기존 파일은 덮어쓰지 않음&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-end=&quot;1412&quot; data-start=&quot;1409&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-end=&quot;1426&quot; data-start=&quot;1414&quot; data-ke-size=&quot;size23&quot;&gt;  활용 예시&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1522&quot; data-start=&quot;1428&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1453&quot; data-start=&quot;1428&quot;&gt; &amp;zwj;  월간 보고서 요약본 PPT 출력&lt;/li&gt;
&lt;li data-end=&quot;1478&quot; data-start=&quot;1454&quot;&gt;  실적/성과 데이터 시각화 발표 자료&lt;/li&gt;
&lt;li data-end=&quot;1503&quot; data-start=&quot;1479&quot;&gt; ️ 공정 시트별 브리핑 슬라이드 생성&lt;/li&gt;
&lt;li data-end=&quot;1522&quot; data-start=&quot;1504&quot;&gt;  교육 자료 PPT로 전환&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-end=&quot;1527&quot; data-start=&quot;1524&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-end=&quot;1545&quot; data-start=&quot;1529&quot; data-ke-size=&quot;size23&quot;&gt;  VBA 코드&lt;/h3&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 100%;&quot;&gt;Sub&amp;nbsp;ExportSheetsToPowerPoint() &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;xlApp&amp;nbsp;As&amp;nbsp;Application &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;xlWB&amp;nbsp;As&amp;nbsp;Workbook &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;xlWS&amp;nbsp;As&amp;nbsp;Worksheet &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;pptApp&amp;nbsp;As&amp;nbsp;Object &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;pptPres&amp;nbsp;As&amp;nbsp;Object &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;pptSlide&amp;nbsp;As&amp;nbsp;Object &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;i&amp;nbsp;As&amp;nbsp;Integer &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;totalSheets&amp;nbsp;As&amp;nbsp;Integer &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;processedSheets&amp;nbsp;As&amp;nbsp;Integer &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;pptFileName&amp;nbsp;As&amp;nbsp;String &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;excelPath&amp;nbsp;As&amp;nbsp;String &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;excelName&amp;nbsp;As&amp;nbsp;String &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;에러&amp;nbsp;처리&amp;nbsp;추가 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;On&amp;nbsp;Error&amp;nbsp;GoTo&amp;nbsp;ErrorHandler &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;Excel&amp;nbsp;애플리케이션&amp;nbsp;및&amp;nbsp;워크북&amp;nbsp;설정 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set&amp;nbsp;xlApp&amp;nbsp;=&amp;nbsp;Application &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set&amp;nbsp;xlWB&amp;nbsp;=&amp;nbsp;ActiveWorkbook &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;총&amp;nbsp;시트&amp;nbsp;수&amp;nbsp;저장 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;totalSheets&amp;nbsp;=&amp;nbsp;xlWB.Worksheets.Count &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;processedSheets&amp;nbsp;=&amp;nbsp;0 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;엑셀&amp;nbsp;파일&amp;nbsp;경로와&amp;nbsp;이름&amp;nbsp;추출 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;excelPath&amp;nbsp;=&amp;nbsp;xlWB.Path &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;excelName&amp;nbsp;=&amp;nbsp;Left(xlWB.Name,&amp;nbsp;InStrRev(xlWB.Name,&amp;nbsp;&quot;.&quot;)&amp;nbsp;-&amp;nbsp;1)&amp;nbsp;'&amp;nbsp;확장자&amp;nbsp;제거 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;pptFileName&amp;nbsp;=&amp;nbsp;excelPath&amp;nbsp;&amp;amp;&amp;nbsp;&quot;\&quot;&amp;nbsp;&amp;amp;&amp;nbsp;excelName&amp;nbsp;&amp;amp;&amp;nbsp;&quot;.pptx&quot; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;PowerPoint&amp;nbsp;애플리케이션&amp;nbsp;생성 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;On&amp;nbsp;Error&amp;nbsp;Resume&amp;nbsp;Next &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set&amp;nbsp;pptApp&amp;nbsp;=&amp;nbsp;GetObject(,&amp;nbsp;&quot;PowerPoint.Application&quot;) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;pptApp&amp;nbsp;Is&amp;nbsp;Nothing&amp;nbsp;Then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set&amp;nbsp;pptApp&amp;nbsp;=&amp;nbsp;CreateObject(&quot;PowerPoint.Application&quot;) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;If &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;On&amp;nbsp;Error&amp;nbsp;GoTo&amp;nbsp;0 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;PowerPoint를&amp;nbsp;화면에&amp;nbsp;표시 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;pptApp.Visible&amp;nbsp;=&amp;nbsp;True &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;새&amp;nbsp;프레젠테이션&amp;nbsp;생성 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set&amp;nbsp;pptPres&amp;nbsp;=&amp;nbsp;pptApp.Presentations.Add &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;각&amp;nbsp;시트를&amp;nbsp;순회하며&amp;nbsp;슬라이드로&amp;nbsp;복사 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;For&amp;nbsp;i&amp;nbsp;=&amp;nbsp;1&amp;nbsp;To&amp;nbsp;xlWB.Worksheets.Count &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set&amp;nbsp;xlWS&amp;nbsp;=&amp;nbsp;xlWB.Worksheets(i) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;숨겨진&amp;nbsp;시트는&amp;nbsp;건너뛰기 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;xlWS.Visible&amp;nbsp;=&amp;nbsp;xlSheetVisible&amp;nbsp;Then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Application.StatusBar&amp;nbsp;=&amp;nbsp;&quot;처리&amp;nbsp;중:&amp;nbsp;&quot;&amp;nbsp;&amp;amp;&amp;nbsp;xlWS.Name&amp;nbsp;&amp;amp;&amp;nbsp;&quot;&amp;nbsp;(&quot;&amp;nbsp;&amp;amp;&amp;nbsp;i&amp;nbsp;&amp;amp;&amp;nbsp;&quot;/&quot;&amp;nbsp;&amp;amp;&amp;nbsp;totalSheets&amp;nbsp;&amp;amp;&amp;nbsp;&quot;)&quot; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;시트&amp;nbsp;선택&amp;nbsp;및&amp;nbsp;인쇄영역&amp;nbsp;복사 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;xlWS.Activate &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;인쇄영역이&amp;nbsp;설정되어&amp;nbsp;있는지&amp;nbsp;확인 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;xlWS.PageSetup.PrintArea&amp;nbsp;&amp;lt;&amp;gt;&amp;nbsp;&quot;&quot;&amp;nbsp;Then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;인쇄영역&amp;nbsp;선택&amp;nbsp;및&amp;nbsp;복사 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;xlWS.Range(xlWS.PageSetup.PrintArea).Copy &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;새&amp;nbsp;슬라이드&amp;nbsp;추가&amp;nbsp;(빈&amp;nbsp;레이아웃) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set&amp;nbsp;pptSlide&amp;nbsp;=&amp;nbsp;pptPres.Slides.Add(pptPres.Slides.Count&amp;nbsp;+&amp;nbsp;1,&amp;nbsp;12)&amp;nbsp;'&amp;nbsp;12&amp;nbsp;=&amp;nbsp;ppLayoutBlank &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;슬라이드에&amp;nbsp;붙여넣기&amp;nbsp;(그림으로) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;pptSlide.Shapes.PasteSpecial&amp;nbsp;DataType:=2&amp;nbsp;'&amp;nbsp;ppPasteEnhancedMetafile &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;붙여넣은&amp;nbsp;개체의&amp;nbsp;크기와&amp;nbsp;위치&amp;nbsp;조정 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;pptSlide.Shapes.Count&amp;nbsp;&amp;gt;&amp;nbsp;0&amp;nbsp;Then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;With&amp;nbsp;pptSlide.Shapes(pptSlide.Shapes.Count) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;슬라이드&amp;nbsp;크기에&amp;nbsp;맞게&amp;nbsp;조정&amp;nbsp;(여백&amp;nbsp;고려) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;slideWidth&amp;nbsp;As&amp;nbsp;Single &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;slideHeight&amp;nbsp;As&amp;nbsp;Single &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;slideWidth&amp;nbsp;=&amp;nbsp;pptPres.PageSetup.slideWidth &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;slideHeight&amp;nbsp;=&amp;nbsp;pptPres.PageSetup.slideHeight &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;비율을&amp;nbsp;유지하면서&amp;nbsp;크기&amp;nbsp;조정 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;scaleWidth&amp;nbsp;As&amp;nbsp;Single &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;scaleHeight&amp;nbsp;As&amp;nbsp;Single &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;scaleWidth&amp;nbsp;=&amp;nbsp;(slideWidth&amp;nbsp;-&amp;nbsp;40)&amp;nbsp;/&amp;nbsp;.Width&amp;nbsp;&amp;nbsp;'&amp;nbsp;좌우&amp;nbsp;여백&amp;nbsp;20씩 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;scaleHeight&amp;nbsp;=&amp;nbsp;(slideHeight&amp;nbsp;-&amp;nbsp;40)&amp;nbsp;/&amp;nbsp;.Height&amp;nbsp;&amp;nbsp;'&amp;nbsp;상하&amp;nbsp;여백&amp;nbsp;20씩 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;더&amp;nbsp;작은&amp;nbsp;비율을&amp;nbsp;사용하여&amp;nbsp;슬라이드&amp;nbsp;안에&amp;nbsp;맞추기 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;scaleRatio&amp;nbsp;As&amp;nbsp;Single &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;scaleRatio&amp;nbsp;=&amp;nbsp;Application.Min(scaleWidth,&amp;nbsp;scaleHeight) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;scaleRatio&amp;nbsp;&amp;lt;&amp;nbsp;1&amp;nbsp;Then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.Width&amp;nbsp;=&amp;nbsp;.Width&amp;nbsp;*&amp;nbsp;scaleRatio &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.Height&amp;nbsp;=&amp;nbsp;.Height&amp;nbsp;*&amp;nbsp;scaleRatio &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;If &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;중앙&amp;nbsp;정렬 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.Left&amp;nbsp;=&amp;nbsp;(slideWidth&amp;nbsp;-&amp;nbsp;.Width)&amp;nbsp;/&amp;nbsp;2 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.Top&amp;nbsp;=&amp;nbsp;(slideHeight&amp;nbsp;-&amp;nbsp;.Height)&amp;nbsp;/&amp;nbsp;2 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;With &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;If &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;슬라이드&amp;nbsp;제목&amp;nbsp;추가&amp;nbsp;(선택사항) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;titleShape&amp;nbsp;As&amp;nbsp;Object &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set&amp;nbsp;titleShape&amp;nbsp;=&amp;nbsp;pptSlide.Shapes.AddTextbox(1,&amp;nbsp;10,&amp;nbsp;10,&amp;nbsp;200,&amp;nbsp;30)&amp;nbsp;'&amp;nbsp;msoTextOrientationHorizontal&amp;nbsp;=&amp;nbsp;1 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;With&amp;nbsp;titleShape.TextFrame.TextRange &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.Text&amp;nbsp;=&amp;nbsp;xlWS.Name &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.Font.Size&amp;nbsp;=&amp;nbsp;18 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.Font.Bold&amp;nbsp;=&amp;nbsp;True &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;With &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Application.CutCopyMode&amp;nbsp;=&amp;nbsp;False &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;processedSheets&amp;nbsp;=&amp;nbsp;processedSheets&amp;nbsp;+&amp;nbsp;1 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Else &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;인쇄영역이&amp;nbsp;설정되지&amp;nbsp;않은&amp;nbsp;경우&amp;nbsp;메시지&amp;nbsp;(선택사항) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Debug.Print&amp;nbsp;xlWS.Name&amp;nbsp;&amp;amp;&amp;nbsp;&quot;&amp;nbsp;시트에는&amp;nbsp;인쇄영역이&amp;nbsp;설정되지&amp;nbsp;않았습니다.&quot; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;If &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;If &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Next&amp;nbsp;i &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;첫&amp;nbsp;번째&amp;nbsp;슬라이드로&amp;nbsp;이동 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;pptPres.Slides.Count&amp;nbsp;&amp;gt;&amp;nbsp;0&amp;nbsp;Then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;pptPres.Slides(1).Select &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;If &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;PowerPoint&amp;nbsp;파일&amp;nbsp;저장 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;pptPres.SaveAs&amp;nbsp;pptFileName &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;메시지&amp;nbsp;박스용&amp;nbsp;변수&amp;nbsp;저장&amp;nbsp;(객체&amp;nbsp;해제&amp;nbsp;전에) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;totalSheets&amp;nbsp;=&amp;nbsp;xlWB.Worksheets.Count &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;정리 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Application.StatusBar&amp;nbsp;=&amp;nbsp;False &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set&amp;nbsp;xlWS&amp;nbsp;=&amp;nbsp;Nothing &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set&amp;nbsp;xlWB&amp;nbsp;=&amp;nbsp;Nothing &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set&amp;nbsp;xlApp&amp;nbsp;=&amp;nbsp;Nothing &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set&amp;nbsp;pptSlide&amp;nbsp;=&amp;nbsp;Nothing &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set&amp;nbsp;pptPres&amp;nbsp;=&amp;nbsp;Nothing &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set&amp;nbsp;pptApp&amp;nbsp;=&amp;nbsp;Nothing &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;MsgBox&amp;nbsp;&quot;Excel&amp;nbsp;인쇄영역을&amp;nbsp;PowerPoint로&amp;nbsp;내보내기가&amp;nbsp;완료되었습니다!&quot;&amp;nbsp;&amp;amp;&amp;nbsp;vbCrLf&amp;nbsp;&amp;amp;&amp;nbsp;_ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&quot;총&amp;nbsp;&quot;&amp;nbsp;&amp;amp;&amp;nbsp;totalSheets&amp;nbsp;&amp;amp;&amp;nbsp;&quot;개&amp;nbsp;시트&amp;nbsp;중&amp;nbsp;&quot;&amp;nbsp;&amp;amp;&amp;nbsp;processedSheets&amp;nbsp;&amp;amp;&amp;nbsp;&quot;개의&amp;nbsp;인쇄영역을&amp;nbsp;처리했습니다.&quot;&amp;nbsp;&amp;amp;&amp;nbsp;vbCrLf&amp;nbsp;&amp;amp;&amp;nbsp;_ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&quot;저장&amp;nbsp;위치:&amp;nbsp;&quot;&amp;nbsp;&amp;amp;&amp;nbsp;pptFileName,&amp;nbsp;vbInformation &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Exit&amp;nbsp;Sub &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;ErrorHandler: &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Application.StatusBar&amp;nbsp;=&amp;nbsp;False &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Application.CutCopyMode&amp;nbsp;=&amp;nbsp;False &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;MsgBox&amp;nbsp;&quot;오류가&amp;nbsp;발생했습니다:&amp;nbsp;&quot;&amp;nbsp;&amp;amp;&amp;nbsp;Err.Description&amp;nbsp;&amp;amp;&amp;nbsp;&quot;&amp;nbsp;(에러&amp;nbsp;번호:&amp;nbsp;&quot;&amp;nbsp;&amp;amp;&amp;nbsp;Err.Number&amp;nbsp;&amp;amp;&amp;nbsp;&quot;)&quot;,&amp;nbsp;vbCritical &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;객체&amp;nbsp;정리 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;On&amp;nbsp;Error&amp;nbsp;Resume&amp;nbsp;Next &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set&amp;nbsp;xlWS&amp;nbsp;=&amp;nbsp;Nothing &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set&amp;nbsp;xlWB&amp;nbsp;=&amp;nbsp;Nothing &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set&amp;nbsp;xlApp&amp;nbsp;=&amp;nbsp;Nothing &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set&amp;nbsp;pptSlide&amp;nbsp;=&amp;nbsp;Nothing &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set&amp;nbsp;pptPres&amp;nbsp;=&amp;nbsp;Nothing &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set&amp;nbsp;pptApp&amp;nbsp;=&amp;nbsp;Nothing &lt;br /&gt;End&amp;nbsp;Sub &lt;br /&gt;&lt;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;figure class=&quot;fileblock&quot; data-ke-align=&quot;alignCenter&quot;&gt;&lt;a href=&quot;https://blog.kakaocdn.net/dn/A87SY/dJMb9QFcuzC/0TK67HwzfFE3GaSPkATLZ1/Excel%20%EC%8B%9C%ED%8A%B8%EB%A5%BC%20PowerPoint%20%EC%8A%AC%EB%9D%BC%EC%9D%B4%EB%93%9C%EB%A1%9C%20%EB%82%B4%EB%B3%B4%EB%82%B4%EA%B8%B0.xlsm?attach=1&amp;amp;knm=tfile.xlsm&quot; class=&quot;&quot;&gt;
    &lt;div class=&quot;image&quot;&gt;&lt;/div&gt;
    &lt;div class=&quot;desc&quot;&gt;&lt;div class=&quot;filename&quot;&gt;&lt;span class=&quot;name&quot;&gt;Excel 시트를 PowerPoint 슬라이드로 내보내기.xlsm&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;size&quot;&gt;0.81MB&lt;/div&gt;
&lt;/div&gt;
  &lt;/a&gt;&lt;/figure&gt;
&lt;/p&gt;</description>
      <category>Application 개체</category>
      <category>#엑셀PPT변환 #엑셀인쇄영역추출 #PPT자동화 #엑셀매크로 #ExcelVBA #슬라이드자동삽입 #보고서자동화 #엑셀슬라이드출력 #엑셀PPT저장</category>
      <author>노만e</author>
      <guid isPermaLink="true">https://dream2049.tistory.com/189</guid>
      <comments>https://dream2049.tistory.com/189#entry189comment</comments>
      <pubDate>Sat, 27 Sep 2025 20:00:34 +0900</pubDate>
    </item>
    <item>
      <title>자재명판 라벨문서 만들기(회사용)</title>
      <link>https://dream2049.tistory.com/188</link>
      <description>&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;111.jpg&quot; data-origin-width=&quot;944&quot; data-origin-height=&quot;635&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bgTv7j/btsQOO9FHI2/s4vwF2Ig6ZRoKvUy0KSAcK/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bgTv7j/btsQOO9FHI2/s4vwF2Ig6ZRoKvUy0KSAcK/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bgTv7j/btsQOO9FHI2/s4vwF2Ig6ZRoKvUy0KSAcK/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbgTv7j%2FbtsQOO9FHI2%2Fs4vwF2Ig6ZRoKvUy0KSAcK%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;734&quot; height=&quot;494&quot; data-filename=&quot;111.jpg&quot; data-origin-width=&quot;944&quot; data-origin-height=&quot;635&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-end=&quot;206&quot; data-start=&quot;162&quot; data-ke-size=&quot;size26&quot;&gt;  엑셀 자재명판 자동생성 매크로 - 좌우 레이아웃으로 이미지까지 완성!&lt;/h2&gt;
&lt;blockquote data-end=&quot;301&quot; data-start=&quot;208&quot; data-ke-style=&quot;style1&quot;&gt;
&lt;p data-end=&quot;301&quot; data-start=&quot;210&quot; data-ke-size=&quot;size16&quot;&gt;복잡한 자재 정보와 사진을 하나하나 배치하고 계신가요?&lt;br /&gt;이제는 클릭 한 번으로 &lt;b&gt;사진 + 자재정보&lt;/b&gt;가 자동으로 좌우 정렬되는 엑셀 매크로를 사용해보세요.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;hr data-end=&quot;306&quot; data-start=&quot;303&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-end=&quot;329&quot; data-start=&quot;308&quot; data-ke-size=&quot;size23&quot;&gt;✅ 이 매크로는 무엇을 하나요?&lt;/h3&gt;
&lt;p data-end=&quot;385&quot; data-start=&quot;331&quot; data-ke-size=&quot;size16&quot;&gt;이 VBA 매크로는 엑셀에서 자재 데이터를 기반으로 아래와 같은 &lt;b&gt;자동화 작업&lt;/b&gt;을 수행합니다:&lt;/p&gt;
&lt;div&gt;
&lt;div&gt;작업설명
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-end=&quot;655&quot; data-start=&quot;387&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody data-end=&quot;655&quot; data-start=&quot;415&quot;&gt;
&lt;tr data-end=&quot;463&quot; data-start=&quot;415&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;430&quot; data-start=&quot;415&quot;&gt;  자재목록 불러오기&lt;/td&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;463&quot; data-start=&quot;430&quot;&gt;자재목록 시트에서 자재번호, 품명, 규격 등 읽기&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;520&quot; data-start=&quot;464&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;480&quot; data-start=&quot;464&quot;&gt; ️ 이미지 자동 삽입&lt;/td&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;520&quot; data-start=&quot;480&quot;&gt;자재번호와 일치하는 파일명을 가진 이미지를 폴더에서 자동 불러오기&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;568&quot; data-start=&quot;521&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;532&quot; data-start=&quot;521&quot;&gt;  좌우 배치&lt;/td&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;568&quot; data-start=&quot;532&quot;&gt;하나의 블록에 좌측/우측에 자재 정보와 이미지를 나눠 표시&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;611&quot; data-start=&quot;569&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;580&quot; data-start=&quot;569&quot;&gt;✂️ 자동 백업&lt;/td&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;611&quot; data-start=&quot;580&quot;&gt;기존 출력 시트를 자동 백업하고 새로운 시트 생성&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;655&quot; data-start=&quot;612&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;623&quot; data-start=&quot;612&quot;&gt;  자동 정리&lt;/td&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;655&quot; data-start=&quot;623&quot;&gt;이전 사진 제거 및 셀 초기화로 깔끔한 출력물 생성&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;hr data-end=&quot;660&quot; data-start=&quot;657&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-end=&quot;684&quot; data-start=&quot;662&quot; data-ke-size=&quot;size23&quot;&gt;  왜 이 매크로가 필요할까요?&lt;/h3&gt;
&lt;blockquote data-end=&quot;724&quot; data-start=&quot;686&quot; data-ke-style=&quot;style1&quot;&gt;
&lt;p data-end=&quot;724&quot; data-start=&quot;688&quot; data-ke-size=&quot;size16&quot;&gt;자재 사진을 수작업으로 붙이고 텍스트를 입력하는 작업, 지치셨죠?&lt;/p&gt;
&lt;/blockquote&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;783&quot; data-start=&quot;726&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;750&quot; data-start=&quot;726&quot;&gt;1분이면 자재명판 100개 출력 준비 끝&lt;/li&gt;
&lt;li data-end=&quot;766&quot; data-start=&quot;751&quot;&gt;반복 작업에서 완전 해방&lt;/li&gt;
&lt;li data-end=&quot;783&quot; data-start=&quot;767&quot;&gt;깔끔하고 통일된 출력 양식&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-end=&quot;788&quot; data-start=&quot;785&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-end=&quot;803&quot; data-start=&quot;790&quot; data-ke-size=&quot;size23&quot;&gt; ️ 사용 방법&lt;/h3&gt;
&lt;h4 data-end=&quot;817&quot; data-start=&quot;805&quot; data-ke-size=&quot;size20&quot;&gt;① 시트 구성&lt;/h4&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;902&quot; data-start=&quot;818&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;855&quot; data-start=&quot;818&quot;&gt;자재목록 시트: 자재번호, 품명, 규격 등 자재 데이터 입력&lt;/li&gt;
&lt;li data-end=&quot;902&quot; data-start=&quot;856&quot;&gt;자재사진통합 시트: &lt;b&gt;1~9행 레이아웃 템플릿&lt;/b&gt; 준비 (좌우 구조 포함)&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 data-end=&quot;917&quot; data-start=&quot;904&quot; data-ke-size=&quot;size20&quot;&gt;② 매크로 실행&lt;/h4&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-end=&quot;1031&quot; data-start=&quot;918&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li data-end=&quot;950&quot; data-start=&quot;918&quot;&gt;Alt + F11 &amp;rarr; 모듈 추가 후 코드 붙여넣기&lt;/li&gt;
&lt;li data-end=&quot;988&quot; data-start=&quot;951&quot;&gt;Alt + F8 &amp;rarr; 자재명판_자동생성_좌우레이아웃 실행&lt;/li&gt;
&lt;li data-end=&quot;1002&quot; data-start=&quot;989&quot;&gt;시작행/종료행 입력&lt;/li&gt;
&lt;li data-end=&quot;1015&quot; data-start=&quot;1003&quot;&gt;이미지 폴더 선택&lt;/li&gt;
&lt;li data-end=&quot;1031&quot; data-start=&quot;1016&quot;&gt;완성된 출력물을 확인!&lt;/li&gt;
&lt;/ol&gt;
&lt;hr data-end=&quot;1036&quot; data-start=&quot;1033&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-end=&quot;1056&quot; data-start=&quot;1038&quot; data-ke-size=&quot;size23&quot;&gt; ️ 출력 레이아웃 예시&lt;/h3&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;span&gt;+&lt;/span&gt;&lt;span&gt;&lt;span&gt;---------------------+ +---------------------+&lt;/span&gt;&lt;/span&gt;&lt;span&gt; | 자재 사진 (좌) | | 자재 사진 (우) | | | | | +&lt;/span&gt;&lt;span&gt;&lt;span&gt;---------------------+ +---------------------+&lt;/span&gt;&lt;/span&gt;&lt;span&gt; | SAP &lt;/span&gt;&lt;span&gt;&lt;span&gt;NO&lt;/span&gt;&lt;/span&gt;&lt;span&gt; | | SAP &lt;/span&gt;&lt;span&gt;&lt;span&gt;NO&lt;/span&gt;&lt;/span&gt;&lt;span&gt; | | 자재번호 | | 자재번호 | | 품명 | | 품명 | | 규격 | | 규격 | | 설비 종류 | | 설비 종류 | | Conv&amp;rsquo; &lt;/span&gt;&lt;span&gt;&lt;span&gt;Type&lt;/span&gt;&lt;/span&gt;&lt;span&gt; | | Conv&amp;rsquo; &lt;/span&gt;&lt;span&gt;&lt;span&gt;Type&lt;/span&gt;&lt;/span&gt;&lt;span&gt; | | Rack &lt;/span&gt;&lt;span&gt;&lt;span&gt;No&lt;/span&gt;&lt;/span&gt;&lt;span&gt; | | Rack &lt;/span&gt;&lt;span&gt;&lt;span&gt;No&lt;/span&gt;&lt;/span&gt;&lt;span&gt; | +&lt;/span&gt;&lt;span&gt;&lt;span&gt;---------------------+ +---------------------+&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1698&quot; data-start=&quot;1635&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1664&quot; data-start=&quot;1635&quot;&gt;홀수 개 자재일 경우 마지막 오른쪽은 자동 비워짐&lt;/li&gt;
&lt;li data-end=&quot;1698&quot; data-start=&quot;1665&quot;&gt;각 블록마다 정확한 행 높이 적용으로 &lt;b&gt;출력 최적화&lt;/b&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-end=&quot;1703&quot; data-start=&quot;1700&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-end=&quot;1726&quot; data-start=&quot;1705&quot; data-ke-size=&quot;size23&quot;&gt;  파일/시트 자동 보호 기능&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1802&quot; data-start=&quot;1728&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1778&quot; data-start=&quot;1728&quot;&gt;기존 출력 시트는 자동으로 &lt;b&gt;자재사진통합_001&lt;/b&gt;, 002 등으로 백업됨&lt;/li&gt;
&lt;li data-end=&quot;1802&quot; data-start=&quot;1779&quot;&gt;덮어쓰기 걱정 없이 안전하게 사용 가능&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-end=&quot;1807&quot; data-start=&quot;1804&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-end=&quot;1822&quot; data-start=&quot;1809&quot; data-ke-size=&quot;size23&quot;&gt;  파일명 규칙&lt;/h3&gt;
&lt;p data-end=&quot;1866&quot; data-start=&quot;1824&quot; data-ke-size=&quot;size16&quot;&gt;이미지 파일명은 &lt;b&gt;자재번호와 동일한 이름&lt;/b&gt;이어야 하며 다음 확장자 지원:&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1908&quot; data-start=&quot;1867&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1908&quot; data-start=&quot;1867&quot;&gt;.jpg, .jpeg, .png, .bmp, .gif&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-end=&quot;1946&quot; data-start=&quot;1910&quot; data-ke-size=&quot;size16&quot;&gt;예)&lt;br /&gt;ABC123.jpg, DEF456.jpeg ...&lt;/p&gt;
&lt;hr data-end=&quot;1951&quot; data-start=&quot;1948&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h2 data-end=&quot;1972&quot; data-start=&quot;1953&quot; data-ke-size=&quot;size26&quot;&gt;✅ 매크로 다운로드 또는 복사&lt;/h2&gt;
&lt;p data-end=&quot;2005&quot; data-start=&quot;1974&quot; data-ke-size=&quot;size16&quot;&gt;코드를 직접 붙여넣고 싶으신 분은 아래 버튼 클릭 &lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 100%;&quot;&gt;Option&amp;nbsp;Explicit &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;'&amp;nbsp;======&amp;nbsp;사용자&amp;nbsp;진입점&amp;nbsp;====== &lt;br /&gt;Public&amp;nbsp;Sub&amp;nbsp;자재명판_자동생성_좌우레이아웃() &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Const&amp;nbsp;SHT_SRC&amp;nbsp;As&amp;nbsp;String&amp;nbsp;=&amp;nbsp;&quot;자재목록&quot; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Const&amp;nbsp;SHT_OUT&amp;nbsp;As&amp;nbsp;String&amp;nbsp;=&amp;nbsp;&quot;자재사진통합&quot; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;wsS&amp;nbsp;As&amp;nbsp;Worksheet,&amp;nbsp;wsO&amp;nbsp;As&amp;nbsp;Worksheet &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;wsOld&amp;nbsp;As&amp;nbsp;Worksheet,&amp;nbsp;wsNew&amp;nbsp;As&amp;nbsp;Worksheet &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;startRow&amp;nbsp;As&amp;nbsp;Range,&amp;nbsp;endRow&amp;nbsp;As&amp;nbsp;Range &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;n&amp;nbsp;As&amp;nbsp;Long,&amp;nbsp;blocks&amp;nbsp;As&amp;nbsp;Long &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;folderPath&amp;nbsp;As&amp;nbsp;String &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;i&amp;nbsp;As&amp;nbsp;Long,&amp;nbsp;idx&amp;nbsp;As&amp;nbsp;Long &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;baseRow&amp;nbsp;As&amp;nbsp;Long &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set&amp;nbsp;wsS&amp;nbsp;=&amp;nbsp;ThisWorkbook.Worksheets(SHT_SRC) &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;---&amp;nbsp;0)&amp;nbsp;실행&amp;nbsp;시작:&amp;nbsp;자재사진통합&amp;nbsp;시트&amp;nbsp;복사&amp;nbsp;&amp;rarr;&amp;nbsp;기존&amp;nbsp;시트는&amp;nbsp;일련번호로,&amp;nbsp;새&amp;nbsp;시트는&amp;nbsp;표준명&amp;nbsp;유지&amp;nbsp;--- &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;On&amp;nbsp;Error&amp;nbsp;Resume&amp;nbsp;Next &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Application.DisplayAlerts&amp;nbsp;=&amp;nbsp;False &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set&amp;nbsp;wsOld&amp;nbsp;=&amp;nbsp;ThisWorkbook.Worksheets(SHT_OUT) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;On&amp;nbsp;Error&amp;nbsp;GoTo&amp;nbsp;0 &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;Not&amp;nbsp;wsOld&amp;nbsp;Is&amp;nbsp;Nothing&amp;nbsp;Then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;(1)&amp;nbsp;기존&amp;nbsp;시트&amp;nbsp;복사&amp;nbsp;(같은&amp;nbsp;통합문서&amp;nbsp;내에&amp;nbsp;바로&amp;nbsp;뒤에&amp;nbsp;복사) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;wsOld.Copy&amp;nbsp;After:=wsOld &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set&amp;nbsp;wsNew&amp;nbsp;=&amp;nbsp;ActiveSheet&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;방금&amp;nbsp;복사된&amp;nbsp;시트 &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;(2)&amp;nbsp;기존&amp;nbsp;시트&amp;nbsp;이름을&amp;nbsp;일련번호로&amp;nbsp;변경 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;oldBackupName&amp;nbsp;As&amp;nbsp;String &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;oldBackupName&amp;nbsp;=&amp;nbsp;NextSerialName(SHT_OUT&amp;nbsp;&amp;amp;&amp;nbsp;&quot;_&quot;) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;wsOld.Name&amp;nbsp;=&amp;nbsp;oldBackupName &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;(3)&amp;nbsp;새&amp;nbsp;시트명을&amp;nbsp;표준명으로&amp;nbsp;변경&amp;nbsp;(충돌&amp;nbsp;없음:&amp;nbsp;기존은&amp;nbsp;이미&amp;nbsp;백업명으로&amp;nbsp;변경됨) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;wsNew.Name&amp;nbsp;=&amp;nbsp;SHT_OUT &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set&amp;nbsp;wsO&amp;nbsp;=&amp;nbsp;wsNew &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Else &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;자재사진통합&amp;nbsp;시트가&amp;nbsp;없으면&amp;nbsp;새로&amp;nbsp;생성&amp;nbsp;(사용자가&amp;nbsp;1:9&amp;nbsp;템플릿을&amp;nbsp;구성해뒀다고&amp;nbsp;가정) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set&amp;nbsp;wsO&amp;nbsp;=&amp;nbsp;ThisWorkbook.Worksheets.Add &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;wsO.Name&amp;nbsp;=&amp;nbsp;SHT_OUT &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;If &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;(4)&amp;nbsp;요청사항:&amp;nbsp;새&amp;nbsp;시트&amp;nbsp;10:100000행&amp;nbsp;모두&amp;nbsp;지우고,&amp;nbsp;사진&amp;nbsp;전부&amp;nbsp;삭제 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;wsO.Rows(&quot;10:100000&quot;).Clear &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;DeletePicturesInRange&amp;nbsp;wsO,&amp;nbsp;wsO.Cells &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;(5)&amp;nbsp;(기존&amp;nbsp;코드&amp;nbsp;유지)&amp;nbsp;기본&amp;nbsp;행&amp;nbsp;높이&amp;nbsp;보정 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;wsO.Rows(&quot;10:1000&quot;).RowHeight&amp;nbsp;=&amp;nbsp;10 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;1)&amp;nbsp;범위&amp;nbsp;입력&amp;nbsp;(시작/끝&amp;nbsp;행) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;On&amp;nbsp;Error&amp;nbsp;Resume&amp;nbsp;Next &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;wsS.Select &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;wsS.Cells.Interior.ColorIndex&amp;nbsp;=&amp;nbsp;2 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set&amp;nbsp;startRow&amp;nbsp;=&amp;nbsp;Application.InputBox(&quot;자재목록에서&amp;nbsp;시작&amp;nbsp;행&amp;nbsp;번호를&amp;nbsp;입력하세요&amp;nbsp;(헤더&amp;nbsp;제외)&quot;,&amp;nbsp;Type:=8) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;startRow&amp;nbsp;Is&amp;nbsp;Nothing&amp;nbsp;Then&amp;nbsp;Exit&amp;nbsp;Sub &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set&amp;nbsp;endRow&amp;nbsp;=&amp;nbsp;Application.InputBox(&quot;자재목록에서&amp;nbsp;마지막&amp;nbsp;행&amp;nbsp;번호를&amp;nbsp;입력하세요&quot;,&amp;nbsp;Type:=8) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;startRow&amp;nbsp;Is&amp;nbsp;Nothing&amp;nbsp;Then&amp;nbsp;Exit&amp;nbsp;Sub &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;For&amp;nbsp;i&amp;nbsp;=&amp;nbsp;startRow.Row&amp;nbsp;To&amp;nbsp;endRow.Row &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;wsS.Cells(i,&amp;nbsp;startRow.Column).Interior.ColorIndex&amp;nbsp;=&amp;nbsp;34 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Next&amp;nbsp;i &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;endRow.Row&amp;nbsp;&amp;lt;&amp;nbsp;2&amp;nbsp;Or&amp;nbsp;endRow.Row&amp;nbsp;&amp;lt;&amp;nbsp;startRow.Row&amp;nbsp;Then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;MsgBox&amp;nbsp;&quot;행&amp;nbsp;번호가&amp;nbsp;올바르지&amp;nbsp;않습니다.&quot;,&amp;nbsp;vbExclamation:&amp;nbsp;Exit&amp;nbsp;Sub &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;If &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;2)&amp;nbsp;자재&amp;nbsp;수량&amp;nbsp;및&amp;nbsp;블록(1:9행&amp;nbsp;템플릿)&amp;nbsp;수&amp;nbsp;계산 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;n&amp;nbsp;=&amp;nbsp;endRow.Row&amp;nbsp;-&amp;nbsp;startRow.Row&amp;nbsp;+&amp;nbsp;1 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;blocks&amp;nbsp;=&amp;nbsp;(n&amp;nbsp;+&amp;nbsp;1)&amp;nbsp;\&amp;nbsp;2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;=&amp;nbsp;Ceiling(n/2) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;3)&amp;nbsp;사진&amp;nbsp;폴더&amp;nbsp;선택 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;folderPath&amp;nbsp;=&amp;nbsp;폴더선택() &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;Len(folderPath)&amp;nbsp;=&amp;nbsp;0&amp;nbsp;Then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;MsgBox&amp;nbsp;&quot;사진&amp;nbsp;폴더가&amp;nbsp;선택되지&amp;nbsp;않았습니다.&quot;,&amp;nbsp;vbExclamation &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Exit&amp;nbsp;Sub &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;If &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Application.ScreenUpdating&amp;nbsp;=&amp;nbsp;False &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Application.EnableEvents&amp;nbsp;=&amp;nbsp;False &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Application.DisplayAlerts&amp;nbsp;=&amp;nbsp;False &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;On&amp;nbsp;Error&amp;nbsp;GoTo&amp;nbsp;FINALLY &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;4)&amp;nbsp;출력&amp;nbsp;시트&amp;nbsp;초기화&amp;nbsp;(1:9&amp;nbsp;템플릿은&amp;nbsp;원본으로&amp;nbsp;사용하므로,&amp;nbsp;10행&amp;nbsp;이하만&amp;nbsp;남기고&amp;nbsp;아래&amp;nbsp;모두&amp;nbsp;정리) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ClearBelow&amp;nbsp;wsO,&amp;nbsp;10 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;DeletePicturesInRange&amp;nbsp;wsO,&amp;nbsp;wsO.UsedRange &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;5)&amp;nbsp;블록&amp;nbsp;복제&amp;nbsp;(1:9행&amp;nbsp;&amp;rarr;&amp;nbsp;blocks회,&amp;nbsp;블록&amp;nbsp;사이&amp;nbsp;1행&amp;nbsp;공백) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;b&amp;nbsp;As&amp;nbsp;Long &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;For&amp;nbsp;b&amp;nbsp;=&amp;nbsp;1&amp;nbsp;To&amp;nbsp;blocks &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;b&amp;nbsp;=&amp;nbsp;1&amp;nbsp;Then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;첫&amp;nbsp;블록은&amp;nbsp;기존&amp;nbsp;1:9가&amp;nbsp;템플릿이므로&amp;nbsp;그대로&amp;nbsp;사용 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Else &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;baseRow&amp;nbsp;=&amp;nbsp;1&amp;nbsp;+&amp;nbsp;(b&amp;nbsp;-&amp;nbsp;1)&amp;nbsp;*&amp;nbsp;(9&amp;nbsp;+&amp;nbsp;1)&amp;nbsp;'&amp;nbsp;9행&amp;nbsp;블록&amp;nbsp;+&amp;nbsp;1행&amp;nbsp;공백 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;wsO.Rows(&quot;1:9&quot;).Copy &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;wsO.Rows(baseRow&amp;nbsp;&amp;amp;&amp;nbsp;&quot;:&quot;&amp;nbsp;&amp;amp;&amp;nbsp;baseRow&amp;nbsp;+&amp;nbsp;8).Insert&amp;nbsp;Shift:=xlDown &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;공백&amp;nbsp;1행&amp;nbsp;삽입 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;wsO.Rows(baseRow&amp;nbsp;+&amp;nbsp;9).Insert &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;If &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Next&amp;nbsp;b &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;6)&amp;nbsp;행&amp;nbsp;높이(권장&amp;nbsp;규격)&amp;nbsp;통일:&amp;nbsp;1행&amp;nbsp;31.5,&amp;nbsp;2행&amp;nbsp;210,&amp;nbsp;3~9행&amp;nbsp;30&amp;nbsp;(각&amp;nbsp;블록마다&amp;nbsp;적용) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ApplyRowHeights&amp;nbsp;wsO,&amp;nbsp;blocks &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;7)&amp;nbsp;좌우&amp;nbsp;레이아웃에&amp;nbsp;데이터/사진&amp;nbsp;채우기 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;idx&amp;nbsp;=&amp;nbsp;0 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;For&amp;nbsp;i&amp;nbsp;=&amp;nbsp;startRow.Row&amp;nbsp;To&amp;nbsp;endRow.Row &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;blk&amp;nbsp;As&amp;nbsp;Long,&amp;nbsp;isLeft&amp;nbsp;As&amp;nbsp;Boolean &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;blk&amp;nbsp;=&amp;nbsp;(idx&amp;nbsp;\&amp;nbsp;2)&amp;nbsp;+&amp;nbsp;1 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;isLeft&amp;nbsp;=&amp;nbsp;(idx&amp;nbsp;Mod&amp;nbsp;2&amp;nbsp;=&amp;nbsp;0) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;baseRow&amp;nbsp;=&amp;nbsp;1&amp;nbsp;+&amp;nbsp;(blk&amp;nbsp;-&amp;nbsp;1)&amp;nbsp;*&amp;nbsp;(9&amp;nbsp;+&amp;nbsp;1)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;해당&amp;nbsp;블록의&amp;nbsp;시작&amp;nbsp;행(템플릿의&amp;nbsp;1행) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;isLeft&amp;nbsp;Then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;----&amp;nbsp;Left:&amp;nbsp;사진&amp;nbsp;B2:D2,&amp;nbsp;텍스트&amp;nbsp;C3:D9&amp;nbsp;---- &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;FillOneRecord&amp;nbsp;_ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;wsS,&amp;nbsp;wsO,&amp;nbsp;i,&amp;nbsp;_ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;wsO.Range(&quot;B2:D2&quot;).Offset(baseRow&amp;nbsp;-&amp;nbsp;1,&amp;nbsp;0),&amp;nbsp;_ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;wsO.Range(&quot;C3:D9&quot;).Offset(baseRow&amp;nbsp;-&amp;nbsp;1,&amp;nbsp;0),&amp;nbsp;_ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;folderPath &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Else &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;----&amp;nbsp;Right:&amp;nbsp;사진&amp;nbsp;F2:H2,&amp;nbsp;텍스트&amp;nbsp;G3:H9&amp;nbsp;---- &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;FillOneRecord&amp;nbsp;_ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;wsS,&amp;nbsp;wsO,&amp;nbsp;i,&amp;nbsp;_ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;wsO.Range(&quot;F2:H2&quot;).Offset(baseRow&amp;nbsp;-&amp;nbsp;1,&amp;nbsp;0),&amp;nbsp;_ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;wsO.Range(&quot;G3:H9&quot;).Offset(baseRow&amp;nbsp;-&amp;nbsp;1,&amp;nbsp;0),&amp;nbsp;_ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;folderPath &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;If &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;idx&amp;nbsp;=&amp;nbsp;idx&amp;nbsp;+&amp;nbsp;1 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Next&amp;nbsp;i &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;===&amp;nbsp;홀수&amp;nbsp;개&amp;nbsp;처리:&amp;nbsp;마지막&amp;nbsp;블록의&amp;nbsp;오른쪽&amp;nbsp;비우기&amp;nbsp;=== &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;(n&amp;nbsp;Mod&amp;nbsp;2&amp;nbsp;=&amp;nbsp;1)&amp;nbsp;Then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;lastBlk&amp;nbsp;As&amp;nbsp;Long,&amp;nbsp;lastBase&amp;nbsp;As&amp;nbsp;Long &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;lastBlk&amp;nbsp;=&amp;nbsp;blocks &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;lastBase&amp;nbsp;=&amp;nbsp;1&amp;nbsp;+&amp;nbsp;(lastBlk&amp;nbsp;-&amp;nbsp;1)&amp;nbsp;*&amp;nbsp;(9&amp;nbsp;+&amp;nbsp;1) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;오른쪽&amp;nbsp;사진/텍스트&amp;nbsp;영역&amp;nbsp;비우기 &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;wsO.Range(&quot;G2:H2&quot;).Offset(lastBase,&amp;nbsp;0).Resize(7).ClearContents &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;'&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;wsO.Range(&quot;G3:H9&quot;).Offset(lastBase,&amp;nbsp;0).ClearContents &lt;br /&gt;'&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;DeletePicturesInRange&amp;nbsp;wsO,&amp;nbsp;wsO.Range(&quot;F2:H2&quot;).Offset(lastBase&amp;nbsp;-&amp;nbsp;1,&amp;nbsp;0) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;If &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;FINALLY: &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Application.DisplayAlerts&amp;nbsp;=&amp;nbsp;True &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Application.EnableEvents&amp;nbsp;=&amp;nbsp;True &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Application.ScreenUpdating&amp;nbsp;=&amp;nbsp;True &lt;br /&gt;End&amp;nbsp;Sub &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;'&amp;nbsp;존재하지&amp;nbsp;않는&amp;nbsp;다음&amp;nbsp;일련번호&amp;nbsp;시트명&amp;nbsp;반환:&amp;nbsp;prefix_001,&amp;nbsp;_002&amp;nbsp;...&amp;nbsp;없으면&amp;nbsp;타임스탬프 &lt;br /&gt;Public&amp;nbsp;Function&amp;nbsp;NextSerialName(ByVal&amp;nbsp;prefix&amp;nbsp;As&amp;nbsp;String)&amp;nbsp;As&amp;nbsp;String &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;i&amp;nbsp;As&amp;nbsp;Long,&amp;nbsp;candidate&amp;nbsp;As&amp;nbsp;String &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;For&amp;nbsp;i&amp;nbsp;=&amp;nbsp;1&amp;nbsp;To&amp;nbsp;999 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;candidate&amp;nbsp;=&amp;nbsp;prefix&amp;nbsp;&amp;amp;&amp;nbsp;Format$(i,&amp;nbsp;&quot;000&quot;) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;Not&amp;nbsp;SheetExists(ThisWorkbook,&amp;nbsp;candidate)&amp;nbsp;Then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;NextSerialName&amp;nbsp;=&amp;nbsp;candidate &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Exit&amp;nbsp;Function &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;If &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Next&amp;nbsp;i &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;NextSerialName&amp;nbsp;=&amp;nbsp;prefix&amp;nbsp;&amp;amp;&amp;nbsp;Format(Now,&amp;nbsp;&quot;yyyymmdd_hhnnss&quot;) &lt;br /&gt;End&amp;nbsp;Function &lt;br /&gt;&lt;br /&gt;'&amp;nbsp;시트&amp;nbsp;존재&amp;nbsp;여부&amp;nbsp;확인 &lt;br /&gt;Public&amp;nbsp;Function&amp;nbsp;SheetExists(ByVal&amp;nbsp;wb&amp;nbsp;As&amp;nbsp;Workbook,&amp;nbsp;ByVal&amp;nbsp;sheetName&amp;nbsp;As&amp;nbsp;String)&amp;nbsp;As&amp;nbsp;Boolean &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;ws&amp;nbsp;As&amp;nbsp;Worksheet &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;On&amp;nbsp;Error&amp;nbsp;Resume&amp;nbsp;Next &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set&amp;nbsp;ws&amp;nbsp;=&amp;nbsp;wb.Worksheets(sheetName) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;SheetExists&amp;nbsp;=&amp;nbsp;Not&amp;nbsp;ws&amp;nbsp;Is&amp;nbsp;Nothing &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set&amp;nbsp;ws&amp;nbsp;=&amp;nbsp;Nothing &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;On&amp;nbsp;Error&amp;nbsp;GoTo&amp;nbsp;0 &lt;br /&gt;End&amp;nbsp;Function &lt;br /&gt;'&amp;nbsp;======&amp;nbsp;개별&amp;nbsp;레코드&amp;nbsp;쓰기&amp;nbsp;====== &lt;br /&gt;Private&amp;nbsp;Sub&amp;nbsp;FillOneRecord(&amp;nbsp;_ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ByVal&amp;nbsp;wsS&amp;nbsp;As&amp;nbsp;Worksheet,&amp;nbsp;ByVal&amp;nbsp;wsO&amp;nbsp;As&amp;nbsp;Worksheet,&amp;nbsp;ByVal&amp;nbsp;srcRow&amp;nbsp;As&amp;nbsp;Long,&amp;nbsp;_ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ByVal&amp;nbsp;rngPhoto&amp;nbsp;As&amp;nbsp;Range,&amp;nbsp;ByVal&amp;nbsp;rngDetail&amp;nbsp;As&amp;nbsp;Range,&amp;nbsp;ByVal&amp;nbsp;folderPath&amp;nbsp;As&amp;nbsp;String) &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;자재번호로&amp;nbsp;파일&amp;nbsp;찾기&amp;nbsp;(B열) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;partNo&amp;nbsp;As&amp;nbsp;String:&amp;nbsp;partNo&amp;nbsp;=&amp;nbsp;Trim$(CStr(wsS.Cells(srcRow,&amp;nbsp;&quot;B&quot;).Value)) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;imgPath&amp;nbsp;As&amp;nbsp;String:&amp;nbsp;imgPath&amp;nbsp;=&amp;nbsp;GetImagePathByPartNo(folderPath,&amp;nbsp;partNo) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;사진&amp;nbsp;지우고&amp;nbsp;삽입 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;DeletePicturesInRange&amp;nbsp;wsO,&amp;nbsp;rngPhoto &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;Len(imgPath)&amp;nbsp;&amp;gt;&amp;nbsp;0&amp;nbsp;Then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;PlaceImageFit&amp;nbsp;wsO,&amp;nbsp;rngPhoto,&amp;nbsp;imgPath &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Else &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;With&amp;nbsp;rngPhoto &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.Value&amp;nbsp;=&amp;nbsp;&quot;사진&amp;nbsp;없음&quot; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.HorizontalAlignment&amp;nbsp;=&amp;nbsp;xlCenter &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.VerticalAlignment&amp;nbsp;=&amp;nbsp;xlCenter &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.Font.Size&amp;nbsp;=&amp;nbsp;14 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.Font.Bold&amp;nbsp;=&amp;nbsp;True &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;With &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;If &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;상세&amp;nbsp;텍스트&amp;nbsp;쓰기&amp;nbsp;(C3:D9&amp;nbsp;또는&amp;nbsp;G3:H9)&amp;nbsp;?&amp;nbsp;병합셀&amp;nbsp;대응 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;순서:&amp;nbsp;SAP&amp;nbsp;No,&amp;nbsp;자재&amp;nbsp;번호,&amp;nbsp;품명,&amp;nbsp;규격,&amp;nbsp;설비&amp;nbsp;종류,&amp;nbsp;Conv'&amp;nbsp;Type,&amp;nbsp;Rack&amp;nbsp;No &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;vals(1&amp;nbsp;To&amp;nbsp;7)&amp;nbsp;As&amp;nbsp;Variant &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;vals(1)&amp;nbsp;=&amp;nbsp;wsS.Cells(srcRow,&amp;nbsp;&quot;A&quot;).Value &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;vals(2)&amp;nbsp;=&amp;nbsp;wsS.Cells(srcRow,&amp;nbsp;&quot;B&quot;).Value &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;vals(3)&amp;nbsp;=&amp;nbsp;wsS.Cells(srcRow,&amp;nbsp;&quot;C&quot;).Value &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;vals(4)&amp;nbsp;=&amp;nbsp;wsS.Cells(srcRow,&amp;nbsp;&quot;D&quot;).Value &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;vals(5)&amp;nbsp;=&amp;nbsp;wsS.Cells(srcRow,&amp;nbsp;&quot;E&quot;).Value &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;vals(6)&amp;nbsp;=&amp;nbsp;wsS.Cells(srcRow,&amp;nbsp;&quot;F&quot;).Value &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;vals(7)&amp;nbsp;=&amp;nbsp;wsS.Cells(srcRow,&amp;nbsp;&quot;G&quot;).Value &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;r&amp;nbsp;As&amp;nbsp;Long &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;For&amp;nbsp;r&amp;nbsp;=&amp;nbsp;1&amp;nbsp;To&amp;nbsp;7 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;With&amp;nbsp;rngDetail.Rows(r) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.Value&amp;nbsp;=&amp;nbsp;vals(r) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.HorizontalAlignment&amp;nbsp;=&amp;nbsp;xlCenter &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.VerticalAlignment&amp;nbsp;=&amp;nbsp;xlCenter &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.WrapText&amp;nbsp;=&amp;nbsp;True &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;With &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Next&amp;nbsp;r &lt;br /&gt;End&amp;nbsp;Sub &lt;br /&gt;&lt;br /&gt;'&amp;nbsp;======&amp;nbsp;이미지&amp;nbsp;경로&amp;nbsp;찾기&amp;nbsp;(.jpg/.jpeg/.png/.bmp/.gif)&amp;nbsp;====== &lt;br /&gt;Private&amp;nbsp;Function&amp;nbsp;GetImagePathByPartNo(ByVal&amp;nbsp;folderPath&amp;nbsp;As&amp;nbsp;String,&amp;nbsp;ByVal&amp;nbsp;partNo&amp;nbsp;As&amp;nbsp;String)&amp;nbsp;As&amp;nbsp;String &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;ext&amp;nbsp;As&amp;nbsp;Variant,&amp;nbsp;p&amp;nbsp;As&amp;nbsp;String &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;exts&amp;nbsp;As&amp;nbsp;Variant:&amp;nbsp;exts&amp;nbsp;=&amp;nbsp;Array(&quot;*.jpg&quot;,&amp;nbsp;&quot;*.jpeg&quot;,&amp;nbsp;&quot;*.png&quot;,&amp;nbsp;&quot;*.bmp&quot;,&amp;nbsp;&quot;*.gif&quot;) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;f&amp;nbsp;As&amp;nbsp;String &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;Right$(folderPath,&amp;nbsp;1)&amp;nbsp;&amp;lt;&amp;gt;&amp;nbsp;&quot;\&quot;&amp;nbsp;Then&amp;nbsp;folderPath&amp;nbsp;=&amp;nbsp;folderPath&amp;nbsp;&amp;amp;&amp;nbsp;&quot;\&quot; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;For&amp;nbsp;Each&amp;nbsp;ext&amp;nbsp;In&amp;nbsp;exts &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;f&amp;nbsp;=&amp;nbsp;Dir$(folderPath&amp;nbsp;&amp;amp;&amp;nbsp;partNo&amp;nbsp;&amp;amp;&amp;nbsp;&quot;.&quot;&amp;nbsp;&amp;amp;&amp;nbsp;Replace(ext,&amp;nbsp;&quot;*.&quot;,&amp;nbsp;&quot;&quot;)) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;Len(f)&amp;nbsp;&amp;gt;&amp;nbsp;0&amp;nbsp;Then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;GetImagePathByPartNo&amp;nbsp;=&amp;nbsp;folderPath&amp;nbsp;&amp;amp;&amp;nbsp;f &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Exit&amp;nbsp;Function &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;If &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;확장자&amp;nbsp;대소문자&amp;nbsp;섞여&amp;nbsp;있는&amp;nbsp;경우를&amp;nbsp;대비한&amp;nbsp;와일드카드&amp;nbsp;탐색 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;f&amp;nbsp;=&amp;nbsp;Dir$(folderPath&amp;nbsp;&amp;amp;&amp;nbsp;partNo&amp;nbsp;&amp;amp;&amp;nbsp;&quot;*&quot;) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;Len(f)&amp;nbsp;&amp;gt;&amp;nbsp;0&amp;nbsp;Then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;p&amp;nbsp;=&amp;nbsp;LCase$(f) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;Right$(p,&amp;nbsp;4)&amp;nbsp;=&amp;nbsp;&quot;.jpg&quot;&amp;nbsp;Or&amp;nbsp;Right$(p,&amp;nbsp;5)&amp;nbsp;=&amp;nbsp;&quot;.jpeg&quot;&amp;nbsp;Or&amp;nbsp;Right$(p,&amp;nbsp;4)&amp;nbsp;=&amp;nbsp;&quot;.png&quot;&amp;nbsp;_ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Or&amp;nbsp;Right$(p,&amp;nbsp;4)&amp;nbsp;=&amp;nbsp;&quot;.bmp&quot;&amp;nbsp;Or&amp;nbsp;Right$(p,&amp;nbsp;4)&amp;nbsp;=&amp;nbsp;&quot;.gif&quot;&amp;nbsp;Then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;GetImagePathByPartNo&amp;nbsp;=&amp;nbsp;folderPath&amp;nbsp;&amp;amp;&amp;nbsp;f &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Exit&amp;nbsp;Function &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;If &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;If &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Next&amp;nbsp;ext &lt;br /&gt;End&amp;nbsp;Function &lt;br /&gt;&lt;br /&gt;'&amp;nbsp;병합셀&amp;nbsp;전체(MergeArea)의&amp;nbsp;좌표를&amp;nbsp;이용해&amp;nbsp;&quot;가득&amp;nbsp;채우기&quot;&amp;nbsp;배치 &lt;br /&gt;'&amp;nbsp;병합셀&amp;nbsp;내부에&amp;nbsp;&quot;가득&amp;nbsp;채우되&quot;&amp;nbsp;종횡비를&amp;nbsp;고정하지&amp;nbsp;않고(contain&amp;nbsp;아님), &lt;br /&gt;'&amp;nbsp;좌우&amp;middot;상하&amp;nbsp;여백이&amp;nbsp;각각&amp;nbsp;동일하도록&amp;nbsp;중앙&amp;nbsp;정렬하는&amp;nbsp;버전 &lt;br /&gt;Private&amp;nbsp;Sub&amp;nbsp;PlaceImageFit(ByVal&amp;nbsp;ws&amp;nbsp;As&amp;nbsp;Worksheet,&amp;nbsp;ByVal&amp;nbsp;tgt&amp;nbsp;As&amp;nbsp;Range,&amp;nbsp;ByVal&amp;nbsp;imgPath&amp;nbsp;As&amp;nbsp;String,&amp;nbsp;Optional&amp;nbsp;ByVal&amp;nbsp;inset&amp;nbsp;As&amp;nbsp;Double&amp;nbsp;=&amp;nbsp;4) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;area&amp;nbsp;As&amp;nbsp;Range &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;L&amp;nbsp;As&amp;nbsp;Double,&amp;nbsp;T&amp;nbsp;As&amp;nbsp;Double,&amp;nbsp;W&amp;nbsp;As&amp;nbsp;Double,&amp;nbsp;H&amp;nbsp;As&amp;nbsp;Double &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;Wi&amp;nbsp;As&amp;nbsp;Double,&amp;nbsp;Hi&amp;nbsp;As&amp;nbsp;Double &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;shp&amp;nbsp;As&amp;nbsp;Shape &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;병합&amp;nbsp;범위&amp;nbsp;전체&amp;nbsp;박스 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set&amp;nbsp;area&amp;nbsp;=&amp;nbsp;tgt.MergeArea &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;L&amp;nbsp;=&amp;nbsp;area.Left:&amp;nbsp;T&amp;nbsp;=&amp;nbsp;area.Top:&amp;nbsp;W&amp;nbsp;=&amp;nbsp;area.Width:&amp;nbsp;H&amp;nbsp;=&amp;nbsp;area.Height &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;내부&amp;nbsp;박스(여백&amp;nbsp;적용) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Wi&amp;nbsp;=&amp;nbsp;Application.Max(1,&amp;nbsp;W&amp;nbsp;-&amp;nbsp;2&amp;nbsp;*&amp;nbsp;inset) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Hi&amp;nbsp;=&amp;nbsp;Application.Max(1,&amp;nbsp;H&amp;nbsp;-&amp;nbsp;2&amp;nbsp;*&amp;nbsp;inset) &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;그림&amp;nbsp;삽입&amp;nbsp;&amp;rarr;&amp;nbsp;내부&amp;nbsp;박스&amp;nbsp;크기로&amp;nbsp;강제&amp;nbsp;맞춤 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set&amp;nbsp;shp&amp;nbsp;=&amp;nbsp;ws.Shapes.AddPicture(&amp;nbsp;_ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Filename:=imgPath,&amp;nbsp;_ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;LinkToFile:=msoFalse,&amp;nbsp;_ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;SaveWithDocument:=msoTrue,&amp;nbsp;_ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Left:=L&amp;nbsp;+&amp;nbsp;inset,&amp;nbsp;Top:=T&amp;nbsp;+&amp;nbsp;inset,&amp;nbsp;Width:=Wi,&amp;nbsp;Height:=Hi) &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;With&amp;nbsp;shp &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;종횡비&amp;nbsp;고정&amp;nbsp;해제:&amp;nbsp;내부&amp;nbsp;박스에&amp;nbsp;정확히&amp;nbsp;맞춰&amp;nbsp;왜곡&amp;nbsp;허용 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.LockAspectRatio&amp;nbsp;=&amp;nbsp;msoFalse &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.Width&amp;nbsp;=&amp;nbsp;Wi&amp;nbsp;+&amp;nbsp;2 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.Height&amp;nbsp;=&amp;nbsp;Hi&amp;nbsp;+&amp;nbsp;2 &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;좌우&amp;middot;상하&amp;nbsp;여백&amp;nbsp;균등(중앙&amp;nbsp;정렬) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.Left&amp;nbsp;=&amp;nbsp;L&amp;nbsp;+&amp;nbsp;(W&amp;nbsp;-&amp;nbsp;.Width)&amp;nbsp;/&amp;nbsp;2&amp;nbsp;+&amp;nbsp;0.5 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.Top&amp;nbsp;=&amp;nbsp;T&amp;nbsp;+&amp;nbsp;(H&amp;nbsp;-&amp;nbsp;.Height)&amp;nbsp;/&amp;nbsp;2&amp;nbsp;+&amp;nbsp;0.5 &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;셀&amp;nbsp;이동/크기&amp;nbsp;변경에&amp;nbsp;따라가도록 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.Placement&amp;nbsp;=&amp;nbsp;xlMoveAndSize &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;With &lt;br /&gt;End&amp;nbsp;Sub &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;'&amp;nbsp;======&amp;nbsp;폴더&amp;nbsp;선택&amp;nbsp;====== &lt;br /&gt;Private&amp;nbsp;Function&amp;nbsp;폴더선택()&amp;nbsp;As&amp;nbsp;String &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;With&amp;nbsp;Application.FileDialog(msoFileDialogFolderPicker) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.title&amp;nbsp;=&amp;nbsp;&quot;사진&amp;nbsp;폴더를&amp;nbsp;선택하세요&amp;nbsp;(자재번호.확장자)&quot; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.AllowMultiSelect&amp;nbsp;=&amp;nbsp;False &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;.Show&amp;nbsp;=&amp;nbsp;-1&amp;nbsp;Then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;폴더선택&amp;nbsp;=&amp;nbsp;.SelectedItems(1) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Else &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;폴더선택&amp;nbsp;=&amp;nbsp;&quot;&quot; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;If &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;With &lt;br /&gt;End&amp;nbsp;Function &lt;br /&gt;&lt;br /&gt;'&amp;nbsp;======&amp;nbsp;특정&amp;nbsp;범위&amp;nbsp;내&amp;nbsp;그림&amp;nbsp;삭제&amp;nbsp;====== &lt;br /&gt;Private&amp;nbsp;Sub&amp;nbsp;DeletePicturesInRange(ByVal&amp;nbsp;ws&amp;nbsp;As&amp;nbsp;Worksheet,&amp;nbsp;ByVal&amp;nbsp;rng&amp;nbsp;As&amp;nbsp;Range) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;shp&amp;nbsp;As&amp;nbsp;Shape &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;For&amp;nbsp;Each&amp;nbsp;shp&amp;nbsp;In&amp;nbsp;ws.Shapes &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;shp.Type&amp;nbsp;=&amp;nbsp;msoPicture&amp;nbsp;Then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;Not&amp;nbsp;Intersect(shp.TopLeftCell,&amp;nbsp;rng)&amp;nbsp;Is&amp;nbsp;Nothing&amp;nbsp;Then&amp;nbsp;shp.Delete &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;If &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Next&amp;nbsp;shp &lt;br /&gt;End&amp;nbsp;Sub &lt;br /&gt;&lt;br /&gt;'&amp;nbsp;======&amp;nbsp;출력&amp;nbsp;시트&amp;nbsp;아래쪽&amp;nbsp;정리&amp;nbsp;====== &lt;br /&gt;Private&amp;nbsp;Sub&amp;nbsp;ClearBelow(ByVal&amp;nbsp;ws&amp;nbsp;As&amp;nbsp;Worksheet,&amp;nbsp;ByVal&amp;nbsp;keepUpToRow&amp;nbsp;As&amp;nbsp;Long) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;lastR&amp;nbsp;As&amp;nbsp;Long &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;lastR&amp;nbsp;=&amp;nbsp;ws.Cells(ws.Rows.Count,&amp;nbsp;&quot;A&quot;).End(xlUp).Row &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;lastR&amp;nbsp;&amp;gt;&amp;nbsp;keepUpToRow&amp;nbsp;Then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ws.Rows(keepUpToRow&amp;nbsp;+&amp;nbsp;1&amp;nbsp;&amp;amp;&amp;nbsp;&quot;:&quot;&amp;nbsp;&amp;amp;&amp;nbsp;ws.Rows.Count).Clear &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;If &lt;br /&gt;End&amp;nbsp;Sub &lt;br /&gt;&lt;br /&gt;'&amp;nbsp;======&amp;nbsp;블록별&amp;nbsp;행&amp;nbsp;높이&amp;nbsp;일괄&amp;nbsp;적용&amp;nbsp;====== &lt;br /&gt;Private&amp;nbsp;Sub&amp;nbsp;ApplyRowHeights(ByVal&amp;nbsp;ws&amp;nbsp;As&amp;nbsp;Worksheet,&amp;nbsp;ByVal&amp;nbsp;blocks&amp;nbsp;As&amp;nbsp;Long) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;b&amp;nbsp;As&amp;nbsp;Long,&amp;nbsp;baseRow&amp;nbsp;As&amp;nbsp;Long &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;For&amp;nbsp;b&amp;nbsp;=&amp;nbsp;1&amp;nbsp;To&amp;nbsp;blocks &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;baseRow&amp;nbsp;=&amp;nbsp;1&amp;nbsp;+&amp;nbsp;(b&amp;nbsp;-&amp;nbsp;1)&amp;nbsp;*&amp;nbsp;(9&amp;nbsp;+&amp;nbsp;1) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ws.Rows(baseRow&amp;nbsp;+&amp;nbsp;0).RowHeight&amp;nbsp;=&amp;nbsp;31.5&amp;nbsp;&amp;nbsp;'&amp;nbsp;1행 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ws.Rows(baseRow&amp;nbsp;+&amp;nbsp;1).RowHeight&amp;nbsp;=&amp;nbsp;210&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;2행(사진) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ws.Rows(baseRow&amp;nbsp;+&amp;nbsp;2&amp;nbsp;&amp;amp;&amp;nbsp;&quot;:&quot;&amp;nbsp;&amp;amp;&amp;nbsp;baseRow&amp;nbsp;+&amp;nbsp;8).RowHeight&amp;nbsp;=&amp;nbsp;30&amp;nbsp;&amp;nbsp;'&amp;nbsp;3~9행 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Next&amp;nbsp;b &lt;br /&gt;End&amp;nbsp;Sub &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote data-end=&quot;2229&quot; data-start=&quot;2112&quot; data-ke-style=&quot;style1&quot;&gt;&lt;figure class=&quot;fileblock&quot; data-ke-align=&quot;alignCenter&quot;&gt;&lt;a href=&quot;https://blog.kakaocdn.net/dn/zXMvG/dJMb9MbIShi/KhMf3al4eosVS864hNdaa1/%EC%9E%90%EC%9E%AC%EC%82%AC%EC%A7%84%ED%86%B5%ED%95%A9_v7.xlsm?attach=1&amp;amp;knm=tfile.xlsm&quot; class=&quot;&quot;&gt;
    &lt;div class=&quot;image&quot;&gt;&lt;/div&gt;
    &lt;div class=&quot;desc&quot;&gt;&lt;div class=&quot;filename&quot;&gt;&lt;span class=&quot;name&quot;&gt;자재사진통합_v7.xlsm&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;size&quot;&gt;0.98MB&lt;/div&gt;
&lt;/div&gt;
  &lt;/a&gt;&lt;/figure&gt;
&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>DATA</category>
      <category>#엑셀매크로 #자재명판자동화 #엑셀이미지삽입 #엑셀VBA #엑셀자재관리 #현장출력물 #엑셀자동출력 #엑셀보고서템플릿 #사무자동화</category>
      <author>노만e</author>
      <guid isPermaLink="true">https://dream2049.tistory.com/188</guid>
      <comments>https://dream2049.tistory.com/188#entry188comment</comments>
      <pubDate>Thu, 25 Sep 2025 22:25:14 +0900</pubDate>
    </item>
    <item>
      <title>폴더내 하부폴더 포함 모든 엑셀파일 문서 내용에서 검색어 한꺼번에 찾는 법!</title>
      <link>https://dream2049.tistory.com/187</link>
      <description>&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;kk2.jpg&quot; data-origin-width=&quot;1540&quot; data-origin-height=&quot;1043&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/buiuIN/btsQKA421TZ/EdSKt4QL5CNoj2yrJhPYY0/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/buiuIN/btsQKA421TZ/EdSKt4QL5CNoj2yrJhPYY0/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/buiuIN/btsQKA421TZ/EdSKt4QL5CNoj2yrJhPYY0/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbuiuIN%2FbtsQKA421TZ%2FEdSKt4QL5CNoj2yrJhPYY0%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;746&quot; height=&quot;505&quot; data-filename=&quot;kk2.jpg&quot; data-origin-width=&quot;1540&quot; data-origin-height=&quot;1043&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;오늘 일일 업무일지 수년치를 열어, 원하는 검색어를 찾다가, 내가 도대체 왜 이러고 있나 한숨이...났습니다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;저희는 4개팀, 3개조로 1년 365일 쉬지 않고 일합니다. 일일 업무일지는 4개팀이 주간, 야간 작성하니,&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;하루에만 8개의 일지가 생성 됩니다. 그걸 365일X2년이면.. 5840개!!! 허걱~~&amp;nbsp;&lt;/p&gt;
&lt;blockquote data-end=&quot;347&quot; data-start=&quot;245&quot; data-ke-style=&quot;style1&quot;&gt;
&lt;p data-end=&quot;347&quot; data-start=&quot;247&quot; data-ke-size=&quot;size16&quot;&gt;  수십 개, 수백 개의 엑셀 파일을 하나씩 열어가며 데이터를 찾고 계신가요?&lt;br /&gt;이제는 &lt;b&gt;폴더 전체 엑셀 파일을 자동으로 검색&lt;/b&gt;해주는 VBA 매크로로 단번에 해결하세요!&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr data-end=&quot;352&quot; data-start=&quot;349&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h2 data-end=&quot;375&quot; data-start=&quot;354&quot; data-ke-size=&quot;size26&quot;&gt;✅ 이런 분들에게 강력 추천합니다&lt;/h2&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;553&quot; data-start=&quot;377&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;421&quot; data-start=&quot;377&quot;&gt;✔️ 수많은 &lt;b&gt;견적서/매출자료/보고서&lt;/b&gt;에서 특정 값을 찾아야 하는 분&lt;/li&gt;
&lt;li data-end=&quot;464&quot; data-start=&quot;422&quot;&gt;✔️ 부서별/연도별로 &lt;b&gt;정리된 엑셀 파일&lt;/b&gt;을 검색해야 하는 실무자&lt;/li&gt;
&lt;li data-end=&quot;508&quot; data-start=&quot;465&quot;&gt;✔️ &lt;b&gt;수기로 작업하는 비효율적인 검색 방식&lt;/b&gt;에서 벗어나고 싶은 분&lt;/li&gt;
&lt;li data-end=&quot;553&quot; data-start=&quot;509&quot;&gt;✔️ 폴더 내 모든 엑셀 파일을 자동 검색하고, 결과를 정리하고 싶은 분&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-end=&quot;558&quot; data-start=&quot;555&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h2 data-end=&quot;587&quot; data-start=&quot;560&quot; data-ke-size=&quot;size26&quot;&gt;  주요 기능 (엑셀 VBA 자동 검색기)&lt;/h2&gt;
&lt;div&gt;
&lt;div&gt;기능설명
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-end=&quot;827&quot; data-start=&quot;589&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody data-end=&quot;827&quot; data-start=&quot;617&quot;&gt;
&lt;tr data-end=&quot;655&quot; data-start=&quot;617&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;628&quot; data-start=&quot;617&quot;&gt;  폴더 선택&lt;/td&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;655&quot; data-start=&quot;628&quot;&gt;원하는 폴더를 지정하면 하위 폴더까지 검색&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;707&quot; data-start=&quot;656&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;671&quot; data-start=&quot;656&quot;&gt;  키워드 다중 검색&lt;/td&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;707&quot; data-start=&quot;671&quot;&gt;최대 5개의 키워드를 동시에 검색 가능 (B3~B7 입력)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;744&quot; data-start=&quot;708&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;722&quot; data-start=&quot;708&quot;&gt;  검색 결과 정리&lt;/td&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;744&quot; data-start=&quot;722&quot;&gt;[검색결과] 시트에 자동 기록&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;783&quot; data-start=&quot;745&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;756&quot; data-start=&quot;745&quot;&gt;  맥락 확인&lt;/td&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;783&quot; data-start=&quot;756&quot;&gt;앞/뒤 셀 내용, 시트명, 셀주소까지 제공&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;827&quot; data-start=&quot;784&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;799&quot; data-start=&quot;784&quot;&gt;  현재 파일은 제외&lt;/td&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;827&quot; data-start=&quot;799&quot;&gt;실행 중인 매크로 파일은 자동으로 제외 처리&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;hr data-end=&quot;832&quot; data-start=&quot;829&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h2 data-end=&quot;845&quot; data-start=&quot;834&quot; data-ke-size=&quot;size26&quot;&gt;  사용 방법&lt;/h2&gt;
&lt;h3 data-end=&quot;862&quot; data-start=&quot;847&quot; data-ke-size=&quot;size23&quot;&gt;① VBA 코드 삽입&lt;/h3&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-end=&quot;971&quot; data-start=&quot;864&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li data-end=&quot;906&quot; data-start=&quot;864&quot;&gt;엑셀에서 Alt + F11 키를 눌러 &lt;b&gt;VBA 편집기&lt;/b&gt; 실행&lt;/li&gt;
&lt;li data-end=&quot;924&quot; data-start=&quot;907&quot;&gt;삽입 &amp;gt; 모듈 클릭&lt;/li&gt;
&lt;li data-end=&quot;944&quot; data-start=&quot;925&quot;&gt;아래 전체 코드를 붙여넣기&lt;/li&gt;
&lt;li data-end=&quot;971&quot; data-start=&quot;945&quot;&gt;저장 (.xlsm 형식으로 저장 권장)&lt;/li&gt;
&lt;/ol&gt;
&lt;blockquote data-end=&quot;998&quot; data-start=&quot;973&quot; data-ke-style=&quot;style1&quot;&gt;
&lt;p data-end=&quot;998&quot; data-start=&quot;975&quot; data-ke-size=&quot;size16&quot;&gt;✅ 전체 코드는 이 글 하단에 제공됩니다!&lt;/p&gt;
&lt;/blockquote&gt;
&lt;hr data-end=&quot;1003&quot; data-start=&quot;1000&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-end=&quot;1017&quot; data-start=&quot;1005&quot; data-ke-size=&quot;size23&quot;&gt;② 키워드 입력&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1096&quot; data-start=&quot;1019&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1044&quot; data-start=&quot;1019&quot;&gt;현재 엑셀 파일의 아무 시트나 선택 후&lt;/li&gt;
&lt;li data-end=&quot;1096&quot; data-start=&quot;1045&quot;&gt;B3:B7 셀에 찾고 싶은 키워드를 입력하세요&lt;br /&gt;예) 고객명, 제품명, 날짜 등&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-end=&quot;1101&quot; data-start=&quot;1098&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-end=&quot;1115&quot; data-start=&quot;1103&quot; data-ke-size=&quot;size23&quot;&gt;③ 매크로 실행&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1231&quot; data-start=&quot;1117&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1162&quot; data-start=&quot;1117&quot;&gt;Alt + F8 &amp;rarr; SearchInExcelFiles 선택 &amp;rarr; 실행&lt;/li&gt;
&lt;li data-end=&quot;1200&quot; data-start=&quot;1163&quot;&gt;검색할 폴더를 선택하면 자동으로 모든 엑셀을 열어 검색 진행&lt;/li&gt;
&lt;li data-end=&quot;1231&quot; data-start=&quot;1201&quot;&gt;결과는 [검색결과] 시트에 자동 정리됩니다!&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-end=&quot;1236&quot; data-start=&quot;1233&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h2 data-end=&quot;1252&quot; data-start=&quot;1238&quot; data-ke-size=&quot;size26&quot;&gt;  검색 결과 예시&lt;/h2&gt;
&lt;div&gt;
&lt;div&gt;파일명시트명찾은값이전셀이후셀셀주소
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-end=&quot;1451&quot; data-start=&quot;1254&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody data-end=&quot;1451&quot; data-start=&quot;1348&quot;&gt;
&lt;tr data-end=&quot;1397&quot; data-start=&quot;1348&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;1361&quot; data-start=&quot;1348&quot;&gt;sales_2023&lt;/td&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;1366&quot; data-start=&quot;1361&quot;&gt;매출&lt;/td&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;1372&quot; data-start=&quot;1366&quot;&gt;홍길동&lt;/td&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;1378&quot; data-start=&quot;1372&quot;&gt;서울점&lt;/td&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;1390&quot; data-start=&quot;1378&quot;&gt;1,000,000&lt;/td&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;1397&quot; data-start=&quot;1390&quot;&gt;C12&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;1451&quot; data-start=&quot;1398&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;1412&quot; data-start=&quot;1398&quot;&gt;invoice_005&lt;/td&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;1419&quot; data-start=&quot;1412&quot;&gt;거래내역&lt;/td&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;1432&quot; data-start=&quot;1419&quot;&gt;2023-08-21&lt;/td&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;1438&quot; data-start=&quot;1432&quot;&gt;제품명&lt;/td&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;1445&quot; data-start=&quot;1438&quot;&gt;결제완료&lt;/td&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;1451&quot; data-start=&quot;1445&quot;&gt;B7&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;hr data-end=&quot;1456&quot; data-start=&quot;1453&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h2 data-end=&quot;1478&quot; data-start=&quot;1458&quot; data-ke-size=&quot;size26&quot;&gt;  실무에서 이렇게 활용했어요&lt;/h2&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1600&quot; data-start=&quot;1480&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1529&quot; data-start=&quot;1480&quot;&gt;&amp;ldquo;한 달치 고객 요청사항이 어디 있었는지 몰라서 검색했는데 5초만에 찾았습니다.&amp;rdquo;&lt;/li&gt;
&lt;li data-end=&quot;1563&quot; data-start=&quot;1530&quot;&gt;&amp;ldquo;수백 개 엑셀을 수작업으로 보던 시절은 끝났어요.&amp;rdquo;&lt;/li&gt;
&lt;li data-end=&quot;1600&quot; data-start=&quot;1564&quot;&gt;&amp;ldquo;모든 키워드가 한눈에 정리돼서 보고서 만들기도 쉬워졌어요.&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-end=&quot;1605&quot; data-start=&quot;1602&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h2 data-end=&quot;1626&quot; data-start=&quot;1607&quot; data-ke-size=&quot;size26&quot;&gt;  지금 바로 사용해보세요!&lt;/h2&gt;
&lt;p data-end=&quot;1701&quot; data-start=&quot;1628&quot; data-ke-size=&quot;size16&quot;&gt;  아래 코드 복사해서 엑셀 VBA에 붙여넣기만 하면 끝!&lt;br /&gt;엑셀을 자주 다루는 분이라면 &lt;b&gt;100% 실무에 도움&lt;/b&gt;됩니다.&lt;/p&gt;
&lt;hr data-end=&quot;1706&quot; data-start=&quot;1703&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h2 data-end=&quot;1735&quot; data-start=&quot;1708&quot; data-ke-size=&quot;size26&quot;&gt;  전체 VBA 코드 (복사해서 붙여넣기)&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;lt;details&amp;gt; &amp;lt;summary&amp;gt;▶ 전체 코드 보기&amp;lt;/summary&amp;gt;&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 100%;&quot;&gt;Sub&amp;nbsp;SearchInExcelFiles() &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;folderPath&amp;nbsp;As&amp;nbsp;String &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;currentWs&amp;nbsp;As&amp;nbsp;Worksheet &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;resultWs&amp;nbsp;As&amp;nbsp;Worksheet &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;searchValues&amp;nbsp;As&amp;nbsp;Variant &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;resultRow&amp;nbsp;As&amp;nbsp;Long &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;fileCount&amp;nbsp;As&amp;nbsp;Long &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;searchCount&amp;nbsp;As&amp;nbsp;Long &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;On&amp;nbsp;Error&amp;nbsp;GoTo&amp;nbsp;ErrorHandler &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;현재&amp;nbsp;시트&amp;nbsp;설정 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set&amp;nbsp;currentWs&amp;nbsp;=&amp;nbsp;ActiveSheet &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;폴더&amp;nbsp;선택&amp;nbsp;대화상자 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;With&amp;nbsp;Application.FileDialog(msoFileDialogFolderPicker) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.Title&amp;nbsp;=&amp;nbsp;&quot;검색할&amp;nbsp;폴더를&amp;nbsp;선택하세요&quot; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.AllowMultiSelect&amp;nbsp;=&amp;nbsp;False &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;.Show&amp;nbsp;=&amp;nbsp;-1&amp;nbsp;Then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;folderPath&amp;nbsp;=&amp;nbsp;.SelectedItems(1) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Else &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;MsgBox&amp;nbsp;&quot;폴더가&amp;nbsp;선택되지&amp;nbsp;않았습니다.&quot; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Exit&amp;nbsp;Sub &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;If &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;With &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;A2:A6&amp;nbsp;값을&amp;nbsp;배열로&amp;nbsp;저장 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;On&amp;nbsp;Error&amp;nbsp;Resume&amp;nbsp;Next &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;searchValues&amp;nbsp;=&amp;nbsp;currentWs.Range(&quot;B3:B7&quot;).Value &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;On&amp;nbsp;Error&amp;nbsp;GoTo&amp;nbsp;ErrorHandler &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;검색값이&amp;nbsp;있는지&amp;nbsp;확인 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;searchCount&amp;nbsp;=&amp;nbsp;0 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;For&amp;nbsp;i&amp;nbsp;=&amp;nbsp;1&amp;nbsp;To&amp;nbsp;UBound(searchValues,&amp;nbsp;1) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;Trim(CStr(searchValues(i,&amp;nbsp;1)))&amp;nbsp;&amp;lt;&amp;gt;&amp;nbsp;&quot;&quot;&amp;nbsp;Then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;searchCount&amp;nbsp;=&amp;nbsp;searchCount&amp;nbsp;+&amp;nbsp;1 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;If &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Next&amp;nbsp;i &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;searchCount&amp;nbsp;=&amp;nbsp;0&amp;nbsp;Then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;MsgBox&amp;nbsp;&quot;A2:A6에&amp;nbsp;검색할&amp;nbsp;값이&amp;nbsp;없습니다.&quot; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Exit&amp;nbsp;Sub &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;If &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;[검색결과]&amp;nbsp;시트&amp;nbsp;생성&amp;nbsp;또는&amp;nbsp;가져오기 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set&amp;nbsp;resultWs&amp;nbsp;=&amp;nbsp;CreateOrGetResultSheet() &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;결과&amp;nbsp;시트&amp;nbsp;헤더&amp;nbsp;설정 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;With&amp;nbsp;resultWs &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.Cells(1,&amp;nbsp;1).Value&amp;nbsp;=&amp;nbsp;&quot;파일명&quot; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.Cells(1,&amp;nbsp;2).Value&amp;nbsp;=&amp;nbsp;&quot;시트명&quot; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.Cells(1,&amp;nbsp;3).Value&amp;nbsp;=&amp;nbsp;&quot;찾은값&quot; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.Cells(1,&amp;nbsp;4).Value&amp;nbsp;=&amp;nbsp;&quot;이전셀&quot; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.Cells(1,&amp;nbsp;5).Value&amp;nbsp;=&amp;nbsp;&quot;이후셀&quot; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.Cells(1,&amp;nbsp;6).Value&amp;nbsp;=&amp;nbsp;&quot;셀위치&quot; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;헤더&amp;nbsp;서식&amp;nbsp;설정 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.Range(&quot;A1:F1&quot;).Font.Bold&amp;nbsp;=&amp;nbsp;True &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.Range(&quot;A1:F1&quot;).Interior.Color&amp;nbsp;=&amp;nbsp;RGB(200,&amp;nbsp;200,&amp;nbsp;200) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;기존&amp;nbsp;데이터&amp;nbsp;삭제 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.Range(&quot;A2:F10000&quot;).Clear &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;With &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;결과&amp;nbsp;출력&amp;nbsp;시작&amp;nbsp;행 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;resultRow&amp;nbsp;=&amp;nbsp;2 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;fileCount&amp;nbsp;=&amp;nbsp;0 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;화면&amp;nbsp;업데이트&amp;nbsp;중지&amp;nbsp;(성능&amp;nbsp;향상) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Application.ScreenUpdating&amp;nbsp;=&amp;nbsp;False &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Application.DisplayAlerts&amp;nbsp;=&amp;nbsp;False &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Application.EnableEvents&amp;nbsp;=&amp;nbsp;False &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Application.Calculation&amp;nbsp;=&amp;nbsp;xlCalculationManual &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;상태&amp;nbsp;표시 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Application.StatusBar&amp;nbsp;=&amp;nbsp;&quot;검색&amp;nbsp;중...&quot; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;폴더&amp;nbsp;내&amp;nbsp;모든&amp;nbsp;엑셀&amp;nbsp;파일&amp;nbsp;검색 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Call&amp;nbsp;SearchFolder(folderPath,&amp;nbsp;searchValues,&amp;nbsp;resultWs,&amp;nbsp;resultRow,&amp;nbsp;fileCount) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;결과&amp;nbsp;시트&amp;nbsp;활성화&amp;nbsp;및&amp;nbsp;열&amp;nbsp;너비&amp;nbsp;자동&amp;nbsp;조정 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;resultWs.Activate &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;resultWs.Columns(&quot;A:F&quot;).AutoFit &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;GoTo&amp;nbsp;CleanUp &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;ErrorHandler: &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;MsgBox&amp;nbsp;&quot;오류가&amp;nbsp;발생했습니다:&amp;nbsp;&quot;&amp;nbsp;&amp;amp;&amp;nbsp;Err.Description&amp;nbsp;&amp;amp;&amp;nbsp;&quot;&amp;nbsp;(오류&amp;nbsp;번호:&amp;nbsp;&quot;&amp;nbsp;&amp;amp;&amp;nbsp;Err.Number&amp;nbsp;&amp;amp;&amp;nbsp;&quot;)&quot; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;CleanUp: &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;설정&amp;nbsp;복원 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Application.ScreenUpdating&amp;nbsp;=&amp;nbsp;True &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Application.DisplayAlerts&amp;nbsp;=&amp;nbsp;True &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Application.EnableEvents&amp;nbsp;=&amp;nbsp;True &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Application.Calculation&amp;nbsp;=&amp;nbsp;xlCalculationAutomatic &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Application.StatusBar&amp;nbsp;=&amp;nbsp;False &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;Err.Number&amp;nbsp;=&amp;nbsp;0&amp;nbsp;Then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;foundCount&amp;nbsp;As&amp;nbsp;Long &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;foundCount&amp;nbsp;=&amp;nbsp;resultRow&amp;nbsp;-&amp;nbsp;2 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;MsgBox&amp;nbsp;&quot;검색이&amp;nbsp;완료되었습니다!&quot;&amp;nbsp;&amp;amp;&amp;nbsp;vbCrLf&amp;nbsp;&amp;amp;&amp;nbsp;_ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&quot;처리된&amp;nbsp;파일&amp;nbsp;수:&amp;nbsp;&quot;&amp;nbsp;&amp;amp;&amp;nbsp;fileCount&amp;nbsp;&amp;amp;&amp;nbsp;vbCrLf&amp;nbsp;&amp;amp;&amp;nbsp;_ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&quot;검색된&amp;nbsp;결과&amp;nbsp;수:&amp;nbsp;&quot;&amp;nbsp;&amp;amp;&amp;nbsp;foundCount&amp;nbsp;&amp;amp;&amp;nbsp;vbCrLf&amp;nbsp;&amp;amp;&amp;nbsp;_ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&quot;[검색결과]&amp;nbsp;시트를&amp;nbsp;확인해주세요.&quot; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;If &lt;br /&gt;End&amp;nbsp;Sub &lt;br /&gt;&lt;br /&gt;Function&amp;nbsp;CreateOrGetResultSheet()&amp;nbsp;As&amp;nbsp;Worksheet &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;ws&amp;nbsp;As&amp;nbsp;Worksheet &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;sheetExists&amp;nbsp;As&amp;nbsp;Boolean &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;[검색결과]&amp;nbsp;시트가&amp;nbsp;이미&amp;nbsp;있는지&amp;nbsp;확인 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;sheetExists&amp;nbsp;=&amp;nbsp;False &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;For&amp;nbsp;Each&amp;nbsp;ws&amp;nbsp;In&amp;nbsp;ThisWorkbook.Worksheets &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;ws.Name&amp;nbsp;=&amp;nbsp;&quot;검색결과&quot;&amp;nbsp;Then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set&amp;nbsp;CreateOrGetResultSheet&amp;nbsp;=&amp;nbsp;ws &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;sheetExists&amp;nbsp;=&amp;nbsp;True &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Exit&amp;nbsp;For &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;If &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Next&amp;nbsp;ws &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;시트가&amp;nbsp;없으면&amp;nbsp;새로&amp;nbsp;생성 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;Not&amp;nbsp;sheetExists&amp;nbsp;Then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set&amp;nbsp;CreateOrGetResultSheet&amp;nbsp;=&amp;nbsp;ThisWorkbook.Worksheets.Add &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;CreateOrGetResultSheet.Name&amp;nbsp;=&amp;nbsp;&quot;검색결과&quot; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;If &lt;br /&gt;End&amp;nbsp;Function &lt;br /&gt;&lt;br /&gt;Sub&amp;nbsp;SearchFolder(folderPath&amp;nbsp;As&amp;nbsp;String,&amp;nbsp;searchValues&amp;nbsp;As&amp;nbsp;Variant,&amp;nbsp;resultWs&amp;nbsp;As&amp;nbsp;Worksheet,&amp;nbsp;ByRef&amp;nbsp;resultRow&amp;nbsp;As&amp;nbsp;Long,&amp;nbsp;ByRef&amp;nbsp;fileCount&amp;nbsp;As&amp;nbsp;Long) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;fso&amp;nbsp;As&amp;nbsp;Object &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;folder&amp;nbsp;As&amp;nbsp;Object &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;file&amp;nbsp;As&amp;nbsp;Object &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;subFolder&amp;nbsp;As&amp;nbsp;Object &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;FileSystemObject&amp;nbsp;생성 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set&amp;nbsp;fso&amp;nbsp;=&amp;nbsp;CreateObject(&quot;Scripting.FileSystemObject&quot;) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;On&amp;nbsp;Error&amp;nbsp;Resume&amp;nbsp;Next &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set&amp;nbsp;folder&amp;nbsp;=&amp;nbsp;fso.GetFolder(folderPath) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;On&amp;nbsp;Error&amp;nbsp;GoTo&amp;nbsp;0 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;folder&amp;nbsp;Is&amp;nbsp;Nothing&amp;nbsp;Then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Exit&amp;nbsp;Sub &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;If &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;현재&amp;nbsp;폴더의&amp;nbsp;엑셀&amp;nbsp;파일&amp;nbsp;검색 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;For&amp;nbsp;Each&amp;nbsp;file&amp;nbsp;In&amp;nbsp;folder.Files &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;IsExcelFile(file.Name)&amp;nbsp;Then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;fileCount&amp;nbsp;=&amp;nbsp;fileCount&amp;nbsp;+&amp;nbsp;1 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Application.StatusBar&amp;nbsp;=&amp;nbsp;&quot;검색&amp;nbsp;중...&amp;nbsp;파일:&amp;nbsp;&quot;&amp;nbsp;&amp;amp;&amp;nbsp;file.Name &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Call&amp;nbsp;SearchInFile(file.Path,&amp;nbsp;searchValues,&amp;nbsp;resultWs,&amp;nbsp;resultRow) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;If &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Next&amp;nbsp;file &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;하위&amp;nbsp;폴더&amp;nbsp;재귀&amp;nbsp;검색 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;For&amp;nbsp;Each&amp;nbsp;subFolder&amp;nbsp;In&amp;nbsp;folder.SubFolders &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;On&amp;nbsp;Error&amp;nbsp;Resume&amp;nbsp;Next &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Call&amp;nbsp;SearchFolder(subFolder.Path,&amp;nbsp;searchValues,&amp;nbsp;resultWs,&amp;nbsp;resultRow,&amp;nbsp;fileCount) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;On&amp;nbsp;Error&amp;nbsp;GoTo&amp;nbsp;0 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Next&amp;nbsp;subFolder &lt;br /&gt;End&amp;nbsp;Sub &lt;br /&gt;&lt;br /&gt;Function&amp;nbsp;IsExcelFile(fileName&amp;nbsp;As&amp;nbsp;String)&amp;nbsp;As&amp;nbsp;Boolean &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;ext&amp;nbsp;As&amp;nbsp;String &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ext&amp;nbsp;=&amp;nbsp;LCase(Right(fileName,&amp;nbsp;4)) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;IsExcelFile&amp;nbsp;=&amp;nbsp;(ext&amp;nbsp;=&amp;nbsp;&quot;.xls&quot;&amp;nbsp;Or&amp;nbsp;Right(LCase(fileName),&amp;nbsp;5)&amp;nbsp;=&amp;nbsp;&quot;.xlsx&quot;&amp;nbsp;Or&amp;nbsp;Right(LCase(fileName),&amp;nbsp;5)&amp;nbsp;=&amp;nbsp;&quot;.xlsm&quot;) &lt;br /&gt;End&amp;nbsp;Function &lt;br /&gt;&lt;br /&gt;Sub&amp;nbsp;SearchInFile(filePath&amp;nbsp;As&amp;nbsp;String,&amp;nbsp;searchValues&amp;nbsp;As&amp;nbsp;Variant,&amp;nbsp;resultWs&amp;nbsp;As&amp;nbsp;Worksheet,&amp;nbsp;ByRef&amp;nbsp;resultRow&amp;nbsp;As&amp;nbsp;Long) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;wb&amp;nbsp;As&amp;nbsp;Workbook &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;ws&amp;nbsp;As&amp;nbsp;Worksheet &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;searchRange&amp;nbsp;As&amp;nbsp;Range &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;foundCell&amp;nbsp;As&amp;nbsp;Range &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;firstAddress&amp;nbsp;As&amp;nbsp;String &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;i&amp;nbsp;As&amp;nbsp;Integer &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;searchValue&amp;nbsp;As&amp;nbsp;String &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;fileOpened&amp;nbsp;As&amp;nbsp;Boolean &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;fileName&amp;nbsp;As&amp;nbsp;String &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;fso&amp;nbsp;As&amp;nbsp;Object &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;변수&amp;nbsp;초기화 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set&amp;nbsp;wb&amp;nbsp;=&amp;nbsp;Nothing &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;fileOpened&amp;nbsp;=&amp;nbsp;False &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set&amp;nbsp;fso&amp;nbsp;=&amp;nbsp;CreateObject(&quot;Scripting.FileSystemObject&quot;) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;On&amp;nbsp;Error&amp;nbsp;GoTo&amp;nbsp;ErrorHandler &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;현재&amp;nbsp;파일인지&amp;nbsp;확인&amp;nbsp;(현재&amp;nbsp;파일은&amp;nbsp;건너뜀) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;filePath&amp;nbsp;=&amp;nbsp;ThisWorkbook.FullName&amp;nbsp;Then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Exit&amp;nbsp;Sub &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;If &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;파일명&amp;nbsp;추출&amp;nbsp;(확장자&amp;nbsp;제외) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;fileName&amp;nbsp;=&amp;nbsp;fso.GetBaseName(filePath) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;엑셀&amp;nbsp;파일&amp;nbsp;열기&amp;nbsp;시도 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set&amp;nbsp;wb&amp;nbsp;=&amp;nbsp;Workbooks.Open(filePath,&amp;nbsp;ReadOnly:=True,&amp;nbsp;UpdateLinks:=0,&amp;nbsp;Password:=&quot;&quot;) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;fileOpened&amp;nbsp;=&amp;nbsp;True &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;각&amp;nbsp;검색&amp;nbsp;값에&amp;nbsp;대해 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;For&amp;nbsp;i&amp;nbsp;=&amp;nbsp;1&amp;nbsp;To&amp;nbsp;UBound(searchValues,&amp;nbsp;1) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;searchValue&amp;nbsp;=&amp;nbsp;Trim(CStr(searchValues(i,&amp;nbsp;1))) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;빈&amp;nbsp;값은&amp;nbsp;건너뜀 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;searchValue&amp;nbsp;=&amp;nbsp;&quot;&quot;&amp;nbsp;Then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;GoTo&amp;nbsp;NextSearchValue &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;If &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;워크북의&amp;nbsp;모든&amp;nbsp;시트에서&amp;nbsp;검색 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;For&amp;nbsp;Each&amp;nbsp;ws&amp;nbsp;In&amp;nbsp;wb.Worksheets &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;On&amp;nbsp;Error&amp;nbsp;GoTo&amp;nbsp;NextSheet &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;시트가&amp;nbsp;보호되어&amp;nbsp;있거나&amp;nbsp;숨겨져&amp;nbsp;있어도&amp;nbsp;검색&amp;nbsp;시도 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;ws.Visible&amp;nbsp;=&amp;nbsp;xlSheetVisible&amp;nbsp;Or&amp;nbsp;ws.Visible&amp;nbsp;=&amp;nbsp;xlSheetHidden&amp;nbsp;Then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set&amp;nbsp;searchRange&amp;nbsp;=&amp;nbsp;ws.UsedRange &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;Not&amp;nbsp;searchRange&amp;nbsp;Is&amp;nbsp;Nothing&amp;nbsp;Then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;다양한&amp;nbsp;검색&amp;nbsp;방법으로&amp;nbsp;시도 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;1.&amp;nbsp;정확히&amp;nbsp;일치하는&amp;nbsp;값&amp;nbsp;검색 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set&amp;nbsp;foundCell&amp;nbsp;=&amp;nbsp;searchRange.Find(What:=searchValue,&amp;nbsp;_ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;LookIn:=xlValues,&amp;nbsp;_ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;LookAt:=xlWhole,&amp;nbsp;_ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;SearchOrder:=xlByRows,&amp;nbsp;_ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;SearchDirection:=xlNext,&amp;nbsp;_ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;MatchCase:=False) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;2.&amp;nbsp;정확히&amp;nbsp;일치하지&amp;nbsp;않으면&amp;nbsp;부분&amp;nbsp;일치&amp;nbsp;검색 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;foundCell&amp;nbsp;Is&amp;nbsp;Nothing&amp;nbsp;Then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set&amp;nbsp;foundCell&amp;nbsp;=&amp;nbsp;searchRange.Find(What:=searchValue,&amp;nbsp;_ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;LookIn:=xlValues,&amp;nbsp;_ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;LookAt:=xlPart,&amp;nbsp;_ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;SearchOrder:=xlByRows,&amp;nbsp;_ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;SearchDirection:=xlNext,&amp;nbsp;_ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;MatchCase:=False) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;If &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;3.&amp;nbsp;수식에서&amp;nbsp;검색 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;foundCell&amp;nbsp;Is&amp;nbsp;Nothing&amp;nbsp;Then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set&amp;nbsp;foundCell&amp;nbsp;=&amp;nbsp;searchRange.Find(What:=searchValue,&amp;nbsp;_ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;LookIn:=xlFormulas,&amp;nbsp;_ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;LookAt:=xlWhole,&amp;nbsp;_ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;SearchOrder:=xlByRows,&amp;nbsp;_ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;SearchDirection:=xlNext,&amp;nbsp;_ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;MatchCase:=False) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;If &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;찾은&amp;nbsp;값이&amp;nbsp;있으면&amp;nbsp;모든&amp;nbsp;일치하는&amp;nbsp;셀을&amp;nbsp;찾기 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;Not&amp;nbsp;foundCell&amp;nbsp;Is&amp;nbsp;Nothing&amp;nbsp;Then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;firstAddress&amp;nbsp;=&amp;nbsp;foundCell.Address &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Do &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;검색결과&amp;nbsp;시트에&amp;nbsp;결과&amp;nbsp;기록 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;resultWs.Cells(resultRow,&amp;nbsp;1).Value&amp;nbsp;=&amp;nbsp;fileName&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;A열:&amp;nbsp;파일명 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;resultWs.Cells(resultRow,&amp;nbsp;2).Value&amp;nbsp;=&amp;nbsp;ws.Name&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;B열:&amp;nbsp;시트명 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;resultWs.Cells(resultRow,&amp;nbsp;3).Value&amp;nbsp;=&amp;nbsp;foundCell.Value&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;C열:&amp;nbsp;찾은값 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;resultWs.Cells(resultRow,&amp;nbsp;6).Value&amp;nbsp;=&amp;nbsp;foundCell.Address&amp;nbsp;&amp;nbsp;'&amp;nbsp;F열:&amp;nbsp;셀위치 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;찾은&amp;nbsp;값의&amp;nbsp;이전셀&amp;nbsp;(D열에&amp;nbsp;기록) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;foundCell.Column&amp;nbsp;&amp;gt;&amp;nbsp;1&amp;nbsp;Then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;On&amp;nbsp;Error&amp;nbsp;Resume&amp;nbsp;Next &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;resultWs.Cells(resultRow,&amp;nbsp;4).Value&amp;nbsp;=&amp;nbsp;foundCell.Offset(0,&amp;nbsp;-1).Value &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;On&amp;nbsp;Error&amp;nbsp;GoTo&amp;nbsp;NextCell &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;If &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;찾은&amp;nbsp;값의&amp;nbsp;이후셀&amp;nbsp;(E열에&amp;nbsp;기록) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;foundCell.Column&amp;nbsp;&amp;lt;&amp;nbsp;ws.Columns.Count&amp;nbsp;Then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;On&amp;nbsp;Error&amp;nbsp;Resume&amp;nbsp;Next &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;resultWs.Cells(resultRow,&amp;nbsp;5).Value&amp;nbsp;=&amp;nbsp;foundCell.Offset(0,&amp;nbsp;1).Value &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;On&amp;nbsp;Error&amp;nbsp;GoTo&amp;nbsp;NextCell &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;If &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;NextCell: &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;resultRow&amp;nbsp;=&amp;nbsp;resultRow&amp;nbsp;+&amp;nbsp;1 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;다음&amp;nbsp;일치하는&amp;nbsp;셀&amp;nbsp;찾기 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;On&amp;nbsp;Error&amp;nbsp;Resume&amp;nbsp;Next &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set&amp;nbsp;foundCell&amp;nbsp;=&amp;nbsp;searchRange.FindNext(foundCell) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;On&amp;nbsp;Error&amp;nbsp;GoTo&amp;nbsp;NextSheet &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;처음&amp;nbsp;찾은&amp;nbsp;셀로&amp;nbsp;돌아왔거나&amp;nbsp;없으면&amp;nbsp;루프&amp;nbsp;종료 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;foundCell&amp;nbsp;Is&amp;nbsp;Nothing&amp;nbsp;Then&amp;nbsp;Exit&amp;nbsp;Do &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;foundCell.Address&amp;nbsp;=&amp;nbsp;firstAddress&amp;nbsp;Then&amp;nbsp;Exit&amp;nbsp;Do &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Loop &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;If &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;If &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;If &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;NextSheet: &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;On&amp;nbsp;Error&amp;nbsp;GoTo&amp;nbsp;ErrorHandler &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Next&amp;nbsp;ws &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;NextSearchValue: &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Next&amp;nbsp;i &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;정상적으로&amp;nbsp;파일&amp;nbsp;닫기 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;fileOpened&amp;nbsp;And&amp;nbsp;Not&amp;nbsp;wb&amp;nbsp;Is&amp;nbsp;Nothing&amp;nbsp;Then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;wb.Close&amp;nbsp;SaveChanges:=False &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set&amp;nbsp;wb&amp;nbsp;=&amp;nbsp;Nothing &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;If &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Exit&amp;nbsp;Sub &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;ErrorHandler: &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;오류&amp;nbsp;발생&amp;nbsp;시&amp;nbsp;안전하게&amp;nbsp;파일&amp;nbsp;닫기 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;On&amp;nbsp;Error&amp;nbsp;Resume&amp;nbsp;Next &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;fileOpened&amp;nbsp;And&amp;nbsp;Not&amp;nbsp;wb&amp;nbsp;Is&amp;nbsp;Nothing&amp;nbsp;Then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;wb.Close&amp;nbsp;SaveChanges:=False &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set&amp;nbsp;wb&amp;nbsp;=&amp;nbsp;Nothing &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;If &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;On&amp;nbsp;Error&amp;nbsp;GoTo&amp;nbsp;0 &lt;br /&gt;End&amp;nbsp;Sub &lt;br /&gt;&lt;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;h2 data-end=&quot;2058&quot; data-start=&quot;2030&quot; data-ke-size=&quot;size26&quot;&gt;✅ 마무리: 클릭 한 번으로 엑셀 검색 끝내기&lt;/h2&gt;
&lt;p data-end=&quot;2122&quot; data-start=&quot;2060&quot; data-ke-size=&quot;size16&quot;&gt;이제는 반복적인 검색 작업에서 벗어나세요.&lt;br /&gt;&lt;b&gt;엑셀 자동 검색 매크로&lt;/b&gt;, 실무에서 지금 바로 활용해보세요.&lt;/p&gt;
&lt;p data-end=&quot;2175&quot; data-start=&quot;2124&quot; data-ke-size=&quot;size16&quot;&gt;  궁금한 점은 댓글로 질문 주세요!&lt;br /&gt;좋아요 ❤️ + 이웃추가  는 큰 힘이 됩니다!&lt;/p&gt;
&lt;hr data-end=&quot;1822&quot; data-start=&quot;1819&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;p&gt;&lt;figure class=&quot;fileblock&quot; data-ke-align=&quot;alignCenter&quot;&gt;&lt;a href=&quot;https://blog.kakaocdn.net/dn/crCnVw/dJMb9cuGtOO/m3SWouu8AWQwALY9LE4H40/%ED%8F%B4%EB%8D%94%EB%82%B4%20%EB%AA%A8%EB%93%A0%20%EC%97%91%EC%85%80%ED%8C%8C%EC%9D%BC%EC%97%90%EC%84%9C%20%EA%B2%80%EC%83%89%EA%B0%92%20%EC%B0%BE%EA%B8%B0.xlsm?attach=1&amp;amp;knm=tfile.xlsm&quot; class=&quot;&quot;&gt;
    &lt;div class=&quot;image&quot;&gt;&lt;/div&gt;
    &lt;div class=&quot;desc&quot;&gt;&lt;div class=&quot;filename&quot;&gt;&lt;span class=&quot;name&quot;&gt;폴더내 모든 엑셀파일에서 검색값 찾기.xlsm&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;size&quot;&gt;0.03MB&lt;/div&gt;
&lt;/div&gt;
  &lt;/a&gt;&lt;/figure&gt;
&lt;figure class=&quot;fileblock&quot; data-ke-align=&quot;alignCenter&quot;&gt;&lt;a href=&quot;https://blog.kakaocdn.net/dn/cwh5fK/dJMb9PM296c/kb6XEbshrDhRusOj97Czy1/%EC%98%88%EC%A0%9C%ED%8C%8C%EC%9D%BC.zip?attach=1&amp;amp;knm=tfile.zip&quot; class=&quot;&quot;&gt;
    &lt;div class=&quot;image&quot;&gt;&lt;/div&gt;
    &lt;div class=&quot;desc&quot;&gt;&lt;div class=&quot;filename&quot;&gt;&lt;span class=&quot;name&quot;&gt;예제파일.zip&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;size&quot;&gt;0.07MB&lt;/div&gt;
&lt;/div&gt;
  &lt;/a&gt;&lt;/figure&gt;
&lt;/p&gt;</description>
      <category>DATA</category>
      <category>#엑셀자동검색 #엑셀VBA #엑셀매크로 #엑셀검색기 #엑셀파일검색 #엑셀자동화 #엑셀고수 #엑셀팁 #업무자동화 #사무자동화</category>
      <author>노만e</author>
      <guid isPermaLink="true">https://dream2049.tistory.com/187</guid>
      <comments>https://dream2049.tistory.com/187#entry187comment</comments>
      <pubDate>Tue, 23 Sep 2025 22:33:55 +0900</pubDate>
    </item>
    <item>
      <title>엑셀 자동 단어 암기 &amp;ldquo;깜빡이 학습기 v2&amp;rdquo; | DAY 선택, 시트 선택, 모드 설정까지!</title>
      <link>https://dream2049.tistory.com/186</link>
      <description>&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;그림1.jpg&quot; data-origin-width=&quot;1107&quot; data-origin-height=&quot;507&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/lBpZK/btsQDVVMKKX/7NNRIsspw5QuNXzDRbWWvK/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/lBpZK/btsQDVVMKKX/7NNRIsspw5QuNXzDRbWWvK/img.jpg&quot; data-alt=&quot;엑셀 깜박이 학습기&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/lBpZK/btsQDVVMKKX/7NNRIsspw5QuNXzDRbWWvK/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FlBpZK%2FbtsQDVVMKKX%2F7NNRIsspw5QuNXzDRbWWvK%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1107&quot; height=&quot;507&quot; data-filename=&quot;그림1.jpg&quot; data-origin-width=&quot;1107&quot; data-origin-height=&quot;507&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;엑셀 깜박이 학습기&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-end=&quot;273&quot; data-start=&quot;213&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;br /&gt;&amp;ldquo;단어 외우는 게 너무 지루해요&amp;hellip;&amp;rdquo;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&amp;ldquo;엑셀로 자동 깜빡이처럼 단어 학습할 수 없을까?&amp;rdquo;&lt;br /&gt;&lt;br /&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p data-end=&quot;351&quot; data-start=&quot;275&quot; data-ke-size=&quot;size16&quot;&gt;  단어 외우기, 무조건 반복만이 답일까요?&lt;br /&gt;이제 &lt;b&gt;엑셀 VBA 깜빡이 학습기&lt;/b&gt;로 시간은 아끼고 &lt;b&gt;암기 효율은 올려보세요!&lt;/b&gt;&lt;/p&gt;
&lt;p data-end=&quot;459&quot; data-start=&quot;353&quot; data-ke-size=&quot;size16&quot;&gt;이 글에서는 2025년 최신버전인&lt;br /&gt;✅ &lt;b&gt;&amp;ldquo;DAY 선택 + 시트 선택 + 뜻 &amp;harr; 단어 모드 + 시간 간격 조절&amp;rdquo;&lt;/b&gt;&lt;br /&gt;기능까지 탑재된 &lt;b&gt;엑셀 자동 깜빡이 학습기 v2&lt;/b&gt;를 소개합니다.&lt;/p&gt;
&lt;hr data-end=&quot;464&quot; data-start=&quot;461&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h2 data-end=&quot;488&quot; data-start=&quot;466&quot; data-ke-size=&quot;size26&quot;&gt;✨ 깜빡이 학습기 v2의 주요 기능&lt;/h2&gt;
&lt;div&gt;
&lt;div&gt;기능 항목설명
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-end=&quot;771&quot; data-start=&quot;490&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody data-end=&quot;771&quot; data-start=&quot;526&quot;&gt;
&lt;tr data-end=&quot;566&quot; data-start=&quot;526&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;536&quot; data-start=&quot;526&quot;&gt;✅ 시트 선택&lt;/td&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;566&quot; data-start=&quot;536&quot;&gt;여러 단어장 시트 중 원하는 시트를 선택해 학습&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;615&quot; data-start=&quot;567&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;578&quot; data-start=&quot;567&quot;&gt;✅ DAY 선택&lt;/td&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;615&quot; data-start=&quot;578&quot;&gt;&quot;DAY 1 ~ DAY 31&quot; 중 필요한 DAY만 학습 가능&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;656&quot; data-start=&quot;616&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;626&quot; data-start=&quot;616&quot;&gt;✅ 모드 전환&lt;/td&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;656&quot; data-start=&quot;626&quot;&gt;&quot;단어 &amp;rarr; 뜻&quot; 또는 &quot;뜻 &amp;rarr; 단어&quot; 방향 선택&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;696&quot; data-start=&quot;657&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;670&quot; data-start=&quot;657&quot;&gt;✅ 시간 간격 조절&lt;/td&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;696&quot; data-start=&quot;670&quot;&gt;1초, 2초, 3초 등 사용자 지정 가능&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;729&quot; data-start=&quot;697&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;707&quot; data-start=&quot;697&quot;&gt;✅ 자동 반복&lt;/td&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;729&quot; data-start=&quot;707&quot;&gt;단어/뜻을 자동으로 교체하며 표시&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;771&quot; data-start=&quot;730&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;750&quot; data-start=&quot;730&quot;&gt;✅ 일시정지 / 재시작 / 중지&lt;/td&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;771&quot; data-start=&quot;750&quot;&gt;학습 흐름을 자유롭게 제어 가능&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p data-end=&quot;844&quot; data-start=&quot;773&quot; data-ke-size=&quot;size16&quot;&gt;  이 모든 기능을 &lt;b&gt;드롭다운 메뉴에서 클릭 한 번&lt;/b&gt;으로 설정할 수 있어, &lt;b&gt;엑셀 초보자도 쉽게 사용&lt;/b&gt;할 수 있습니다!&lt;/p&gt;
&lt;hr data-end=&quot;849&quot; data-start=&quot;846&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h2 data-end=&quot;867&quot; data-start=&quot;851&quot; data-ke-size=&quot;size26&quot;&gt;  어떻게 사용하나요?&lt;/h2&gt;
&lt;h3 data-end=&quot;880&quot; data-start=&quot;869&quot; data-ke-size=&quot;size23&quot;&gt;① 시트 구성&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;896&quot; data-start=&quot;881&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;896&quot; data-start=&quot;881&quot;&gt;[사전] 시트 예시:&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;
&lt;div&gt;A열 (DAY)B열 (단어)C열 (뜻)
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-end=&quot;1074&quot; data-start=&quot;898&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody data-end=&quot;1074&quot; data-start=&quot;968&quot;&gt;
&lt;tr data-end=&quot;1003&quot; data-start=&quot;968&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;980&quot; data-start=&quot;968&quot;&gt;DAY 1&lt;/td&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;993&quot; data-start=&quot;980&quot;&gt;apple&lt;/td&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;1003&quot; data-start=&quot;993&quot;&gt;사과&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;1038&quot; data-start=&quot;1004&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;1016&quot; data-start=&quot;1004&quot;&gt;DAY 1&lt;/td&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;1029&quot; data-start=&quot;1016&quot;&gt;banana&lt;/td&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;1038&quot; data-start=&quot;1029&quot;&gt;바나나&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;1074&quot; data-start=&quot;1039&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;1051&quot; data-start=&quot;1039&quot;&gt;DAY 2&lt;/td&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;1064&quot; data-start=&quot;1051&quot;&gt;lion&lt;/td&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;1074&quot; data-start=&quot;1064&quot;&gt;사자&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1097&quot; data-start=&quot;1076&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1097&quot; data-start=&quot;1076&quot;&gt;[깜빡이] 시트에서 매크로 실행&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-end=&quot;1102&quot; data-start=&quot;1099&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-end=&quot;1120&quot; data-start=&quot;1104&quot; data-ke-size=&quot;size23&quot;&gt;② 셋업 및 실행 순서&lt;/h3&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-end=&quot;1236&quot; data-start=&quot;1122&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li data-end=&quot;1152&quot; data-start=&quot;1122&quot;&gt;&lt;b&gt;Alt + F11로 VBA 편집기 열기&lt;/b&gt;&lt;/li&gt;
&lt;li data-end=&quot;1172&quot; data-start=&quot;1153&quot;&gt;위 코드를 새 모듈에 붙여넣기&lt;/li&gt;
&lt;li data-end=&quot;1204&quot; data-start=&quot;1173&quot;&gt;SetupFlashBoard 실행 (초기 셋업)&lt;/li&gt;
&lt;li data-end=&quot;1236&quot; data-start=&quot;1205&quot;&gt;StartFlashCards 실행 (학습 시작)&lt;/li&gt;
&lt;/ol&gt;
&lt;hr data-end=&quot;1241&quot; data-start=&quot;1238&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h2 data-end=&quot;1257&quot; data-start=&quot;1243&quot; data-ke-size=&quot;size26&quot;&gt;  설정 항목 설명&lt;/h2&gt;
&lt;div&gt;
&lt;div&gt;셀 위치기능예시
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-end=&quot;1443&quot; data-start=&quot;1259&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody data-end=&quot;1443&quot; data-start=&quot;1304&quot;&gt;
&lt;tr data-end=&quot;1339&quot; data-start=&quot;1304&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;1312&quot; data-start=&quot;1304&quot;&gt;L10&lt;/td&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;1321&quot; data-start=&quot;1312&quot;&gt;시트명 선택&lt;/td&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;1339&quot; data-start=&quot;1321&quot;&gt;중등영단어, 수능영단어 등&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;1375&quot; data-start=&quot;1340&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;1348&quot; data-start=&quot;1340&quot;&gt;L11&lt;/td&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;1357&quot; data-start=&quot;1348&quot;&gt;DAY 선택&lt;/td&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;1375&quot; data-start=&quot;1357&quot;&gt;DAY 1 ~ DAY 31&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;1410&quot; data-start=&quot;1376&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;1384&quot; data-start=&quot;1376&quot;&gt;L12&lt;/td&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;1392&quot; data-start=&quot;1384&quot;&gt;깜빡 간격&lt;/td&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;1410&quot; data-start=&quot;1392&quot;&gt;1초, 2초 등 입력 가능&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;1443&quot; data-start=&quot;1411&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;1419&quot; data-start=&quot;1411&quot;&gt;L13&lt;/td&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;1424&quot; data-start=&quot;1419&quot;&gt;모드&lt;/td&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;1443&quot; data-start=&quot;1424&quot;&gt;단어 &amp;rarr; 뜻 / 뜻 &amp;rarr; 단어&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;blockquote data-end=&quot;1514&quot; data-start=&quot;1445&quot; data-ke-style=&quot;style1&quot;&gt;
&lt;p data-end=&quot;1514&quot; data-start=&quot;1447&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;TIP:&lt;/b&gt; &quot;단어 &amp;rarr; 뜻&quot;은 영어단어 &amp;rarr; 해석 순서,&lt;br /&gt;&quot;뜻 &amp;rarr; 단어&quot;는 해석 &amp;rarr; 영어단어 순서로 표시됩니다.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;hr data-end=&quot;1519&quot; data-start=&quot;1516&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h2 data-end=&quot;1537&quot; data-start=&quot;1521&quot; data-ke-size=&quot;size26&quot;&gt;  학습 모드 활용 팁&lt;/h2&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1643&quot; data-start=&quot;1539&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1573&quot; data-start=&quot;1539&quot;&gt;&lt;b&gt;처음 외울 땐&lt;/b&gt;: 단어 &amp;rarr; 뜻으로 빠르게 훑기&lt;/li&gt;
&lt;li data-end=&quot;1610&quot; data-start=&quot;1574&quot;&gt;&lt;b&gt;시험 전 점검 땐&lt;/b&gt;: 뜻 &amp;rarr; 단어로 역방향 테스트&lt;/li&gt;
&lt;li data-end=&quot;1643&quot; data-start=&quot;1611&quot;&gt;&lt;b&gt;DAY별로 나눠서&lt;/b&gt; 하루치 학습 분량만 집중 공략&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-end=&quot;1678&quot; data-start=&quot;1645&quot; data-ke-size=&quot;size16&quot;&gt;  원하는 시트와 DAY만 선택해서 효율적으로 복습하세요!&lt;/p&gt;
&lt;hr data-end=&quot;1683&quot; data-start=&quot;1680&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h2 data-end=&quot;1703&quot; data-start=&quot;1685&quot; data-ke-size=&quot;size26&quot;&gt;  일시정지 &amp;amp; 중지 방법&lt;/h2&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1778&quot; data-start=&quot;1705&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1746&quot; data-start=&quot;1705&quot;&gt;PauseResumeFlashCards: 학습 일시정지 / 재개&lt;/li&gt;
&lt;li data-end=&quot;1778&quot; data-start=&quot;1747&quot;&gt;StopFlashCards: 학습 종료 후 초기화&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-end=&quot;1783&quot; data-start=&quot;1780&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h2 data-end=&quot;1804&quot; data-start=&quot;1785&quot; data-ke-size=&quot;size26&quot;&gt;  지금 바로 사용해보세요!&lt;/h2&gt;
&lt;p data-end=&quot;1859&quot; data-start=&quot;1806&quot; data-ke-size=&quot;size16&quot;&gt;엑셀만 있으면 무료로, 간단한 설정만으로&lt;br /&gt;&lt;b&gt;디지털 암기학습 도구&lt;/b&gt;를 완성할 수 있습니다!&lt;/p&gt;
&lt;p data-end=&quot;1907&quot; data-start=&quot;1861&quot; data-ke-size=&quot;size16&quot;&gt;  단어 학습, 무작정 외우지 말고&lt;br /&gt;  자동으로 깜빡이며 뇌에 각인시키세요!&lt;/p&gt;
&lt;hr data-end=&quot;1912&quot; data-start=&quot;1909&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h2 data-end=&quot;1928&quot; data-start=&quot;1914&quot; data-ke-size=&quot;size26&quot;&gt;  템플릿 다운로드&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;fileblock&quot; data-ke-align=&quot;alignCenter&quot;&gt;&lt;a href=&quot;https://blog.kakaocdn.net/dn/bBolfi/dJMb9OAACRp/D4qxb9IHppUBKnRvDpHKMK/%EA%B9%9C%EB%B9%A1%EC%9D%B4%20%ED%95%99%EC%8A%B5%EA%B8%B0_ver2.0.xlsm?attach=1&amp;amp;knm=tfile.xlsm&quot; class=&quot;&quot;&gt;
    &lt;div class=&quot;image&quot;&gt;&lt;/div&gt;
    &lt;div class=&quot;desc&quot;&gt;&lt;div class=&quot;filename&quot;&gt;&lt;span class=&quot;name&quot;&gt;깜빡이 학습기_ver2.0.xlsm&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;size&quot;&gt;0.10MB&lt;/div&gt;
&lt;/div&gt;
  &lt;/a&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h2 data-end=&quot;2032&quot; data-start=&quot;1997&quot; data-ke-size=&quot;size26&quot;&gt;&amp;nbsp;&lt;/h2&gt;
&lt;h2 data-end=&quot;2032&quot; data-start=&quot;1997&quot; data-ke-size=&quot;size26&quot;&gt;  블로그 구독하고 더 많은 엑셀 학습 도구 받아가세요!&lt;/h2&gt;
&lt;blockquote data-end=&quot;2109&quot; data-start=&quot;2034&quot; data-ke-style=&quot;style1&quot;&gt;
&lt;p data-end=&quot;2109&quot; data-start=&quot;2036&quot; data-ke-size=&quot;size16&quot;&gt;더 많은 &lt;b&gt;엑셀 자동화 / 학습 매크로 / VBA 꿀팁&lt;/b&gt;을 받아보고 싶다면?&lt;br /&gt;  &lt;b&gt;블로그 구독&lt;/b&gt; 버튼을 눌러주세요!&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>DATA</category>
      <category>#엑셀VBA #깜빡이학습기 #단어암기 #자동학습 #엑셀학습도구 #엑셀매크로 #엑셀공부 #엑셀영단어 #엑셀자동화 #암기비법 #DAY학습 #엑셀단어장 #VBA자동반복 #엑셀팁 #엑셀교육</category>
      <author>노만e</author>
      <guid isPermaLink="true">https://dream2049.tistory.com/186</guid>
      <comments>https://dream2049.tistory.com/186#entry186comment</comments>
      <pubDate>Thu, 18 Sep 2025 22:47:09 +0900</pubDate>
    </item>
    <item>
      <title>엑셀로 자동 단어 암기! &amp;quot;깜빡이 학습기&amp;quot; 매크로로 집중력 UP</title>
      <link>https://dream2049.tistory.com/185</link>
      <description>&lt;blockquote data-end=&quot;264&quot; data-start=&quot;192&quot; data-ke-style=&quot;style1&quot;&gt;
&lt;p data-end=&quot;264&quot; data-start=&quot;194&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;br /&gt;&lt;br /&gt;영어 단어 암기&lt;/b&gt;, &lt;b&gt;자격증 필기 공부&lt;/b&gt;, &lt;b&gt;아이 학습지 반복학습&lt;/b&gt;&lt;br /&gt;매번 수동으로 보고 외우기 지치셨나요?&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;영단어 암기 깜빡이.jpg&quot; data-origin-width=&quot;1220&quot; data-origin-height=&quot;577&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/moTlw/btsQA55pRiH/OTIhYRcYIkXsNYNzMvUU60/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/moTlw/btsQA55pRiH/OTIhYRcYIkXsNYNzMvUU60/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/moTlw/btsQA55pRiH/OTIhYRcYIkXsNYNzMvUU60/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FmoTlw%2FbtsQA55pRiH%2FOTIhYRcYIkXsNYNzMvUU60%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1220&quot; height=&quot;577&quot; data-filename=&quot;영단어 암기 깜빡이.jpg&quot; data-origin-width=&quot;1220&quot; data-origin-height=&quot;577&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-end=&quot;345&quot; data-start=&quot;266&quot; data-ke-size=&quot;size16&quot;&gt;지금부터 소개할 이 &lt;b&gt;&quot;엑셀 깜빡이 학습기&quot; 매크로&lt;/b&gt;는,&lt;br /&gt;단어와 뜻을 자동으로 &lt;b&gt;1초 간격으로 번갈아 보여주는&lt;/b&gt; 학습 도우미입니다.&lt;/p&gt;
&lt;p data-end=&quot;387&quot; data-start=&quot;347&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;엑셀만 있으면 무료!&lt;/b&gt;&lt;br /&gt;&lt;b&gt;클릭 한 번이면 자동 학습 시작!&lt;/b&gt;&lt;/p&gt;
&lt;hr data-end=&quot;392&quot; data-start=&quot;389&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h2 data-end=&quot;412&quot; data-start=&quot;394&quot; data-ke-size=&quot;size26&quot;&gt;  이런 분들께 추천합니다&lt;/h2&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;543&quot; data-start=&quot;414&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;452&quot; data-start=&quot;414&quot;&gt;영어, 한자, 일본어, 중국어 등 &lt;b&gt;외국어 단어&lt;/b&gt;를 외우는 분&lt;/li&gt;
&lt;li data-end=&quot;484&quot; data-start=&quot;453&quot;&gt;&lt;b&gt;초등학생 자녀&lt;/b&gt;의 반복 학습을 돕고 싶은 학부모&lt;/li&gt;
&lt;li data-end=&quot;511&quot; data-start=&quot;485&quot;&gt;&lt;b&gt;시험 대비 요약 암기&lt;/b&gt;가 필요한 수험생&lt;/li&gt;
&lt;li data-end=&quot;543&quot; data-start=&quot;512&quot;&gt;기존 학습 방식에 &lt;b&gt;지루함&lt;/b&gt;을 느끼는 모든 학습자&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-end=&quot;548&quot; data-start=&quot;545&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h2 data-end=&quot;561&quot; data-start=&quot;550&quot; data-ke-size=&quot;size26&quot;&gt;  기능 요약&lt;/h2&gt;
&lt;div&gt;
&lt;div&gt;기능설명
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-end=&quot;796&quot; data-start=&quot;563&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody data-end=&quot;796&quot; data-start=&quot;591&quot;&gt;
&lt;tr data-end=&quot;639&quot; data-start=&quot;591&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;602&quot; data-start=&quot;591&quot;&gt;  자동 반복&lt;/td&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;639&quot; data-start=&quot;602&quot;&gt;단어 &amp;rarr; 뜻 &amp;rarr; 다음 단어를 &lt;b&gt;1초 간격&lt;/b&gt;으로 자동 반복&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;692&quot; data-start=&quot;640&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;653&quot; data-start=&quot;640&quot;&gt;  큰 글씨 강조&lt;/td&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;692&quot; data-start=&quot;653&quot;&gt;글씨 크기 &lt;b&gt;72pt&lt;/b&gt;, 중앙 정렬, 색상 강조(파랑/빨강)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;731&quot; data-start=&quot;693&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;705&quot; data-start=&quot;693&quot;&gt;  간단한 구조&lt;/td&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;731&quot; data-start=&quot;705&quot;&gt;A열: 단어, B열: 뜻만 입력하면 OK&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;768&quot; data-start=&quot;732&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;747&quot; data-start=&quot;732&quot;&gt;⏸ 일시정지 / 재시작&lt;/td&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;768&quot; data-start=&quot;747&quot;&gt;중간에 멈추거나 다시 시작 가능&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;796&quot; data-start=&quot;769&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;779&quot; data-start=&quot;769&quot;&gt;⛔ 중단 버튼&lt;/td&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;796&quot; data-start=&quot;779&quot;&gt;원할 때 즉시 학습 종료&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;hr data-end=&quot;801&quot; data-start=&quot;798&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h2 data-end=&quot;814&quot; data-start=&quot;803&quot; data-ke-size=&quot;size26&quot;&gt;  사용 방법&lt;/h2&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-end=&quot;863&quot; data-start=&quot;816&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li data-end=&quot;841&quot; data-start=&quot;816&quot;&gt;&lt;b&gt;엑셀 실행 후 &amp;lsquo;사전&amp;rsquo; 시트 생성&lt;/b&gt;&lt;/li&gt;
&lt;li data-end=&quot;863&quot; data-start=&quot;842&quot;&gt;아래와 같이 &lt;b&gt;단어/뜻&lt;/b&gt; 입력&lt;/li&gt;
&lt;/ol&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;span&gt;| 단어 | 뜻 | |&lt;/span&gt;&lt;span&gt;&lt;span&gt;--------------|-------------|&lt;/span&gt;&lt;/span&gt;&lt;span&gt; | apple | 사과 | | elephant | 코끼리 | &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-end=&quot;1090&quot; data-start=&quot;990&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li data-end=&quot;1024&quot; data-start=&quot;990&quot;&gt;Alt + F11 &amp;rarr; VBA 모듈에 코드 붙여넣기&lt;/li&gt;
&lt;li data-end=&quot;1063&quot; data-start=&quot;1025&quot;&gt;Alt + F8 &amp;rarr; StartFlashCards 실행&lt;/li&gt;
&lt;li data-end=&quot;1090&quot; data-start=&quot;1064&quot;&gt;&amp;lsquo;깜빡이&amp;rsquo; 시트에서 자동 암기 시작!  &lt;/li&gt;
&lt;/ol&gt;
&lt;p data-end=&quot;1134&quot; data-start=&quot;1092&quot; data-ke-size=&quot;size16&quot;&gt;  &lt;b&gt;1초 간격으로 단어 &amp;rarr; 뜻 &amp;rarr; 다음 단어&lt;/b&gt;가 깜빡이며 표시됩니다.&lt;/p&gt;
&lt;p data-end=&quot;1134&quot; data-start=&quot;1092&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 100%;&quot;&gt;Option&amp;nbsp;Explicit &lt;br /&gt;&lt;br /&gt;'&amp;nbsp;=====&amp;nbsp;모듈&amp;nbsp;전역&amp;nbsp;변수&amp;nbsp;===== &lt;br /&gt;Dim&amp;nbsp;currentRow&amp;nbsp;As&amp;nbsp;Long &lt;br /&gt;Dim&amp;nbsp;maxRow&amp;nbsp;As&amp;nbsp;Long &lt;br /&gt;Dim&amp;nbsp;showingWord&amp;nbsp;As&amp;nbsp;Boolean &lt;br /&gt;Dim&amp;nbsp;isRunning&amp;nbsp;As&amp;nbsp;Boolean &lt;br /&gt;Dim&amp;nbsp;nextTime&amp;nbsp;As&amp;nbsp;Date&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;OnTime&amp;nbsp;예약/해제용 &lt;br /&gt;&lt;br /&gt;'&amp;nbsp;=====&amp;nbsp;시트&amp;nbsp;보드(레이아웃)&amp;nbsp;1회&amp;nbsp;설정&amp;nbsp;===== &lt;br /&gt;Public&amp;nbsp;Sub&amp;nbsp;SetupFlashBoard() &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;ws&amp;nbsp;As&amp;nbsp;Worksheet &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set&amp;nbsp;ws&amp;nbsp;=&amp;nbsp;EnsureSheet(&quot;깜빡이&quot;) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;With&amp;nbsp;ws &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;A1:I16&amp;nbsp;전체&amp;nbsp;초기화 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.Range(&quot;A1:I16&quot;).Clear &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;혹시&amp;nbsp;병합되어&amp;nbsp;있다면&amp;nbsp;전부&amp;nbsp;해제 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.Range(&quot;A1:I16&quot;).UnMerge &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;열너비&amp;nbsp;A:I&amp;nbsp;=&amp;nbsp;13 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.Columns(&quot;A:I&quot;).ColumnWidth&amp;nbsp;=&amp;nbsp;13 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;행높이&amp;nbsp;1:16&amp;nbsp;=&amp;nbsp;25 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.Rows(&quot;1:16&quot;).RowHeight&amp;nbsp;=&amp;nbsp;25 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;A1:I16&amp;nbsp;병합&amp;nbsp;+&amp;nbsp;기본&amp;nbsp;서식 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;With&amp;nbsp;.Range(&quot;A1:I16&quot;) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.Merge &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.HorizontalAlignment&amp;nbsp;=&amp;nbsp;xlCenter &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.VerticalAlignment&amp;nbsp;=&amp;nbsp;xlCenter &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.Font.Size&amp;nbsp;=&amp;nbsp;72 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.Font.Bold&amp;nbsp;=&amp;nbsp;True &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.Value&amp;nbsp;=&amp;nbsp;&quot;&quot; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;테두리&amp;nbsp;초기화&amp;nbsp;후&amp;nbsp;외곽&amp;nbsp;굵은&amp;nbsp;녹색 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.Borders.LineStyle&amp;nbsp;=&amp;nbsp;xlNone &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;With&amp;nbsp;.Borders(xlEdgeLeft) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.LineStyle&amp;nbsp;=&amp;nbsp;xlContinuous &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.Weight&amp;nbsp;=&amp;nbsp;xlThick &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.Color&amp;nbsp;=&amp;nbsp;RGB(0,&amp;nbsp;176,&amp;nbsp;80) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;With &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;With&amp;nbsp;.Borders(xlEdgeTop) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.LineStyle&amp;nbsp;=&amp;nbsp;xlContinuous &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.Weight&amp;nbsp;=&amp;nbsp;xlThick &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.Color&amp;nbsp;=&amp;nbsp;RGB(0,&amp;nbsp;176,&amp;nbsp;80) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;With &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;With&amp;nbsp;.Borders(xlEdgeRight) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.LineStyle&amp;nbsp;=&amp;nbsp;xlContinuous &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.Weight&amp;nbsp;=&amp;nbsp;xlThick &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.Color&amp;nbsp;=&amp;nbsp;RGB(0,&amp;nbsp;176,&amp;nbsp;80) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;With &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;With&amp;nbsp;.Borders(xlEdgeBottom) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.LineStyle&amp;nbsp;=&amp;nbsp;xlContinuous &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.Weight&amp;nbsp;=&amp;nbsp;xlThick &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.Color&amp;nbsp;=&amp;nbsp;RGB(0,&amp;nbsp;176,&amp;nbsp;80) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;With &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;With &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;With &lt;br /&gt;End&amp;nbsp;Sub &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;'&amp;nbsp;=====&amp;nbsp;메인&amp;nbsp;실행&amp;nbsp;===== &lt;br /&gt;Public&amp;nbsp;Sub&amp;nbsp;StartFlashCards() &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;wsDict&amp;nbsp;As&amp;nbsp;Worksheet &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;wsMain&amp;nbsp;As&amp;nbsp;Worksheet &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set&amp;nbsp;wsDict&amp;nbsp;=&amp;nbsp;EnsureSheet(&quot;사전&quot;) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set&amp;nbsp;wsMain&amp;nbsp;=&amp;nbsp;EnsureSheet(&quot;깜빡이&quot;) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;레이아웃을&amp;nbsp;항상&amp;nbsp;보장 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;SetupFlashBoard &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;사전&amp;nbsp;시트&amp;nbsp;마지막&amp;nbsp;행(A열&amp;nbsp;기준) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;With&amp;nbsp;wsDict &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;maxRow&amp;nbsp;=&amp;nbsp;.Cells(.Rows.Count,&amp;nbsp;&quot;A&quot;).End(xlUp).Row &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;With &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;maxRow&amp;nbsp;&amp;lt;&amp;nbsp;1&amp;nbsp;Or&amp;nbsp;Len(wsDict.Range(&quot;A1&quot;).Value)&amp;nbsp;=&amp;nbsp;0&amp;nbsp;Then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;MsgBox&amp;nbsp;&quot;사전&amp;nbsp;시트에&amp;nbsp;단어&amp;nbsp;데이터가&amp;nbsp;없습니다.&quot;,&amp;nbsp;vbExclamation &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Exit&amp;nbsp;Sub &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;If &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;currentRow&amp;nbsp;=&amp;nbsp;2 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;showingWord&amp;nbsp;=&amp;nbsp;True &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;isRunning&amp;nbsp;=&amp;nbsp;True &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ShowCurrentContent &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;nextTime&amp;nbsp;=&amp;nbsp;Now&amp;nbsp;+&amp;nbsp;TimeValue(&quot;00:00:01&quot;) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Application.OnTime&amp;nbsp;earliesttime:=nextTime,&amp;nbsp;procedure:=&quot;ShowNext&quot; &lt;br /&gt;End&amp;nbsp;Sub &lt;br /&gt;&lt;br /&gt;'&amp;nbsp;=====&amp;nbsp;현재&amp;nbsp;내용&amp;nbsp;표시&amp;nbsp;===== &lt;br /&gt;Private&amp;nbsp;Sub&amp;nbsp;ShowCurrentContent() &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;content&amp;nbsp;As&amp;nbsp;String &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;With&amp;nbsp;Worksheets(&quot;사전&quot;) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;showingWord&amp;nbsp;Then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;content&amp;nbsp;=&amp;nbsp;.Cells(currentRow,&amp;nbsp;1).Value&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;A열:&amp;nbsp;단어 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Else &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;content&amp;nbsp;=&amp;nbsp;.Cells(currentRow,&amp;nbsp;2).Value&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;B열:&amp;nbsp;뜻 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;If &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;With &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;With&amp;nbsp;Worksheets(&quot;깜빡이&quot;).Range(&quot;A1:I16&quot;) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.Value&amp;nbsp;=&amp;nbsp;content &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.Font.Size&amp;nbsp;=&amp;nbsp;72 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.Font.Bold&amp;nbsp;=&amp;nbsp;True &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.HorizontalAlignment&amp;nbsp;=&amp;nbsp;xlCenter &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.VerticalAlignment&amp;nbsp;=&amp;nbsp;xlCenter &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;showingWord&amp;nbsp;Then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.Font.Color&amp;nbsp;=&amp;nbsp;RGB(0,&amp;nbsp;0,&amp;nbsp;255)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;파랑(단어) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Else &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.Font.Color&amp;nbsp;=&amp;nbsp;RGB(255,&amp;nbsp;0,&amp;nbsp;0)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;빨강(뜻) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;If &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;With &lt;br /&gt;End&amp;nbsp;Sub &lt;br /&gt;&lt;br /&gt;'&amp;nbsp;=====&amp;nbsp;다음&amp;nbsp;내용&amp;nbsp;표시&amp;nbsp;===== &lt;br /&gt;Public&amp;nbsp;Sub&amp;nbsp;ShowNext() &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;Not&amp;nbsp;isRunning&amp;nbsp;Then&amp;nbsp;Exit&amp;nbsp;Sub &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;showingWord&amp;nbsp;Then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;showingWord&amp;nbsp;=&amp;nbsp;False&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;단어&amp;nbsp;&amp;rarr;&amp;nbsp;뜻 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Else &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;showingWord&amp;nbsp;=&amp;nbsp;True&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;뜻&amp;nbsp;&amp;rarr;&amp;nbsp;다음&amp;nbsp;단어 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;currentRow&amp;nbsp;=&amp;nbsp;currentRow&amp;nbsp;+&amp;nbsp;1 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;currentRow&amp;nbsp;&amp;gt;&amp;nbsp;maxRow&amp;nbsp;Then&amp;nbsp;currentRow&amp;nbsp;=&amp;nbsp;1 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;If &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ShowCurrentContent &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;nextTime&amp;nbsp;=&amp;nbsp;Now&amp;nbsp;+&amp;nbsp;TimeValue(&quot;00:00:01&quot;) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Application.OnTime&amp;nbsp;earliesttime:=nextTime,&amp;nbsp;procedure:=&quot;ShowNext&quot; &lt;br /&gt;End&amp;nbsp;Sub &lt;br /&gt;&lt;br /&gt;'&amp;nbsp;=====&amp;nbsp;중지&amp;nbsp;===== &lt;br /&gt;Public&amp;nbsp;Sub&amp;nbsp;StopFlashCards() &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;isRunning&amp;nbsp;=&amp;nbsp;False &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;On&amp;nbsp;Error&amp;nbsp;Resume&amp;nbsp;Next &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;nextTime&amp;nbsp;&amp;lt;&amp;gt;&amp;nbsp;0&amp;nbsp;Then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Application.OnTime&amp;nbsp;earliesttime:=nextTime,&amp;nbsp;procedure:=&quot;ShowNext&quot;,&amp;nbsp;schedule:=False &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;If &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;On&amp;nbsp;Error&amp;nbsp;GoTo&amp;nbsp;0 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;With&amp;nbsp;EnsureSheet(&quot;깜빡이&quot;).Range(&quot;A1:I16&quot;) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.Value&amp;nbsp;=&amp;nbsp;&quot;&quot; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;With &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;MsgBox&amp;nbsp;&quot;단어&amp;nbsp;학습을&amp;nbsp;종료했습니다.&quot; &lt;br /&gt;End&amp;nbsp;Sub &lt;br /&gt;&lt;br /&gt;'&amp;nbsp;=====&amp;nbsp;일시정지&amp;nbsp;/&amp;nbsp;재시작&amp;nbsp;===== &lt;br /&gt;Public&amp;nbsp;Sub&amp;nbsp;PauseResumeFlashCards() &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;isRunning&amp;nbsp;Then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;isRunning&amp;nbsp;=&amp;nbsp;False &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;On&amp;nbsp;Error&amp;nbsp;Resume&amp;nbsp;Next &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;nextTime&amp;nbsp;&amp;lt;&amp;gt;&amp;nbsp;0&amp;nbsp;Then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Application.OnTime&amp;nbsp;earliesttime:=nextTime,&amp;nbsp;procedure:=&quot;ShowNext&quot;,&amp;nbsp;schedule:=False &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;If &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;On&amp;nbsp;Error&amp;nbsp;GoTo&amp;nbsp;0 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;MsgBox&amp;nbsp;&quot;일시정지되었습니다.&quot; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Else &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;isRunning&amp;nbsp;=&amp;nbsp;True &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;nextTime&amp;nbsp;=&amp;nbsp;Now&amp;nbsp;+&amp;nbsp;TimeValue(&quot;00:00:01&quot;) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Application.OnTime&amp;nbsp;earliesttime:=nextTime,&amp;nbsp;procedure:=&quot;ShowNext&quot; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;MsgBox&amp;nbsp;&quot;재시작되었습니다.&quot; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;If &lt;br /&gt;End&amp;nbsp;Sub &lt;br /&gt;&lt;br /&gt;'&amp;nbsp;=====&amp;nbsp;유틸:&amp;nbsp;시트&amp;nbsp;보장&amp;nbsp;===== &lt;br /&gt;Private&amp;nbsp;Function&amp;nbsp;EnsureSheet(ByVal&amp;nbsp;shtName&amp;nbsp;As&amp;nbsp;String)&amp;nbsp;As&amp;nbsp;Worksheet &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;On&amp;nbsp;Error&amp;nbsp;Resume&amp;nbsp;Next &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set&amp;nbsp;EnsureSheet&amp;nbsp;=&amp;nbsp;ThisWorkbook.Worksheets(shtName) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;On&amp;nbsp;Error&amp;nbsp;GoTo&amp;nbsp;0 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;EnsureSheet&amp;nbsp;Is&amp;nbsp;Nothing&amp;nbsp;Then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set&amp;nbsp;EnsureSheet&amp;nbsp;=&amp;nbsp;ThisWorkbook.Worksheets.Add &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;EnsureSheet.Name&amp;nbsp;=&amp;nbsp;shtName &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;If &lt;br /&gt;End&amp;nbsp;Function &lt;br /&gt;&lt;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;hr data-end=&quot;1139&quot; data-start=&quot;1136&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h2 data-end=&quot;1152&quot; data-start=&quot;1141&quot; data-ke-size=&quot;size26&quot;&gt;  학습 효과&lt;/h2&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1231&quot; data-start=&quot;1154&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1177&quot; data-start=&quot;1154&quot;&gt;✅ 시각적 자극으로 &lt;b&gt;집중력 강화&lt;/b&gt;&lt;/li&gt;
&lt;li data-end=&quot;1202&quot; data-start=&quot;1178&quot;&gt;✅ 반복 노출로 &lt;b&gt;암기 효과 극대화&lt;/b&gt;&lt;/li&gt;
&lt;li data-end=&quot;1231&quot; data-start=&quot;1203&quot;&gt;✅ 무의식 반복 학습으로 &lt;b&gt;장기 기억 정착&lt;/b&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-end=&quot;1270&quot; data-start=&quot;1233&quot; data-ke-size=&quot;size16&quot;&gt;특히 &lt;b&gt;어린이, 청소년, ADHD 아이들&lt;/b&gt; 학습에 효과적입니다!&lt;/p&gt;
&lt;hr data-end=&quot;1275&quot; data-start=&quot;1272&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h2 data-end=&quot;1296&quot; data-start=&quot;1277&quot; data-ke-size=&quot;size26&quot;&gt;  자주 묻는 질문(FAQ)&lt;/h2&gt;
&lt;h3 data-end=&quot;1319&quot; data-start=&quot;1298&quot; data-ke-size=&quot;size23&quot;&gt;❓ 엑셀 버전이 어떻게 되나요?&lt;/h3&gt;
&lt;p data-end=&quot;1366&quot; data-start=&quot;1320&quot; data-ke-size=&quot;size16&quot;&gt;⤷ Microsoft Excel 2010 이상이면 작동합니다 (Win 가능)&lt;/p&gt;
&lt;h3 data-end=&quot;1395&quot; data-start=&quot;1368&quot; data-ke-size=&quot;size23&quot;&gt;❓ 간격을 1초 말고 3초로 바꾸고 싶어요&lt;/h3&gt;
&lt;p data-end=&quot;1457&quot; data-start=&quot;1396&quot; data-ke-size=&quot;size16&quot;&gt;⤷ TimeValue(&quot;00:00:01&quot;) 부분을 TimeValue(&quot;00:00:03&quot;)로 수정하세요.&lt;/p&gt;
&lt;h3 data-end=&quot;1492&quot; data-start=&quot;1459&quot; data-ke-size=&quot;size23&quot;&gt;❓ 무작위(Random)로 단어가 나오게 하고 싶어요&lt;/h3&gt;
&lt;p data-end=&quot;1526&quot; data-start=&quot;1493&quot; data-ke-size=&quot;size16&quot;&gt;⤷ 가능합니다! 댓글로 요청 주시면 코드 추가해드립니다  &lt;/p&gt;
&lt;hr data-end=&quot;1531&quot; data-start=&quot;1528&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h2 data-end=&quot;1552&quot; data-start=&quot;1533&quot; data-ke-size=&quot;size26&quot;&gt;  템플릿 다운로드 (무료)&lt;/h2&gt;
&lt;blockquote data-end=&quot;1582&quot; data-start=&quot;1554&quot; data-ke-style=&quot;style1&quot;&gt;
&lt;p data-end=&quot;1582&quot; data-start=&quot;1556&quot; data-ke-size=&quot;size16&quot;&gt;✨ 아래 버튼을 눌러 템플릿 파일을 받아가세요!&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;figure class=&quot;fileblock&quot; data-ke-align=&quot;alignCenter&quot;&gt;&lt;a href=&quot;https://blog.kakaocdn.net/dn/sb7Nr/dJMb9dAlMJ5/iDmxsh6ausiSK9m25naasK/%EA%B9%9C%EB%B9%A1%EC%9D%B4%20%ED%95%99%EC%8A%B5%EA%B8%B0.xlsm?attach=1&amp;amp;knm=tfile.xlsm&quot; class=&quot;&quot;&gt;
    &lt;div class=&quot;image&quot;&gt;&lt;/div&gt;
    &lt;div class=&quot;desc&quot;&gt;&lt;div class=&quot;filename&quot;&gt;&lt;span class=&quot;name&quot;&gt;깜빡이 학습기.xlsm&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;size&quot;&gt;0.06MB&lt;/div&gt;
&lt;/div&gt;
  &lt;/a&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-end=&quot;1677&quot; data-start=&quot;1655&quot; data-ke-size=&quot;size26&quot;&gt;&amp;nbsp;&lt;/h2&gt;
&lt;h2 data-end=&quot;1677&quot; data-start=&quot;1655&quot; data-ke-size=&quot;size26&quot;&gt;  더 똑똑하게 공부하고 싶다면?&lt;/h2&gt;
&lt;p data-end=&quot;1765&quot; data-start=&quot;1679&quot; data-ke-size=&quot;size16&quot;&gt;이 자동 깜빡이 학습기는 단순한 매크로 이상의 &lt;b&gt;집중력 유도 도구&lt;/b&gt;입니다.&lt;br /&gt;반복적인 입력이나 인쇄 없이, &lt;b&gt;디지털 학습으로 완전 전환&lt;/b&gt;해보세요!&lt;/p&gt;
&lt;h2 data-end=&quot;1790&quot; data-start=&quot;1772&quot; data-ke-size=&quot;size26&quot;&gt;&amp;nbsp;&lt;/h2&gt;
&lt;h2 data-end=&quot;1790&quot; data-start=&quot;1772&quot; data-ke-size=&quot;size26&quot;&gt;  지금 바로 시작하세요!&lt;/h2&gt;
&lt;p data-end=&quot;1835&quot; data-start=&quot;1792&quot; data-ke-size=&quot;size16&quot;&gt;  영어단어, 자격증 필기, 외국어 공부&lt;br /&gt;  아이들의 학습지 대체 도구&lt;/p&gt;
&lt;p data-end=&quot;1867&quot; data-start=&quot;1837&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;엑셀 하나로, 자동으로, 집중해서 외우는 방법!&lt;/b&gt;&lt;/p&gt;
&lt;p data-end=&quot;1926&quot; data-start=&quot;1869&quot; data-ke-size=&quot;size16&quot;&gt;지금 바로 다운로드 받고 실행해보세요.&lt;br /&gt;&lt;b&gt;당신의 암기 학습 방식이 완전히 달라질 거예요!&lt;/b&gt;  &lt;/p&gt;</description>
      <category>DATA</category>
      <category>#엑셀깜빡이 #플래시카드 #단어암기 #영어단어 #자격증학습 #엑셀VBA #엑셀자동화 #공부매크로 #암기비법 #학습자동화</category>
      <author>노만e</author>
      <guid isPermaLink="true">https://dream2049.tistory.com/185</guid>
      <comments>https://dream2049.tistory.com/185#entry185comment</comments>
      <pubDate>Wed, 17 Sep 2025 23:49:59 +0900</pubDate>
    </item>
    <item>
      <title>엑셀 VBA로 여러 파일, 전체 시트 셀 값 한 번에 '찾아바꾸기' 하는 방법</title>
      <link>https://dream2049.tistory.com/184</link>
      <description>&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;kk2.jpg&quot; data-origin-width=&quot;1297&quot; data-origin-height=&quot;746&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cIpAPd/btsQzOnU9Qo/KtKE4g7us5na0u2jMhKk51/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cIpAPd/btsQzOnU9Qo/KtKE4g7us5na0u2jMhKk51/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cIpAPd/btsQzOnU9Qo/KtKE4g7us5na0u2jMhKk51/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcIpAPd%2FbtsQzOnU9Qo%2FKtKE4g7us5na0u2jMhKk51%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;804&quot; height=&quot;462&quot; data-filename=&quot;kk2.jpg&quot; data-origin-width=&quot;1297&quot; data-origin-height=&quot;746&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-end=&quot;323&quot; data-start=&quot;228&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-end=&quot;323&quot; data-start=&quot;228&quot; data-ke-size=&quot;size16&quot;&gt;회사에서 반복적인 엑셀 작업, 힘드시죠?&lt;br /&gt;여러 개의 엑셀 파일에 들어있는 특정 단어를 &lt;b&gt;한 번에 찾아 바꿀&lt;/b&gt;&amp;nbsp;수 있다면 얼마나 편리할까요?&lt;/p&gt;
&lt;p data-end=&quot;443&quot; data-start=&quot;325&quot; data-ke-size=&quot;size16&quot;&gt;오늘은 &lt;b&gt;&quot;VBA(엑셀 매크로)&quot;를 활용해 폴더 안의 모든 엑셀 파일을 자동으로 수정하는 방법&lt;/b&gt;을 소개합니다.&lt;br /&gt;파일을 하나씩 열지 않고, 자동으로 처리하는 방법이 궁금하신 분들께 꼭 도움이 될 내용이에요.&lt;/p&gt;
&lt;hr data-end=&quot;448&quot; data-start=&quot;445&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h2 data-end=&quot;469&quot; data-start=&quot;450&quot; data-ke-size=&quot;size26&quot;&gt;❓ 왜 이 작업이 필요할까요?&lt;/h2&gt;
&lt;blockquote data-end=&quot;638&quot; data-start=&quot;471&quot; data-ke-style=&quot;style1&quot;&gt;
&lt;p data-end=&quot;638&quot; data-start=&quot;473&quot; data-ke-size=&quot;size16&quot;&gt;예시 상황&lt;br /&gt;✅ 고객사명이 바뀌었어요 &amp;rarr; 모든 문서에서 &quot;A회사&quot; &amp;rarr; &quot;B회사&quot;로&lt;br /&gt;✅ 연도가 바뀌었어요 &amp;rarr; &quot;2023년&quot; &amp;rarr; &quot;2024년&quot;으로&lt;br /&gt;✅ 담당자가 변경됐어요 &amp;rarr; &quot;김영희&quot; &amp;rarr; &quot;박민수&quot;로&lt;br /&gt;✅ 링크가 변경됐어요 &amp;rarr; 옛날 URL을 최신 URL로 업데이트하고 싶어요&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p data-end=&quot;721&quot; data-start=&quot;640&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;수십 개 파일을 열어서 하나하나 바꾸는 건 비효율적&lt;/b&gt;이죠.&lt;br /&gt;이럴 때는, 한 번의 클릭으로 끝내는 &lt;b&gt;엑셀 VBA 자동화&lt;/b&gt;가 정답입니다!&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;color: #000000; text-align: start;&quot; data-end=&quot;747&quot; data-start=&quot;728&quot; data-ke-size=&quot;size26&quot;&gt;  VBA 매크로 코드 소개&lt;/h2&gt;
&lt;p style=&quot;color: #000000; text-align: start;&quot; data-start=&quot;749&quot; data-end=&quot;776&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;   폴더 안의 모든 엑셀 파일을 열고&lt;/p&gt;
&lt;p data-end=&quot;776&quot; data-start=&quot;749&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;   지정한 문자열을 찾아&lt;/p&gt;
&lt;p data-end=&quot;819&quot; data-start=&quot;798&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;   새 문자열로 변경한 뒤&lt;/p&gt;
&lt;p data-end=&quot;846&quot; data-start=&quot;820&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;   저장하고 닫기까지 자동 수행됩니다.&lt;/p&gt;
&lt;p data-end=&quot;846&quot; data-start=&quot;820&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-end=&quot;868&quot; data-start=&quot;848&quot; data-ke-size=&quot;size16&quot;&gt;사용할 매크로 코드는 아래와 같아요:&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 100%;&quot;&gt;Sub&amp;nbsp;ReplaceCellContents() &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;folderPath&amp;nbsp;As&amp;nbsp;String &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;fileName&amp;nbsp;As&amp;nbsp;String &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;wb&amp;nbsp;As&amp;nbsp;Workbook &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;currentWb&amp;nbsp;As&amp;nbsp;Workbook &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;ws&amp;nbsp;As&amp;nbsp;Worksheet &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;i&amp;nbsp;As&amp;nbsp;Integer &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;oldValue&amp;nbsp;As&amp;nbsp;String &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;newValue&amp;nbsp;As&amp;nbsp;String &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;lastRow&amp;nbsp;As&amp;nbsp;Long &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;j&amp;nbsp;As&amp;nbsp;Integer &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;replaceCount&amp;nbsp;As&amp;nbsp;Long &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;totalReplaceCount&amp;nbsp;As&amp;nbsp;Long &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;현재&amp;nbsp;워크북&amp;nbsp;참조 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set&amp;nbsp;currentWb&amp;nbsp;=&amp;nbsp;ThisWorkbook &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;폴더&amp;nbsp;선택&amp;nbsp;대화상자 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;With&amp;nbsp;Application.FileDialog(msoFileDialogFolderPicker) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.Title&amp;nbsp;=&amp;nbsp;&quot;파일이&amp;nbsp;있는&amp;nbsp;폴더를&amp;nbsp;선택하세요&quot; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.Show &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;.SelectedItems.Count&amp;nbsp;=&amp;nbsp;0&amp;nbsp;Then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;MsgBox&amp;nbsp;&quot;폴더가&amp;nbsp;선택되지&amp;nbsp;않았습니다.&quot; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Exit&amp;nbsp;Sub &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;If &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;folderPath&amp;nbsp;=&amp;nbsp;.SelectedItems(1) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;With &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;폴더&amp;nbsp;경로&amp;nbsp;끝에&amp;nbsp;백슬래시&amp;nbsp;추가&amp;nbsp;(없는&amp;nbsp;경우) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;Right(folderPath,&amp;nbsp;1)&amp;nbsp;&amp;lt;&amp;gt;&amp;nbsp;&quot;\&quot;&amp;nbsp;Then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;folderPath&amp;nbsp;=&amp;nbsp;folderPath&amp;nbsp;&amp;amp;&amp;nbsp;&quot;\&quot; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;If &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;A열과&amp;nbsp;B열에서&amp;nbsp;변경&amp;nbsp;정보&amp;nbsp;읽기&amp;nbsp;(현재&amp;nbsp;워크북의&amp;nbsp;활성&amp;nbsp;시트에서) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;With&amp;nbsp;currentWb.ActiveSheet &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;lastRow&amp;nbsp;=&amp;nbsp;.Cells(.Rows.Count,&amp;nbsp;1).End(xlUp).Row &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;lastRow&amp;nbsp;&amp;lt;&amp;nbsp;1&amp;nbsp;Then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;MsgBox&amp;nbsp;&quot;변경할&amp;nbsp;내용&amp;nbsp;목록이&amp;nbsp;없습니다.&quot; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Exit&amp;nbsp;Sub &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;If &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;With &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;화면&amp;nbsp;업데이트&amp;nbsp;및&amp;nbsp;경고&amp;nbsp;비활성화 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Application.ScreenUpdating&amp;nbsp;=&amp;nbsp;False &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Application.DisplayAlerts&amp;nbsp;=&amp;nbsp;False &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;totalReplaceCount&amp;nbsp;=&amp;nbsp;0 &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;폴더&amp;nbsp;내의&amp;nbsp;모든&amp;nbsp;Excel&amp;nbsp;파일&amp;nbsp;처리 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;fileName&amp;nbsp;=&amp;nbsp;Dir(folderPath&amp;nbsp;&amp;amp;&amp;nbsp;&quot;*.xls*&quot;) &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Do&amp;nbsp;While&amp;nbsp;fileName&amp;nbsp;&amp;lt;&amp;gt;&amp;nbsp;&quot;&quot; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;현재&amp;nbsp;매크로가&amp;nbsp;실행되는&amp;nbsp;파일은&amp;nbsp;제외 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;fileName&amp;nbsp;&amp;lt;&amp;gt;&amp;nbsp;currentWb.name&amp;nbsp;Then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;On&amp;nbsp;Error&amp;nbsp;GoTo&amp;nbsp;ErrorHandler &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;파일&amp;nbsp;열기 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set&amp;nbsp;wb&amp;nbsp;=&amp;nbsp;Workbooks.Open(folderPath&amp;nbsp;&amp;amp;&amp;nbsp;fileName) &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;' 1번째 시트부터 모든 시트에 대해 처리 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;For i = 1 To wb.Worksheets.Count &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set&amp;nbsp;ws&amp;nbsp;=&amp;nbsp;wb.Worksheets(i) &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;A열과&amp;nbsp;B열의&amp;nbsp;모든&amp;nbsp;행을&amp;nbsp;확인하여&amp;nbsp;내용&amp;nbsp;변경 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;For&amp;nbsp;j&amp;nbsp;=&amp;nbsp;2&amp;nbsp;To&amp;nbsp;lastRow &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;oldValue&amp;nbsp;=&amp;nbsp;Trim(CStr(currentWb.ActiveSheet.Cells(j,&amp;nbsp;1).Value)) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;newValue&amp;nbsp;=&amp;nbsp;Trim(CStr(currentWb.ActiveSheet.Cells(j,&amp;nbsp;2).Value)) &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;빈&amp;nbsp;값이&amp;nbsp;아닌&amp;nbsp;경우&amp;nbsp;찾아바꾸기&amp;nbsp;실행 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;oldValue&amp;nbsp;&amp;lt;&amp;gt;&amp;nbsp;&quot;&quot;&amp;nbsp;And&amp;nbsp;newValue&amp;nbsp;&amp;lt;&amp;gt;&amp;nbsp;&quot;&quot;&amp;nbsp;Then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;현재&amp;nbsp;시트에서&amp;nbsp;찾아바꾸기 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ws.Cells.Replace&amp;nbsp;What:=oldValue,&amp;nbsp;_ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Replacement:=newValue,&amp;nbsp;_ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;LookAt:=xlPart,&amp;nbsp;_ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;SearchOrder:=xlByRows,&amp;nbsp;_ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;MatchCase:=False,&amp;nbsp;_ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;SearchFormat:=False,&amp;nbsp;_ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ReplaceFormat:=False &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;If &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Next&amp;nbsp;j &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Next&amp;nbsp;i &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;파일&amp;nbsp;저장&amp;nbsp;및&amp;nbsp;닫기 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;wb.Save &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;wb.Close&amp;nbsp;False &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;If &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;다음&amp;nbsp;파일로 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;fileName&amp;nbsp;=&amp;nbsp;Dir() &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Loop &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;화면&amp;nbsp;업데이트&amp;nbsp;및&amp;nbsp;경고&amp;nbsp;다시&amp;nbsp;활성화 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Application.ScreenUpdating&amp;nbsp;=&amp;nbsp;True &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Application.DisplayAlerts&amp;nbsp;=&amp;nbsp;True &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;MsgBox&amp;nbsp;&quot;셀&amp;nbsp;내용&amp;nbsp;변경이&amp;nbsp;완료되었습니다.&quot; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Exit&amp;nbsp;Sub &lt;br /&gt;&lt;br /&gt;ErrorHandler: &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;오류&amp;nbsp;발생&amp;nbsp;시&amp;nbsp;처리 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;Not&amp;nbsp;wb&amp;nbsp;Is&amp;nbsp;Nothing&amp;nbsp;Then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;wb.Close&amp;nbsp;False &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;If &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Application.ScreenUpdating&amp;nbsp;=&amp;nbsp;True &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Application.DisplayAlerts&amp;nbsp;=&amp;nbsp;True &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;MsgBox&amp;nbsp;&quot;파일&amp;nbsp;처리&amp;nbsp;중&amp;nbsp;오류가&amp;nbsp;발생했습니다:&amp;nbsp;&quot;&amp;nbsp;&amp;amp;&amp;nbsp;fileName&amp;nbsp;&amp;amp;&amp;nbsp;vbCrLf&amp;nbsp;&amp;amp;&amp;nbsp;Err.Description &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Resume&amp;nbsp;Next &lt;br /&gt;End&amp;nbsp;Sub &lt;br /&gt;&lt;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-end=&quot;2838&quot; data-start=&quot;2827&quot; data-ke-size=&quot;size26&quot;&gt;  사용 방법&lt;/h2&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-end=&quot;2942&quot; data-start=&quot;2840&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li data-end=&quot;2871&quot; data-start=&quot;2840&quot;&gt;&lt;b&gt;A열에 찾을 내용, B열에 바꿀 내용을 작성&lt;/b&gt;&lt;/li&gt;
&lt;li data-end=&quot;2921&quot; data-start=&quot;2872&quot;&gt;&lt;b&gt;매크로 실행 (Alt + F8 &amp;gt; ReplaceCellContents 실행)&lt;/b&gt;&lt;/li&gt;
&lt;li data-end=&quot;2942&quot; data-start=&quot;2922&quot;&gt;&lt;b&gt;폴더 선택 &amp;gt; 자동 실행&lt;/b&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;blockquote data-end=&quot;3013&quot; data-start=&quot;2944&quot; data-ke-style=&quot;style1&quot;&gt;
&lt;p data-end=&quot;3013&quot; data-start=&quot;2946&quot; data-ke-size=&quot;size16&quot;&gt;✔ 매크로가 적용되지 않게 하고 싶은 파일은 다른 폴더로 옮겨주세요!&lt;br /&gt;✔ 본인 매크로 파일은 자동으로 제외됩니다.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-end=&quot;3366&quot; data-start=&quot;3355&quot; data-ke-size=&quot;size26&quot;&gt;✅ 마무리 요약&lt;/h2&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;3447&quot; data-start=&quot;3368&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;3390&quot; data-start=&quot;3368&quot;&gt;폴더 내 엑셀 파일 일괄 수정 매크로&lt;/li&gt;
&lt;li data-end=&quot;3408&quot; data-start=&quot;3391&quot;&gt;&quot;찾기 &amp;rarr; 바꾸기&quot;를 자동화&lt;/li&gt;
&lt;li data-end=&quot;3423&quot; data-start=&quot;3409&quot;&gt;하이퍼링크 변경도 가능&lt;/li&gt;
&lt;li data-end=&quot;3447&quot; data-start=&quot;3424&quot;&gt;업무 자동화, 시간 절약에 강력 추천!&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-end=&quot;3452&quot; data-start=&quot;3449&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h2 data-end=&quot;3487&quot; data-start=&quot;3454&quot; data-ke-size=&quot;size26&quot;&gt;  블로그 구독하고 더 많은 VBA 꿀팁 받아보세요!&lt;/h2&gt;
&lt;p data-end=&quot;3612&quot; data-start=&quot;3489&quot; data-ke-size=&quot;size16&quot;&gt;이처럼 업무 자동화, 문서 최적화에 도움이 되는&lt;br /&gt;&lt;b&gt;엑셀 VBA 매크로 활용법&lt;/b&gt;을 계속해서 공유하고 있습니다.&lt;br /&gt;&lt;b&gt;블로그 이웃 추가 + 알림 설정&lt;/b&gt; 하셔서&lt;br /&gt;유용한 실전 자동화 예제를 꾸준히 받아보세요!  &lt;/p&gt;
&lt;p data-end=&quot;3612&quot; data-start=&quot;3489&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;fileblock&quot; data-ke-align=&quot;alignCenter&quot;&gt;&lt;a href=&quot;https://blog.kakaocdn.net/dn/EEAMT/dJMb9YiRMPb/fnFMoA0rsZFVlO2FXI9ygK/%ED%8F%B4%EB%8D%94%EB%82%B4%20%EB%AA%A8%EB%93%A0%20%ED%8C%8C%EC%9D%BC%20%EB%B0%8F%20%EC%8B%9C%ED%8A%B8%EC%9D%98%20%EC%85%80%EA%B0%92%20%EB%B3%80%EA%B2%BD.xlsm?attach=1&amp;amp;knm=tfile.xlsm&quot; class=&quot;&quot;&gt;
    &lt;div class=&quot;image&quot;&gt;&lt;/div&gt;
    &lt;div class=&quot;desc&quot;&gt;&lt;div class=&quot;filename&quot;&gt;&lt;span class=&quot;name&quot;&gt;폴더내 모든 파일 및 시트의 셀값 변경.xlsm&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;size&quot;&gt;0.02MB&lt;/div&gt;
&lt;/div&gt;
  &lt;/a&gt;&lt;/figure&gt;
&lt;figure class=&quot;fileblock&quot; data-ke-align=&quot;alignCenter&quot;&gt;&lt;a href=&quot;https://blog.kakaocdn.net/dn/bU3bBF/dJMb9LX9ZBl/KDPjt4FPwwA3vWqFr63dYk/%EC%8B%9C%ED%8A%B8%EB%82%B4%20%EC%85%80%20%EA%B0%92%20%EB%B3%80%EA%B2%BD_%ED%8C%8C%EC%9D%BC%EB%A6%AC%EC%8A%A4%ED%8A%B8.zip?attach=1&amp;amp;knm=tfile.zip&quot; class=&quot;&quot;&gt;
    &lt;div class=&quot;image&quot;&gt;&lt;/div&gt;
    &lt;div class=&quot;desc&quot;&gt;&lt;div class=&quot;filename&quot;&gt;&lt;span class=&quot;name&quot;&gt;시트내 셀 값 변경_파일리스트.zip&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;size&quot;&gt;0.09MB&lt;/div&gt;
&lt;/div&gt;
  &lt;/a&gt;&lt;/figure&gt;
&lt;/p&gt;</description>
      <category>File</category>
      <category>#엑셀VBA #매크로자동화 #엑셀일괄변경 #하이퍼링크변경 #엑셀찾아바꾸기 #VBA코딩 #엑셀업무자동화 #문서자동화 #오피스팁 #엑셀팁</category>
      <author>노만e</author>
      <guid isPermaLink="true">https://dream2049.tistory.com/184</guid>
      <comments>https://dream2049.tistory.com/184#entry184comment</comments>
      <pubDate>Mon, 15 Sep 2025 22:19:47 +0900</pubDate>
    </item>
    <item>
      <title>엑셀에서 진짜 &amp;lsquo;아날로그 시계&amp;rsquo;를 만드는 방법 (VBA 시계 만들기)</title>
      <link>https://dream2049.tistory.com/183</link>
      <description>&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;아날로그 시계 만들기.jpg&quot; data-origin-width=&quot;629&quot; data-origin-height=&quot;657&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/be9e6z/btsQzON1Php/rH0uFGcuCuKK2teK5F1cK1/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/be9e6z/btsQzON1Php/rH0uFGcuCuKK2teK5F1cK1/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/be9e6z/btsQzON1Php/rH0uFGcuCuKK2teK5F1cK1/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbe9e6z%2FbtsQzON1Php%2FrH0uFGcuCuKK2teK5F1cK1%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;392&quot; height=&quot;409&quot; data-filename=&quot;아날로그 시계 만들기.jpg&quot; data-origin-width=&quot;629&quot; data-origin-height=&quot;657&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-end=&quot;265&quot; data-start=&quot;150&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-end=&quot;265&quot; data-start=&quot;150&quot; data-ke-size=&quot;size16&quot;&gt;엑셀로 시계를 만든다?&lt;br /&gt;놀랍지만 &lt;b&gt;실제로 작동하는 아날로그 시계&lt;/b&gt;가 가능합니다!&lt;br /&gt;오늘은 VBA(매크로)를 활용해, 엑셀 워크시트 위에 &lt;b&gt;실시간으로 움직이는 시계&lt;/b&gt;를 구현하는 방법을 소개할게요.&lt;/p&gt;
&lt;hr data-end=&quot;270&quot; data-start=&quot;267&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h2 data-end=&quot;287&quot; data-start=&quot;272&quot; data-ke-size=&quot;size26&quot;&gt;  어떤 시계인가요?&lt;/h2&gt;
&lt;p data-end=&quot;321&quot; data-start=&quot;289&quot; data-ke-size=&quot;size16&quot;&gt;이 매크로는 엑셀 시트에 다음과 같은 시계를 만들어줍니다:&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;464&quot; data-start=&quot;323&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;355&quot; data-start=&quot;323&quot;&gt;  &lt;b&gt;12시 방향 숫자와 눈금이 있는 원형 시계&lt;/b&gt;&lt;/li&gt;
&lt;li data-end=&quot;382&quot; data-start=&quot;356&quot;&gt;⏰ &lt;b&gt;시침/분침/초침이 실시간으로 갱신&lt;/b&gt;&lt;/li&gt;
&lt;li data-end=&quot;428&quot; data-start=&quot;383&quot;&gt;  매 1초마다 자동 업데이트 (Application.OnTime 사용)&lt;/li&gt;
&lt;li data-end=&quot;464&quot; data-start=&quot;429&quot;&gt;⚙ 필요 시 시계 정지 버튼도 제공 (StopClock)&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-end=&quot;469&quot; data-start=&quot;466&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h2 data-end=&quot;484&quot; data-start=&quot;471&quot; data-ke-size=&quot;size26&quot;&gt;  핵심 구성요소&lt;/h2&gt;
&lt;div&gt;
&lt;div&gt;구성요소설명
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-end=&quot;699&quot; data-start=&quot;486&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody data-end=&quot;699&quot; data-start=&quot;528&quot;&gt;
&lt;tr data-end=&quot;572&quot; data-start=&quot;528&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;546&quot; data-start=&quot;528&quot;&gt;DrawClockFace&lt;/td&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;572&quot; data-start=&quot;546&quot;&gt;시계 외곽, 숫자, 눈금, 중심 점 생성&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;619&quot; data-start=&quot;573&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;591&quot; data-start=&quot;573&quot;&gt;UpdateClock&lt;/td&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;619&quot; data-start=&quot;591&quot;&gt;현재 시간을 읽어 바늘 각도 계산 후 그리기&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;662&quot; data-start=&quot;620&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;638&quot; data-start=&quot;620&quot;&gt;StartClock&lt;/td&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;662&quot; data-start=&quot;638&quot;&gt;시계 시작 (초기화 및 타이머 등록)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;699&quot; data-start=&quot;663&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;681&quot; data-start=&quot;663&quot;&gt;StopClock&lt;/td&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;699&quot; data-start=&quot;681&quot;&gt;시계 중지 (타이머 해제)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;hr data-end=&quot;704&quot; data-start=&quot;701&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h2 data-end=&quot;717&quot; data-start=&quot;706&quot; data-ke-size=&quot;size26&quot;&gt;  VBA 코드&lt;/h2&gt;
&lt;blockquote data-end=&quot;841&quot; data-start=&quot;802&quot; data-ke-style=&quot;style1&quot;&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%; height: 23px;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr style=&quot;height: 23px;&quot;&gt;
&lt;td style=&quot;width: 100%; height: 23px;&quot;&gt;Option&amp;nbsp;Explicit &lt;br /&gt;&lt;br /&gt;'&amp;nbsp;=====&amp;nbsp;설정값&amp;nbsp;===== &lt;br /&gt;Private&amp;nbsp;nextTime&amp;nbsp;As&amp;nbsp;Date &lt;br /&gt;Private&amp;nbsp;Const&amp;nbsp;SHT&amp;nbsp;As&amp;nbsp;String&amp;nbsp;=&amp;nbsp;&quot;Clock&quot; &lt;br /&gt;Private&amp;nbsp;Const&amp;nbsp;CX&amp;nbsp;As&amp;nbsp;Single&amp;nbsp;=&amp;nbsp;200&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;중심&amp;nbsp;X &lt;br /&gt;Private&amp;nbsp;Const&amp;nbsp;CY&amp;nbsp;As&amp;nbsp;Single&amp;nbsp;=&amp;nbsp;200&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;중심&amp;nbsp;Y &lt;br /&gt;Private&amp;nbsp;Const&amp;nbsp;R&amp;nbsp;&amp;nbsp;As&amp;nbsp;Single&amp;nbsp;=&amp;nbsp;150&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;반지름 &lt;br /&gt;Private&amp;nbsp;Const&amp;nbsp;PI&amp;nbsp;As&amp;nbsp;Double&amp;nbsp;=&amp;nbsp;3.14159265358979 &lt;br /&gt;&lt;br /&gt;'&amp;nbsp;=====&amp;nbsp;공개&amp;nbsp;진입점&amp;nbsp;===== &lt;br /&gt;Public&amp;nbsp;Sub&amp;nbsp;StartClock() &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;ws&amp;nbsp;As&amp;nbsp;Worksheet:&amp;nbsp;Set&amp;nbsp;ws&amp;nbsp;=&amp;nbsp;EnsureSheet(SHT) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;DrawClockFace&amp;nbsp;ws &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;UpdateClock &lt;br /&gt;End&amp;nbsp;Sub &lt;br /&gt;&lt;br /&gt;Public&amp;nbsp;Sub&amp;nbsp;StopClock() &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;On&amp;nbsp;Error&amp;nbsp;Resume&amp;nbsp;Next &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Application.OnTime&amp;nbsp;earliesttime:=nextTime,&amp;nbsp;procedure:=&quot;UpdateClock&quot;,&amp;nbsp;schedule:=False &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;On&amp;nbsp;Error&amp;nbsp;GoTo&amp;nbsp;0 &lt;br /&gt;End&amp;nbsp;Sub &lt;br /&gt;&lt;br /&gt;'&amp;nbsp;=====&amp;nbsp;유틸&amp;nbsp;===== &lt;br /&gt;Private&amp;nbsp;Function&amp;nbsp;EnsureSheet(ByVal&amp;nbsp;name&amp;nbsp;As&amp;nbsp;String)&amp;nbsp;As&amp;nbsp;Worksheet &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;On&amp;nbsp;Error&amp;nbsp;Resume&amp;nbsp;Next &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set&amp;nbsp;EnsureSheet&amp;nbsp;=&amp;nbsp;ThisWorkbook.Worksheets(name) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;On&amp;nbsp;Error&amp;nbsp;GoTo&amp;nbsp;0 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;EnsureSheet&amp;nbsp;Is&amp;nbsp;Nothing&amp;nbsp;Then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set&amp;nbsp;EnsureSheet&amp;nbsp;=&amp;nbsp;ThisWorkbook.Worksheets.Add &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;EnsureSheet.name&amp;nbsp;=&amp;nbsp;name &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;If &lt;br /&gt;End&amp;nbsp;Function &lt;br /&gt;&lt;br /&gt;Private&amp;nbsp;Sub&amp;nbsp;DeleteByPrefix(ws&amp;nbsp;As&amp;nbsp;Worksheet,&amp;nbsp;ByVal&amp;nbsp;prefix&amp;nbsp;As&amp;nbsp;String) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;i&amp;nbsp;As&amp;nbsp;Long &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;For&amp;nbsp;i&amp;nbsp;=&amp;nbsp;ws.Shapes.Count&amp;nbsp;To&amp;nbsp;1&amp;nbsp;Step&amp;nbsp;-1 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;Left$(ws.Shapes(i).name,&amp;nbsp;Len(prefix))&amp;nbsp;=&amp;nbsp;prefix&amp;nbsp;Then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ws.Shapes(i).Delete &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;If &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Next&amp;nbsp;i &lt;br /&gt;End&amp;nbsp;Sub &lt;br /&gt;&lt;br /&gt;Private&amp;nbsp;Sub&amp;nbsp;DeleteIfExists(ws&amp;nbsp;As&amp;nbsp;Worksheet,&amp;nbsp;ByVal&amp;nbsp;nm&amp;nbsp;As&amp;nbsp;String) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;On&amp;nbsp;Error&amp;nbsp;Resume&amp;nbsp;Next &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ws.Shapes(nm).Delete &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;On&amp;nbsp;Error&amp;nbsp;GoTo&amp;nbsp;0 &lt;br /&gt;End&amp;nbsp;Sub &lt;br /&gt;&lt;br /&gt;'&amp;nbsp;=====&amp;nbsp;시계판&amp;nbsp;그리기&amp;nbsp;===== &lt;br /&gt;Private&amp;nbsp;Sub&amp;nbsp;DrawClockFace(ws&amp;nbsp;As&amp;nbsp;Worksheet) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;i&amp;nbsp;As&amp;nbsp;Long,&amp;nbsp;ang&amp;nbsp;As&amp;nbsp;Double &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;x1&amp;nbsp;As&amp;nbsp;Single,&amp;nbsp;y1&amp;nbsp;As&amp;nbsp;Single,&amp;nbsp;x2&amp;nbsp;As&amp;nbsp;Single,&amp;nbsp;y2&amp;nbsp;As&amp;nbsp;Single &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Application.ScreenUpdating&amp;nbsp;=&amp;nbsp;False &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;이전&amp;nbsp;시계판&amp;nbsp;지우기(바늘&amp;nbsp;포함&amp;nbsp;모든&amp;nbsp;시계&amp;nbsp;객체) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;DeleteByPrefix&amp;nbsp;ws,&amp;nbsp;&quot;CLK_&quot; &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;외곽&amp;nbsp;원판 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;With&amp;nbsp;ws.Shapes.AddShape(msoShapeOval,&amp;nbsp;CX&amp;nbsp;-&amp;nbsp;R,&amp;nbsp;CY&amp;nbsp;-&amp;nbsp;R,&amp;nbsp;2&amp;nbsp;*&amp;nbsp;R,&amp;nbsp;2&amp;nbsp;*&amp;nbsp;R) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.name&amp;nbsp;=&amp;nbsp;&quot;CLK_Dial&quot; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.Fill.ForeColor.RGB&amp;nbsp;=&amp;nbsp;RGB(255,&amp;nbsp;255,&amp;nbsp;255) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.Line.Weight&amp;nbsp;=&amp;nbsp;2 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;With &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;12개&amp;nbsp;눈금&amp;nbsp;+&amp;nbsp;숫자 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;For&amp;nbsp;i&amp;nbsp;=&amp;nbsp;1&amp;nbsp;To&amp;nbsp;12 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ang&amp;nbsp;=&amp;nbsp;(i&amp;nbsp;/&amp;nbsp;12)&amp;nbsp;*&amp;nbsp;2&amp;nbsp;*&amp;nbsp;PI&amp;nbsp;-&amp;nbsp;PI&amp;nbsp;/&amp;nbsp;2 &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;굵은&amp;nbsp;눈금 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;x1&amp;nbsp;=&amp;nbsp;CX&amp;nbsp;+&amp;nbsp;(R&amp;nbsp;-&amp;nbsp;12)&amp;nbsp;*&amp;nbsp;Cos(ang):&amp;nbsp;y1&amp;nbsp;=&amp;nbsp;CY&amp;nbsp;+&amp;nbsp;(R&amp;nbsp;-&amp;nbsp;12)&amp;nbsp;*&amp;nbsp;Sin(ang) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;x2&amp;nbsp;=&amp;nbsp;CX&amp;nbsp;+&amp;nbsp;(R&amp;nbsp;-&amp;nbsp;2)&amp;nbsp;*&amp;nbsp;Cos(ang):&amp;nbsp;y2&amp;nbsp;=&amp;nbsp;CY&amp;nbsp;+&amp;nbsp;(R&amp;nbsp;-&amp;nbsp;2)&amp;nbsp;*&amp;nbsp;Sin(ang) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;With&amp;nbsp;ws.Shapes.AddLine(x1,&amp;nbsp;y1,&amp;nbsp;x2,&amp;nbsp;y2) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.name&amp;nbsp;=&amp;nbsp;&quot;CLK_Tick_&quot;&amp;nbsp;&amp;amp;&amp;nbsp;i &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.Line.Weight&amp;nbsp;=&amp;nbsp;2 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;With &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;숫자 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;With&amp;nbsp;ws.Shapes.AddTextbox(msoTextOrientationHorizontal,&amp;nbsp;_ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;CX&amp;nbsp;+&amp;nbsp;(R&amp;nbsp;-&amp;nbsp;28)&amp;nbsp;*&amp;nbsp;Cos(ang)&amp;nbsp;-&amp;nbsp;10,&amp;nbsp;_ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;CY&amp;nbsp;+&amp;nbsp;(R&amp;nbsp;-&amp;nbsp;28)&amp;nbsp;*&amp;nbsp;Sin(ang)&amp;nbsp;-&amp;nbsp;10,&amp;nbsp;30,&amp;nbsp;20) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.name&amp;nbsp;=&amp;nbsp;&quot;CLK_Num_&quot;&amp;nbsp;&amp;amp;&amp;nbsp;i &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.TextFrame.Characters.Text&amp;nbsp;=&amp;nbsp;CStr(i) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.TextFrame.HorizontalAlignment&amp;nbsp;=&amp;nbsp;xlHAlignCenter &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.TextFrame.VerticalAlignment&amp;nbsp;=&amp;nbsp;xlVAlignCenter &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.Line.Visible&amp;nbsp;=&amp;nbsp;msoFalse &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;With &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Next &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;중심&amp;nbsp;캡 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;With&amp;nbsp;ws.Shapes.AddShape(msoShapeOval,&amp;nbsp;CX&amp;nbsp;-&amp;nbsp;4,&amp;nbsp;CY&amp;nbsp;-&amp;nbsp;4,&amp;nbsp;8,&amp;nbsp;8) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.name&amp;nbsp;=&amp;nbsp;&quot;CLK_Center&quot; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.Fill.ForeColor.RGB&amp;nbsp;=&amp;nbsp;RGB(0,&amp;nbsp;0,&amp;nbsp;0) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.Line.Visible&amp;nbsp;=&amp;nbsp;msoFalse &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;With &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Application.ScreenUpdating&amp;nbsp;=&amp;nbsp;True &lt;br /&gt;End&amp;nbsp;Sub &lt;br /&gt;&lt;br /&gt;'&amp;nbsp;=====&amp;nbsp;바늘&amp;nbsp;갱신&amp;nbsp;===== &lt;br /&gt;Public&amp;nbsp;Sub&amp;nbsp;UpdateClock() &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;ws&amp;nbsp;As&amp;nbsp;Worksheet:&amp;nbsp;Set&amp;nbsp;ws&amp;nbsp;=&amp;nbsp;EnsureSheet(SHT) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;h&amp;nbsp;As&amp;nbsp;Long,&amp;nbsp;m&amp;nbsp;As&amp;nbsp;Long,&amp;nbsp;s&amp;nbsp;As&amp;nbsp;Long &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;ang&amp;nbsp;As&amp;nbsp;Double &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;hLen&amp;nbsp;As&amp;nbsp;Single,&amp;nbsp;mLen&amp;nbsp;As&amp;nbsp;Single,&amp;nbsp;sLen&amp;nbsp;As&amp;nbsp;Single &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;h&amp;nbsp;=&amp;nbsp;Hour(Now):&amp;nbsp;m&amp;nbsp;=&amp;nbsp;Minute(Now):&amp;nbsp;s&amp;nbsp;=&amp;nbsp;Second(Now) &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;hLen&amp;nbsp;=&amp;nbsp;R&amp;nbsp;*&amp;nbsp;0.5 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;mLen&amp;nbsp;=&amp;nbsp;R&amp;nbsp;*&amp;nbsp;0.7 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;sLen&amp;nbsp;=&amp;nbsp;R&amp;nbsp;*&amp;nbsp;0.85 &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Application.ScreenUpdating&amp;nbsp;=&amp;nbsp;False &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;이전&amp;nbsp;바늘&amp;nbsp;안전&amp;nbsp;삭제&amp;nbsp;(개별&amp;nbsp;삭제&amp;nbsp;&amp;rarr;&amp;nbsp;1004&amp;nbsp;방지) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;DeleteIfExists&amp;nbsp;ws,&amp;nbsp;&quot;CLK_Hour&quot; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;DeleteIfExists&amp;nbsp;ws,&amp;nbsp;&quot;CLK_Minute&quot; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;DeleteIfExists&amp;nbsp;ws,&amp;nbsp;&quot;CLK_Second&quot; &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;시침(분/초&amp;nbsp;반영) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ang&amp;nbsp;=&amp;nbsp;((h&amp;nbsp;Mod&amp;nbsp;12)&amp;nbsp;+&amp;nbsp;m&amp;nbsp;/&amp;nbsp;60#&amp;nbsp;+&amp;nbsp;s&amp;nbsp;/&amp;nbsp;3600#)&amp;nbsp;*&amp;nbsp;(2&amp;nbsp;*&amp;nbsp;PI&amp;nbsp;/&amp;nbsp;12#)&amp;nbsp;-&amp;nbsp;PI&amp;nbsp;/&amp;nbsp;2 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;With&amp;nbsp;ws.Shapes.AddLine(CX,&amp;nbsp;CY,&amp;nbsp;CX&amp;nbsp;+&amp;nbsp;hLen&amp;nbsp;*&amp;nbsp;Cos(ang),&amp;nbsp;CY&amp;nbsp;+&amp;nbsp;hLen&amp;nbsp;*&amp;nbsp;Sin(ang)) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.name&amp;nbsp;=&amp;nbsp;&quot;CLK_Hour&quot; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.Line.Weight&amp;nbsp;=&amp;nbsp;4 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;With &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;분침(초&amp;nbsp;반영) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ang&amp;nbsp;=&amp;nbsp;(m&amp;nbsp;+&amp;nbsp;s&amp;nbsp;/&amp;nbsp;60#)&amp;nbsp;*&amp;nbsp;(2&amp;nbsp;*&amp;nbsp;PI&amp;nbsp;/&amp;nbsp;60#)&amp;nbsp;-&amp;nbsp;PI&amp;nbsp;/&amp;nbsp;2 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;With&amp;nbsp;ws.Shapes.AddLine(CX,&amp;nbsp;CY,&amp;nbsp;CX&amp;nbsp;+&amp;nbsp;mLen&amp;nbsp;*&amp;nbsp;Cos(ang),&amp;nbsp;CY&amp;nbsp;+&amp;nbsp;mLen&amp;nbsp;*&amp;nbsp;Sin(ang)) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.name&amp;nbsp;=&amp;nbsp;&quot;CLK_Minute&quot; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.Line.Weight&amp;nbsp;=&amp;nbsp;3 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;With &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;초침 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ang&amp;nbsp;=&amp;nbsp;s&amp;nbsp;*&amp;nbsp;(2&amp;nbsp;*&amp;nbsp;PI&amp;nbsp;/&amp;nbsp;60#)&amp;nbsp;-&amp;nbsp;PI&amp;nbsp;/&amp;nbsp;2 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;With&amp;nbsp;ws.Shapes.AddLine(CX,&amp;nbsp;CY,&amp;nbsp;CX&amp;nbsp;+&amp;nbsp;sLen&amp;nbsp;*&amp;nbsp;Cos(ang),&amp;nbsp;CY&amp;nbsp;+&amp;nbsp;sLen&amp;nbsp;*&amp;nbsp;Sin(ang)) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.name&amp;nbsp;=&amp;nbsp;&quot;CLK_Second&quot; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.Line.Weight&amp;nbsp;=&amp;nbsp;1 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.Line.ForeColor.RGB&amp;nbsp;=&amp;nbsp;RGB(200,&amp;nbsp;0,&amp;nbsp;0) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;With &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Application.ScreenUpdating&amp;nbsp;=&amp;nbsp;True &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;1초&amp;nbsp;후&amp;nbsp;예약 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;nextTime&amp;nbsp;=&amp;nbsp;Now&amp;nbsp;+&amp;nbsp;TimeSerial(0,&amp;nbsp;0,&amp;nbsp;1) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Application.OnTime&amp;nbsp;earliesttime:=nextTime,&amp;nbsp;procedure:=&quot;UpdateClock&quot; &lt;br /&gt;End Sub&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-end=&quot;858&quot; data-start=&quot;848&quot; data-ke-size=&quot;size26&quot;&gt;✍ 사용 방법&lt;/h2&gt;
&lt;h3 data-end=&quot;879&quot; data-start=&quot;860&quot; data-ke-size=&quot;size23&quot;&gt;1️⃣ VBA 코드 붙여넣기&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;943&quot; data-start=&quot;881&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;907&quot; data-start=&quot;881&quot;&gt;Alt + F11 &amp;rarr; VBA 편집기 열기&lt;/li&gt;
&lt;li data-end=&quot;943&quot; data-start=&quot;908&quot;&gt;새 모듈(Module) 생성 &amp;rarr; 코드 전체 복사 &amp;amp; 붙여넣기&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-end=&quot;958&quot; data-start=&quot;945&quot; data-ke-size=&quot;size23&quot;&gt;2️⃣ 시계 시작&lt;/h3&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;&lt;span&gt;StartClock &lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1033&quot; data-start=&quot;983&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1015&quot; data-start=&quot;983&quot;&gt;즉시 새로운 시트(Clock)에 시계가 생성됩니다.&lt;/li&gt;
&lt;li data-end=&quot;1033&quot; data-start=&quot;1016&quot;&gt;초침이 1초마다 움직입니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-end=&quot;1048&quot; data-start=&quot;1035&quot; data-ke-size=&quot;size23&quot;&gt;3️⃣ 시계 정지&lt;/h3&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;&lt;span&gt;StopClock &lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1096&quot; data-start=&quot;1072&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1096&quot; data-start=&quot;1072&quot;&gt;타이머를 해제하여 시계 작동을 멈춥니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-end=&quot;1101&quot; data-start=&quot;1098&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h2 data-end=&quot;1120&quot; data-start=&quot;1103&quot; data-ke-size=&quot;size26&quot;&gt;⚙ 주요 코드 포인트 설명&lt;/h2&gt;
&lt;h3 data-end=&quot;1152&quot; data-start=&quot;1122&quot; data-ke-size=&quot;size23&quot;&gt;  시계 그리기: DrawClockFace&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1240&quot; data-start=&quot;1154&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1184&quot; data-start=&quot;1154&quot;&gt;외곽 원판: 중심 좌표(CX, CY), 반지름(R)&lt;/li&gt;
&lt;li data-end=&quot;1219&quot; data-start=&quot;1185&quot;&gt;눈금 &amp;amp; 숫자: Cos, Sin을 활용한 원형 배치&lt;/li&gt;
&lt;li data-end=&quot;1240&quot; data-start=&quot;1220&quot;&gt;중심 점: 작고 검은 원으로 표현&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;&lt;span&gt;ang = (i / 12) * 2 * PI - PI / 2 x = CX + R * Cos(ang) y = CY + R * Sin(ang) &lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;hr data-end=&quot;1334&quot; data-start=&quot;1331&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-end=&quot;1367&quot; data-start=&quot;1336&quot; data-ke-size=&quot;size23&quot;&gt;  시간 바늘 그리기: UpdateClock&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1438&quot; data-start=&quot;1369&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1389&quot; data-start=&quot;1369&quot;&gt;Now 함수로 시/분/초 추출&lt;/li&gt;
&lt;li data-end=&quot;1418&quot; data-start=&quot;1390&quot;&gt;각도 계산 후 AddLine으로 바늘 그리기&lt;/li&gt;
&lt;li data-end=&quot;1438&quot; data-start=&quot;1419&quot;&gt;기존 바늘은 삭제 후 새로 생성&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-end=&quot;1443&quot; data-start=&quot;1440&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h2 data-end=&quot;1460&quot; data-start=&quot;1445&quot; data-ke-size=&quot;size26&quot;&gt;  실시간 동작 로직&lt;/h2&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;&lt;span&gt;nextTime = Now + TimeSerial(0, 0, 1) Application.OnTime earliesttime:=nextTime, procedure:=&quot;UpdateClock&quot; &lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1634&quot; data-start=&quot;1579&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1607&quot; data-start=&quot;1579&quot;&gt;매 1초 후 UpdateClock 다시 실행&lt;/li&gt;
&lt;li data-end=&quot;1634&quot; data-start=&quot;1608&quot;&gt;Windows 시간과 싱크되어 정확하게 작동&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-end=&quot;1639&quot; data-start=&quot;1636&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h2 data-end=&quot;1650&quot; data-start=&quot;1641&quot; data-ke-size=&quot;size26&quot;&gt;⚠ 주의사항&lt;/h2&gt;
&lt;div&gt;
&lt;div&gt;항목설명
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-end=&quot;1824&quot; data-start=&quot;1652&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody data-end=&quot;1824&quot; data-start=&quot;1680&quot;&gt;
&lt;tr data-end=&quot;1739&quot; data-start=&quot;1680&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;1690&quot; data-start=&quot;1680&quot;&gt;실행 중 중단&lt;/td&gt;
&lt;td data-col-size=&quot;md&quot; data-end=&quot;1739&quot; data-start=&quot;1690&quot;&gt;Alt + Break 또는 StopClock을 호출해야 완전히 중단됩니다.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;1785&quot; data-start=&quot;1740&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;1748&quot; data-start=&quot;1740&quot;&gt;다중 실행&lt;/td&gt;
&lt;td data-col-size=&quot;md&quot; data-end=&quot;1785&quot; data-start=&quot;1748&quot;&gt;여러 번 실행 시 바늘 중복 가능 &amp;rarr; 중복 방지 코드 포함됨&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;1824&quot; data-start=&quot;1786&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;1794&quot; data-start=&quot;1786&quot;&gt;파일 저장&lt;/td&gt;
&lt;td data-col-size=&quot;md&quot; data-end=&quot;1824&quot; data-start=&quot;1794&quot;&gt;매크로 포함 파일로 저장하세요 (.xlsm)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-end=&quot;1972&quot; data-start=&quot;1963&quot; data-ke-size=&quot;size26&quot;&gt;  마무리&lt;/h2&gt;
&lt;p data-end=&quot;1997&quot; data-start=&quot;1974&quot; data-ke-size=&quot;size16&quot;&gt;&quot;엑셀로 시계 만든다니... 진짜 될까?&quot;&lt;/p&gt;
&lt;p data-end=&quot;2083&quot; data-start=&quot;1999&quot; data-ke-size=&quot;size16&quot;&gt;&amp;rarr; 됩니다!&lt;/p&gt;
&lt;p data-end=&quot;2083&quot; data-start=&quot;1999&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;fileblock&quot; data-ke-align=&quot;alignCenter&quot;&gt;&lt;a href=&quot;https://blog.kakaocdn.net/dn/zSLbp/dJMb9hpcVyo/nblBrTvKOwfrNzkOJpm53k/%EC%95%84%EB%82%A0%EB%A1%9C%EA%B7%B8%20%EC%8B%9C%EA%B3%84%20%EB%A7%8C%EB%93%A4%EA%B8%B0.xlsm?attach=1&amp;amp;knm=tfile.xlsm&quot; class=&quot;&quot;&gt;
    &lt;div class=&quot;image&quot;&gt;&lt;/div&gt;
    &lt;div class=&quot;desc&quot;&gt;&lt;div class=&quot;filename&quot;&gt;&lt;span class=&quot;name&quot;&gt;아날로그 시계 만들기.xlsm&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;size&quot;&gt;0.03MB&lt;/div&gt;
&lt;/div&gt;
  &lt;/a&gt;&lt;/figure&gt;
&lt;/p&gt;</description>
      <category>Shape 개체</category>
      <category>#엑셀시계 #엑셀자동화 #VBA시계 #엑셀도형 #실시간시계 #엑셀VBA #ExcelClock #엑셀시계만들기 #ApplicationOnTime #엑셀매크로</category>
      <author>노만e</author>
      <guid isPermaLink="true">https://dream2049.tistory.com/183</guid>
      <comments>https://dream2049.tistory.com/183#entry183comment</comments>
      <pubDate>Sat, 13 Sep 2025 15:58:46 +0900</pubDate>
    </item>
    <item>
      <title>자재명판 라벨 문서 만들기(업그레이드 버전)</title>
      <link>https://dream2049.tistory.com/182</link>
      <description>&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;자재_업그레이드2.jpg&quot; data-origin-width=&quot;1454&quot; data-origin-height=&quot;541&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/beD6Nx/btsQrpgBrqp/qPKv4klqrBXB7QkY2bwUok/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/beD6Nx/btsQrpgBrqp/qPKv4klqrBXB7QkY2bwUok/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/beD6Nx/btsQrpgBrqp/qPKv4klqrBXB7QkY2bwUok/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbeD6Nx%2FbtsQrpgBrqp%2FqPKv4klqrBXB7QkY2bwUok%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1454&quot; height=&quot;541&quot; data-filename=&quot;자재_업그레이드2.jpg&quot; data-origin-width=&quot;1454&quot; data-origin-height=&quot;541&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-end=&quot;171&quot; data-start=&quot;122&quot; data-ke-size=&quot;size26&quot;&gt;  엑셀 자재명판 자동 생성하기 &amp;ndash; VBA로 템플릿 복사부터 채우기까지 한 번에!&lt;/h2&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;b&gt;내가 원하는 자재의 템플릿을 만들고, 그 템플릿으로 나머지 자재 데이터를 채워넣는 기능이 있는 매크로 입니다.&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;/h4&gt;
&lt;h3 data-end=&quot;202&quot; data-start=&quot;173&quot; data-ke-size=&quot;size23&quot;&gt;  이런 작업, 매번 손으로 하고 계신가요?&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;291&quot; data-start=&quot;204&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;231&quot; data-start=&quot;204&quot;&gt;&quot;자재명판 템플릿에 데이터를 하나씩 복사&quot;&lt;/li&gt;
&lt;li data-end=&quot;262&quot; data-start=&quot;232&quot;&gt;&quot;복사한 후 행/열 간격 맞추고 레이아웃 정리&quot;&lt;/li&gt;
&lt;li data-end=&quot;291&quot; data-start=&quot;263&quot;&gt;&quot;한 장씩 출력 배치, 눈으로 확인하면서 조정&quot;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-end=&quot;327&quot; data-start=&quot;293&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;비효율적인 수작업&lt;/b&gt;, 이제 VBA 매크로로 자동화하세요.&lt;/p&gt;
&lt;hr data-end=&quot;332&quot; data-start=&quot;329&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h2 data-end=&quot;371&quot; data-start=&quot;334&quot; data-ke-size=&quot;size26&quot;&gt;  목표: 자재리스트를 기반으로 템플릿 자동 복제 + 채우기&lt;/h2&gt;
&lt;h3 data-end=&quot;384&quot; data-start=&quot;373&quot; data-ke-size=&quot;size23&quot;&gt;✔ 작업 흐름&lt;/h3&gt;
&lt;div&gt;
&lt;div&gt;단계내용
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-end=&quot;595&quot; data-start=&quot;386&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody data-end=&quot;595&quot; data-start=&quot;414&quot;&gt;
&lt;tr data-end=&quot;446&quot; data-start=&quot;414&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;420&quot; data-start=&quot;414&quot;&gt;1️⃣&lt;/td&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;446&quot; data-start=&quot;420&quot;&gt;자재리스트 시트에서 데이터 자동 인식&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;481&quot; data-start=&quot;447&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;453&quot; data-start=&quot;447&quot;&gt;2️⃣&lt;/td&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;481&quot; data-start=&quot;453&quot;&gt;자재명판 시트에서 템플릿 범위 직접 선택&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;510&quot; data-start=&quot;482&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;488&quot; data-start=&quot;482&quot;&gt;3️⃣&lt;/td&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;510&quot; data-start=&quot;488&quot;&gt;가로로 몇 장 배치할지 입력 받음&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;540&quot; data-start=&quot;511&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;517&quot; data-start=&quot;511&quot;&gt;4️⃣&lt;/td&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;540&quot; data-start=&quot;517&quot;&gt;각 자재 정보를 템플릿에 채워 복제&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;568&quot; data-start=&quot;541&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;547&quot; data-start=&quot;541&quot;&gt;5️⃣&lt;/td&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;568&quot; data-start=&quot;547&quot;&gt;템플릿 간 공백/간격 자동 조정&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;595&quot; data-start=&quot;569&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;575&quot; data-start=&quot;569&quot;&gt;6️⃣&lt;/td&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;595&quot; data-start=&quot;575&quot;&gt;최종 레이아웃 깔끔하게 정리됨&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;hr data-end=&quot;600&quot; data-start=&quot;597&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h2 data-end=&quot;616&quot; data-start=&quot;602&quot; data-ke-size=&quot;size26&quot;&gt;  핵심 기능 요약&lt;/h2&gt;
&lt;div&gt;
&lt;div&gt;기능설명
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-end=&quot;869&quot; data-start=&quot;618&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody data-end=&quot;869&quot; data-start=&quot;646&quot;&gt;
&lt;tr data-end=&quot;695&quot; data-start=&quot;646&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;664&quot; data-start=&quot;646&quot;&gt;  템플릿 범위 직접 선택&lt;/td&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;695&quot; data-start=&quot;664&quot;&gt;원하는 레이아웃 범위를 직접 마우스로 드래그 선택&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;738&quot; data-start=&quot;696&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;711&quot; data-start=&quot;696&quot;&gt;  데이터 자동 매핑&lt;/td&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;738&quot; data-start=&quot;711&quot;&gt;자재명, 모델명, 규격 등 항목 자동 대응&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;780&quot; data-start=&quot;739&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;750&quot; data-start=&quot;739&quot;&gt;  배치 설정&lt;/td&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;780&quot; data-start=&quot;750&quot;&gt;&quot;가로 몇 장 배치?&quot; 질문창으로 유연하게 배치&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;823&quot; data-start=&quot;781&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;793&quot; data-start=&quot;781&quot;&gt;✨ 레이아웃 통일&lt;/td&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;823&quot; data-start=&quot;793&quot;&gt;행 높이, 열 너비, 공백 크기 모두 일괄 반영&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;869&quot; data-start=&quot;824&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;842&quot; data-start=&quot;824&quot;&gt;  이전 내용 자동 초기화&lt;/td&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;869&quot; data-start=&quot;842&quot;&gt;기존 템플릿 아래 영역 자동 삭제 후 생성&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;hr data-end=&quot;874&quot; data-start=&quot;871&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h2 data-end=&quot;899&quot; data-start=&quot;876&quot; data-ke-size=&quot;size26&quot;&gt;  실전 예시: 어떻게 활용하나요?&lt;/h2&gt;
&lt;h3 data-end=&quot;919&quot; data-start=&quot;901&quot; data-ke-size=&quot;size23&quot;&gt;  자재리스트 시트 예시&lt;/h3&gt;
&lt;div&gt;
&lt;div&gt;자재명모델명규격시리얼번호제조년월일
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-end=&quot;1121&quot; data-start=&quot;921&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody data-end=&quot;1121&quot; data-start=&quot;1011&quot;&gt;
&lt;tr data-end=&quot;1065&quot; data-start=&quot;1011&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;1019&quot; data-start=&quot;1011&quot;&gt;ABC모터&lt;/td&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;1028&quot; data-start=&quot;1019&quot;&gt;MX-200&lt;/td&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;1037&quot; data-start=&quot;1028&quot;&gt;150&amp;times;90&lt;/td&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;1051&quot; data-start=&quot;1037&quot;&gt;20230815001&lt;/td&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;1065&quot; data-start=&quot;1051&quot;&gt;2023-08-15&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;1121&quot; data-start=&quot;1066&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;1074&quot; data-start=&quot;1066&quot;&gt;BCD펌프&lt;/td&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;1083&quot; data-start=&quot;1074&quot;&gt;PX-400&lt;/td&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;1093&quot; data-start=&quot;1083&quot;&gt;200&amp;times;120&lt;/td&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;1107&quot; data-start=&quot;1093&quot;&gt;20230705002&lt;/td&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;1121&quot; data-start=&quot;1107&quot;&gt;2023-07-05&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;h3 data-end=&quot;1141&quot; data-start=&quot;1123&quot; data-ke-size=&quot;size23&quot;&gt;  자재명판 템플릿 예시&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1187&quot; data-start=&quot;1143&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1170&quot; data-start=&quot;1143&quot;&gt;A열: 항목명 (자재명, 모델명, &amp;hellip;)&lt;/li&gt;
&lt;li data-end=&quot;1187&quot; data-start=&quot;1171&quot;&gt;B열: 해당 값 표시 영역&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-end=&quot;1224&quot; data-start=&quot;1189&quot; data-ke-size=&quot;size16&quot;&gt;&amp;rarr; &lt;b&gt;복제 시 자동으로 값이 들어가며 행/열 간격도 맞춰짐&lt;/b&gt;&lt;/p&gt;
&lt;p data-end=&quot;1224&quot; data-start=&quot;1189&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;color: #000000; text-align: start;&quot; data-start=&quot;602&quot; data-end=&quot;616&quot; data-ke-size=&quot;size26&quot;&gt; VBA 코드&lt;/h2&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 100%;&quot;&gt;Option&amp;nbsp;Explicit &lt;br /&gt;&lt;br /&gt;'&amp;nbsp;============================================ &lt;br /&gt;'&amp;nbsp;자재명판&amp;nbsp;템플릿&amp;nbsp;복사&amp;nbsp;&amp;amp;&amp;nbsp;자재리스트&amp;nbsp;채우기&amp;nbsp;(그리드&amp;nbsp;배치) &lt;br /&gt;'&amp;nbsp;-&amp;nbsp;템플릿&amp;nbsp;범위&amp;nbsp;직접&amp;nbsp;선택(Type:=8) &lt;br /&gt;'&amp;nbsp;-&amp;nbsp;가로&amp;nbsp;배치&amp;nbsp;개수&amp;nbsp;입력 &lt;br /&gt;'&amp;nbsp;-&amp;nbsp;템플릿&amp;nbsp;사이&amp;nbsp;공백:&amp;nbsp;열&amp;nbsp;1칸,&amp;nbsp;행&amp;nbsp;1칸 &lt;br /&gt;'&amp;nbsp;-&amp;nbsp;행높이/열너비는&amp;nbsp;템플릿과&amp;nbsp;동일 &lt;br /&gt;'&amp;nbsp;-&amp;nbsp;공백&amp;nbsp;행(RowHeight=9)&amp;nbsp;적용 &lt;br /&gt;'&amp;nbsp;-&amp;nbsp;출력&amp;nbsp;전에&amp;nbsp;템플릿&amp;nbsp;&quot;이후&amp;nbsp;영역&quot;&amp;nbsp;초기화 &lt;br /&gt;'&amp;nbsp;============================================ &lt;br /&gt;Public&amp;nbsp;Sub&amp;nbsp;자재리스트_템플릿_복사_채우기_v3() &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Const&amp;nbsp;SHT_LIST&amp;nbsp;As&amp;nbsp;String&amp;nbsp;=&amp;nbsp;&quot;자재리스트&quot; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Const&amp;nbsp;SHT_TPL&amp;nbsp;&amp;nbsp;As&amp;nbsp;String&amp;nbsp;=&amp;nbsp;&quot;자재명판&quot; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Const&amp;nbsp;H_GAP_COLS&amp;nbsp;As&amp;nbsp;Long&amp;nbsp;=&amp;nbsp;1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;템플릿&amp;nbsp;사이&amp;nbsp;공백&amp;nbsp;열 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Const&amp;nbsp;V_GAP_ROWS&amp;nbsp;As&amp;nbsp;Long&amp;nbsp;=&amp;nbsp;1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;템플릿&amp;nbsp;사이&amp;nbsp;공백&amp;nbsp;행&amp;nbsp;개수 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Const&amp;nbsp;GAP_ROW_HEIGHT&amp;nbsp;As&amp;nbsp;Double&amp;nbsp;=&amp;nbsp;9 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Const&amp;nbsp;GAP_COL_WIDTH&amp;nbsp;As&amp;nbsp;Double&amp;nbsp;=&amp;nbsp;1 &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;wsL&amp;nbsp;As&amp;nbsp;Worksheet,&amp;nbsp;wsT&amp;nbsp;As&amp;nbsp;Worksheet &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;tpl&amp;nbsp;As&amp;nbsp;Range,&amp;nbsp;tplTL&amp;nbsp;As&amp;nbsp;Range &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;rowsPerTpl&amp;nbsp;As&amp;nbsp;Long,&amp;nbsp;colsPerTpl&amp;nbsp;As&amp;nbsp;Long &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;colsPerRow&amp;nbsp;As&amp;nbsp;Long &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;lastRow&amp;nbsp;As&amp;nbsp;Long,&amp;nbsp;lastCol&amp;nbsp;As&amp;nbsp;Long,&amp;nbsp;itemCnt&amp;nbsp;As&amp;nbsp;Long &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;headers&amp;nbsp;As&amp;nbsp;Object,&amp;nbsp;leftLabels&amp;nbsp;As&amp;nbsp;Object &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;arrHeader,&amp;nbsp;arrLbl,&amp;nbsp;arrRow &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;r&amp;nbsp;As&amp;nbsp;Long,&amp;nbsp;c&amp;nbsp;As&amp;nbsp;Long,&amp;nbsp;n&amp;nbsp;As&amp;nbsp;Long &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;v,&amp;nbsp;k &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;outStart&amp;nbsp;As&amp;nbsp;Range,&amp;nbsp;tl&amp;nbsp;As&amp;nbsp;Range,&amp;nbsp;blockRng&amp;nbsp;As&amp;nbsp;Range &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;gridRow&amp;nbsp;As&amp;nbsp;Long,&amp;nbsp;gridCol&amp;nbsp;As&amp;nbsp;Long &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;On&amp;nbsp;Error&amp;nbsp;GoTo&amp;nbsp;EH &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set&amp;nbsp;wsL&amp;nbsp;=&amp;nbsp;ThisWorkbook.Worksheets(SHT_LIST) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set&amp;nbsp;wsT&amp;nbsp;=&amp;nbsp;ThisWorkbook.Worksheets(SHT_TPL) &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;1)&amp;nbsp;템플릿&amp;nbsp;범위&amp;nbsp;선택 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;ActiveSheet.Name&amp;nbsp;&amp;lt;&amp;gt;&amp;nbsp;SHT_TPL&amp;nbsp;Then&amp;nbsp;wsT.Activate &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set&amp;nbsp;tpl&amp;nbsp;=&amp;nbsp;Application.InputBox(&amp;nbsp;_ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Prompt:=&quot;자재명판&amp;nbsp;시트에서&amp;nbsp;템플릿&amp;nbsp;범위를&amp;nbsp;선택하세요.&quot;,&amp;nbsp;_ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Title:=&quot;템플릿&amp;nbsp;범위&amp;nbsp;선택&quot;,&amp;nbsp;Type:=8) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;tpl&amp;nbsp;Is&amp;nbsp;Nothing&amp;nbsp;Then&amp;nbsp;Exit&amp;nbsp;Sub &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;rowsPerTpl&amp;nbsp;=&amp;nbsp;tpl.Rows.Count &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;colsPerTpl&amp;nbsp;=&amp;nbsp;tpl.Columns.Count &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set&amp;nbsp;tplTL&amp;nbsp;=&amp;nbsp;tpl.Cells(1,&amp;nbsp;1) &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;2)&amp;nbsp;가로&amp;nbsp;배치&amp;nbsp;수&amp;nbsp;입력 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;colsPerRow&amp;nbsp;=&amp;nbsp;CLng(Application.InputBox(&amp;nbsp;_ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Prompt:=&quot;한&amp;nbsp;줄에&amp;nbsp;몇&amp;nbsp;장&amp;nbsp;배치할까요?&amp;nbsp;(정수)&quot;,&amp;nbsp;_ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Title:=&quot;가로&amp;nbsp;배치&amp;nbsp;개수&quot;,&amp;nbsp;Type:=1)) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;colsPerRow&amp;nbsp;&amp;lt;&amp;nbsp;1&amp;nbsp;Then&amp;nbsp;Exit&amp;nbsp;Sub &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Application.ScreenUpdating&amp;nbsp;=&amp;nbsp;False &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Application.EnableEvents&amp;nbsp;=&amp;nbsp;False &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Application.Calculation&amp;nbsp;=&amp;nbsp;xlCalculationManual &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;3)&amp;nbsp;자재리스트&amp;nbsp;건수/헤더&amp;nbsp;준비 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;lastRow&amp;nbsp;=&amp;nbsp;wsL.Cells(wsL.Rows.Count,&amp;nbsp;&quot;A&quot;).End(xlUp).Row &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;lastRow&amp;nbsp;&amp;lt;&amp;nbsp;2&amp;nbsp;Then&amp;nbsp;GoTo&amp;nbsp;Tidy &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;lastCol&amp;nbsp;=&amp;nbsp;wsL.Cells(1,&amp;nbsp;wsL.Columns.Count).End(xlToLeft).Column &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;itemCnt&amp;nbsp;=&amp;nbsp;lastRow&amp;nbsp;-&amp;nbsp;1 &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set&amp;nbsp;headers&amp;nbsp;=&amp;nbsp;CreateObject(&quot;Scripting.Dictionary&quot;) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;arrHeader&amp;nbsp;=&amp;nbsp;wsL.Range(wsL.Cells(1,&amp;nbsp;1),&amp;nbsp;wsL.Cells(1,&amp;nbsp;lastCol)).Value &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;For&amp;nbsp;c&amp;nbsp;=&amp;nbsp;1&amp;nbsp;To&amp;nbsp;UBound(arrHeader,&amp;nbsp;2) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;v&amp;nbsp;=&amp;nbsp;Trim(CStr(arrHeader(1,&amp;nbsp;c))) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;Len(v)&amp;nbsp;&amp;gt;&amp;nbsp;0&amp;nbsp;Then&amp;nbsp;If&amp;nbsp;Not&amp;nbsp;headers.Exists(v)&amp;nbsp;Then&amp;nbsp;headers.Add&amp;nbsp;v,&amp;nbsp;c &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Next&amp;nbsp;c &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set&amp;nbsp;leftLabels&amp;nbsp;=&amp;nbsp;CreateObject(&quot;Scripting.Dictionary&quot;) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;arrLbl&amp;nbsp;=&amp;nbsp;tpl.Columns(1).Value &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;For&amp;nbsp;r&amp;nbsp;=&amp;nbsp;1&amp;nbsp;To&amp;nbsp;rowsPerTpl &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;v&amp;nbsp;=&amp;nbsp;Trim(CStr(arrLbl(r,&amp;nbsp;1))) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;Len(v)&amp;nbsp;&amp;gt;&amp;nbsp;0&amp;nbsp;Then&amp;nbsp;If&amp;nbsp;Not&amp;nbsp;leftLabels.Exists(v)&amp;nbsp;Then&amp;nbsp;leftLabels.Add&amp;nbsp;v,&amp;nbsp;r &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Next&amp;nbsp;r &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;===&amp;nbsp;초기화:&amp;nbsp;템플릿&amp;nbsp;이후&amp;nbsp;영역&amp;nbsp;싹&amp;nbsp;지움&amp;nbsp;=== &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set&amp;nbsp;outStart&amp;nbsp;=&amp;nbsp;tplTL.Offset(rowsPerTpl&amp;nbsp;+&amp;nbsp;V_GAP_ROWS,&amp;nbsp;0) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;wsT.Range(outStart,&amp;nbsp;wsT.Cells(wsT.Rows.Count,&amp;nbsp;wsT.Columns.Count)).Clear &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;4)&amp;nbsp;반복&amp;nbsp;출력 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;For&amp;nbsp;n&amp;nbsp;=&amp;nbsp;1&amp;nbsp;To&amp;nbsp;itemCnt &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;gridRow&amp;nbsp;=&amp;nbsp;(n&amp;nbsp;-&amp;nbsp;1)&amp;nbsp;\&amp;nbsp;colsPerRow &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;gridCol&amp;nbsp;=&amp;nbsp;(n&amp;nbsp;-&amp;nbsp;1)&amp;nbsp;Mod&amp;nbsp;colsPerRow &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set&amp;nbsp;tl&amp;nbsp;=&amp;nbsp;outStart.Offset(&amp;nbsp;_ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;gridRow&amp;nbsp;*&amp;nbsp;(rowsPerTpl&amp;nbsp;+&amp;nbsp;V_GAP_ROWS),&amp;nbsp;_ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;gridCol&amp;nbsp;*&amp;nbsp;(colsPerTpl&amp;nbsp;+&amp;nbsp;H_GAP_COLS)) &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;템플릿&amp;nbsp;복사 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;tpl.Copy &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;wsT.Paste&amp;nbsp;Destination:=tl &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set&amp;nbsp;blockRng&amp;nbsp;=&amp;nbsp;wsT.Range(tl,&amp;nbsp;tl.Offset(rowsPerTpl&amp;nbsp;-&amp;nbsp;1,&amp;nbsp;colsPerTpl&amp;nbsp;-&amp;nbsp;1)) &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;행높이&amp;nbsp;동기화 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;i&amp;nbsp;As&amp;nbsp;Long &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;For&amp;nbsp;i&amp;nbsp;=&amp;nbsp;1&amp;nbsp;To&amp;nbsp;rowsPerTpl &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;wsT.Rows(tl.Row&amp;nbsp;+&amp;nbsp;i&amp;nbsp;-&amp;nbsp;1).rowHeight&amp;nbsp;=&amp;nbsp;tpl.Rows(i).rowHeight &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Next&amp;nbsp;i &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;열너비&amp;nbsp;동기화 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;For&amp;nbsp;i&amp;nbsp;=&amp;nbsp;1&amp;nbsp;To&amp;nbsp;colsPerTpl &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;wsT.Columns(tl.Column&amp;nbsp;+&amp;nbsp;i&amp;nbsp;-&amp;nbsp;1).ColumnWidth&amp;nbsp;=&amp;nbsp;tpl.Columns(i).ColumnWidth &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Next&amp;nbsp;i &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;wsT.Columns(tl.Column&amp;nbsp;+&amp;nbsp;colsPerTpl).ColumnWidth&amp;nbsp;=&amp;nbsp;GAP_COL_WIDTH &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;**공백&amp;nbsp;행&amp;nbsp;높이&amp;nbsp;=&amp;nbsp;9** &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;wsT.Rows(tl.Row&amp;nbsp;+&amp;nbsp;rowsPerTpl).rowHeight&amp;nbsp;=&amp;nbsp;GAP_ROW_HEIGHT &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;값&amp;nbsp;채우기 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;arrRow&amp;nbsp;=&amp;nbsp;wsL.Range(wsL.Cells(n&amp;nbsp;+&amp;nbsp;1,&amp;nbsp;1),&amp;nbsp;wsL.Cells(n&amp;nbsp;+&amp;nbsp;1,&amp;nbsp;lastCol)).Value &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;For&amp;nbsp;Each&amp;nbsp;k&amp;nbsp;In&amp;nbsp;leftLabels.Keys &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;headers.Exists(CStr(k))&amp;nbsp;Then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;rr&amp;nbsp;As&amp;nbsp;Long,&amp;nbsp;cc&amp;nbsp;As&amp;nbsp;Long &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;rr&amp;nbsp;=&amp;nbsp;CLng(leftLabels(k)) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;cc&amp;nbsp;=&amp;nbsp;CLng(headers(k)) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;blockRng.Cells(rr,&amp;nbsp;1).Offset(0,&amp;nbsp;1).Value&amp;nbsp;=&amp;nbsp;arrRow(1,&amp;nbsp;cc) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;If &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Next&amp;nbsp;k &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Next&amp;nbsp;n &lt;br /&gt;&lt;br /&gt;Tidy: &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Application.CutCopyMode&amp;nbsp;=&amp;nbsp;False &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Application.Calculation&amp;nbsp;=&amp;nbsp;xlCalculationAutomatic &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Application.EnableEvents&amp;nbsp;=&amp;nbsp;True &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Application.ScreenUpdating&amp;nbsp;=&amp;nbsp;True &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Exit&amp;nbsp;Sub &lt;br /&gt;&lt;br /&gt;EH: &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Application.CutCopyMode&amp;nbsp;=&amp;nbsp;False &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Application.Calculation&amp;nbsp;=&amp;nbsp;xlCalculationAutomatic &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Application.EnableEvents&amp;nbsp;=&amp;nbsp;True &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Application.ScreenUpdating&amp;nbsp;=&amp;nbsp;True &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;MsgBox&amp;nbsp;&quot;실행&amp;nbsp;중&amp;nbsp;문제가&amp;nbsp;발생했습니다:&amp;nbsp;&quot;&amp;nbsp;&amp;amp;&amp;nbsp;Err.Description,&amp;nbsp;vbExclamation &lt;br /&gt;End&amp;nbsp;Sub &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;hr data-end=&quot;1229&quot; data-start=&quot;1226&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h2 data-end=&quot;1245&quot; data-start=&quot;1231&quot; data-ke-size=&quot;size26&quot;&gt;✅ VBA 실행 방법&lt;/h2&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-end=&quot;1369&quot; data-start=&quot;1247&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li data-end=&quot;1274&quot; data-start=&quot;1247&quot;&gt;Alt + F11 &amp;rarr; VBA 편집기 실행&lt;/li&gt;
&lt;li data-end=&quot;1297&quot; data-start=&quot;1275&quot;&gt;새 모듈 추가 &amp;rarr; 위 코드 붙여넣기&lt;/li&gt;
&lt;li data-end=&quot;1332&quot; data-start=&quot;1298&quot;&gt;매크로 실행 (F5 또는 개발 도구 &amp;gt; 매크로 실행)&lt;/li&gt;
&lt;li data-end=&quot;1369&quot; data-start=&quot;1333&quot;&gt;순서대로 선택/입력 (템플릿 범위 선택 &amp;rarr; 가로 개수 입력)&lt;/li&gt;
&lt;/ol&gt;
&lt;hr data-end=&quot;1374&quot; data-start=&quot;1371&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h2 data-end=&quot;1395&quot; data-start=&quot;1376&quot; data-ke-size=&quot;size26&quot;&gt;❓ 자주 묻는 질문 (FAQ)&lt;/h2&gt;
&lt;p data-end=&quot;1476&quot; data-start=&quot;1397&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Q. 템플릿은 어느 시트에 있어야 하나요?&lt;/b&gt;&lt;br /&gt;A. 자재명판 시트에 있어야 하며, &lt;b&gt;맨 위에 템플릿 형태로 구성&lt;/b&gt;되어야 합니다.&lt;/p&gt;
&lt;p data-end=&quot;1551&quot; data-start=&quot;1478&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Q. 템플릿 복제할 때 폰트나 셀 병합은 유지되나요?&lt;/b&gt;&lt;br /&gt;A. 네, 복사-붙여넣기로 동일한 레이아웃이 그대로 유지됩니다.&lt;/p&gt;
&lt;p data-end=&quot;1631&quot; data-start=&quot;1553&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Q. 항목 이름이 약간 달라도 되나요?&lt;/b&gt;&lt;br /&gt;A. 아니요, 자재리스트의 &lt;b&gt;헤더명과 템플릿 라벨&lt;/b&gt;은 정확히 일치해야 자동 매핑됩니다.&lt;/p&gt;
&lt;p data-end=&quot;1715&quot; data-start=&quot;1633&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Q. 템플릿 이후에 기존 데이터가 있으면 덮어쓰나요?&lt;/b&gt;&lt;br /&gt;A. 기존 데이터는 복사 전에 자동 삭제됩니다. (원하는 경우 따로 백업해두세요.)&lt;/p&gt;
&lt;hr data-end=&quot;1720&quot; data-start=&quot;1717&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h2 data-end=&quot;1749&quot; data-start=&quot;1722&quot; data-ke-size=&quot;size26&quot;&gt;  마무리: 엑셀 자동화, 어렵지 않아요!&lt;/h2&gt;
&lt;p data-end=&quot;1800&quot; data-start=&quot;1751&quot; data-ke-size=&quot;size16&quot;&gt;자재명판 자동 생성 작업은&lt;br /&gt;&lt;b&gt;복잡할 것 같지만 한 번만 세팅하면 매번 1초 컷!&lt;/b&gt;&lt;/p&gt;
&lt;p data-end=&quot;1851&quot; data-start=&quot;1802&quot; data-ke-size=&quot;size16&quot;&gt;반복작업을 줄이고 실수를 방지할 수 있어&lt;br /&gt;현업에서 아주 유용한 자동화 도구가 됩니다.&lt;/p&gt;
&lt;blockquote data-end=&quot;1895&quot; data-start=&quot;1853&quot; data-ke-style=&quot;style1&quot;&gt;
&lt;p data-end=&quot;1895&quot; data-start=&quot;1855&quot; data-ke-size=&quot;size16&quot;&gt;이 매크로가 도움되셨다면,&lt;br /&gt;  블로그 구독 + 공감 부탁드려요!&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;fileblock&quot; data-ke-align=&quot;alignCenter&quot;&gt;&lt;a href=&quot;https://blog.kakaocdn.net/dn/bweonL/dJMb9XjWB4h/KHhl8GsyXUoXnQprsdnPJK/%EC%9E%90%EC%9E%AC%20%EB%AA%85%ED%8C%90%20%EB%9D%BC%EB%B2%A8%20%EB%A7%8C%EB%93%A4%EA%B8%B0%20-%20ver1.1.xlsm?attach=1&amp;amp;knm=tfile.xlsm&quot; class=&quot;&quot;&gt;
    &lt;div class=&quot;image&quot;&gt;&lt;/div&gt;
    &lt;div class=&quot;desc&quot;&gt;&lt;div class=&quot;filename&quot;&gt;&lt;span class=&quot;name&quot;&gt;자재 명판 라벨 만들기 - ver1.1.xlsm&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;size&quot;&gt;0.03MB&lt;/div&gt;
&lt;/div&gt;
  &lt;/a&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>DATA</category>
      <category>#엑셀자동화 #엑셀VBA #자재명판 #엑셀템플릿복사 #VBA자재리스트 #실무VBA #공장자동화 #엑셀폼자동작성 #엑셀매크로 #엑셀자동출력</category>
      <author>노만e</author>
      <guid isPermaLink="true">https://dream2049.tistory.com/182</guid>
      <comments>https://dream2049.tistory.com/182#entry182comment</comments>
      <pubDate>Mon, 8 Sep 2025 22:19:03 +0900</pubDate>
    </item>
    <item>
      <title>엑셀 VBA 우편 발송 라벨양식 자동 만들기</title>
      <link>https://dream2049.tistory.com/181</link>
      <description>&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;주소 라벨지.jpg&quot; data-origin-width=&quot;791&quot; data-origin-height=&quot;535&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cgF0dB/btsQqZPVeYa/r9UcdjNQAALtx8s8ZODKQ1/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cgF0dB/btsQqZPVeYa/r9UcdjNQAALtx8s8ZODKQ1/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cgF0dB/btsQqZPVeYa/r9UcdjNQAALtx8s8ZODKQ1/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcgF0dB%2FbtsQqZPVeYa%2Fr9UcdjNQAALtx8s8ZODKQ1%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;791&quot; height=&quot;535&quot; data-filename=&quot;주소 라벨지.jpg&quot; data-origin-width=&quot;791&quot; data-origin-height=&quot;535&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h3 data-end=&quot;217&quot; data-start=&quot;184&quot; data-ke-size=&quot;size23&quot;&gt;  수작업으로 하나하나 주소 라벨 붙이고 계신가요?&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;287&quot; data-start=&quot;219&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;246&quot; data-start=&quot;219&quot;&gt;거래처, 고객, 행사 대상자 우편 발송할 때&amp;hellip;&lt;/li&gt;
&lt;li data-end=&quot;287&quot; data-start=&quot;247&quot;&gt;&lt;b&gt;한 사람씩 주소-이름-우편번호&lt;/b&gt; 넣는 작업, 지겹지 않으셨나요?&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-end=&quot;387&quot; data-start=&quot;289&quot; data-ke-size=&quot;size16&quot;&gt;이제 VBA 매크로 하나로 끝낼 수 있습니다!&lt;br /&gt;아래 코드를 사용하면, 엑셀 주소록 데이터를 기반으로&lt;br /&gt;&lt;b&gt;우편 라벨을 자동으로 채워주는 라벨지 양식&lt;/b&gt;을 만들 수 있어요.&lt;/p&gt;
&lt;hr data-end=&quot;392&quot; data-start=&quot;389&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h2 data-end=&quot;408&quot; data-start=&quot;394&quot; data-ke-size=&quot;size26&quot;&gt;✅ 매크로 기능 요약&lt;/h2&gt;
&lt;div&gt;
&lt;div&gt;기능설명
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-end=&quot;706&quot; data-start=&quot;410&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody data-end=&quot;706&quot; data-start=&quot;438&quot;&gt;
&lt;tr data-end=&quot;483&quot; data-start=&quot;438&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;453&quot; data-start=&quot;438&quot;&gt;  데이터 자동 읽기&lt;/td&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;483&quot; data-start=&quot;453&quot;&gt;주소록 시트의 이름/주소/우편번호 자동 인식&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;537&quot; data-start=&quot;484&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;511&quot; data-start=&quot;484&quot;&gt;  A~G열 &amp;times; 3행 구조 라벨 자동 생성&lt;/td&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;537&quot; data-start=&quot;511&quot;&gt;출력 시트 라벨지에 깔끔한 박스 구성&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;586&quot; data-start=&quot;538&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;555&quot; data-start=&quot;538&quot;&gt;  정렬 및 줄맞춤 자동&lt;/td&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;586&quot; data-start=&quot;555&quot;&gt;주소, 이름, 우편번호 각기 다른 정렬 방식 적용&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;629&quot; data-start=&quot;587&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;612&quot; data-start=&quot;587&quot;&gt;  들여쓰기 + 글꼴 사이즈 자동 조정&lt;/td&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;629&quot; data-start=&quot;612&quot;&gt;실사용 레이아웃에 최적화&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;660&quot; data-start=&quot;630&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;660&quot; data-start=&quot;630&quot;&gt;➕ 사용자 입력: 라벨 열 개수(가로 배치 수)&lt;/td&gt;
&lt;td data-col-size=&quot;sm&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;706&quot; data-start=&quot;661&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;678&quot; data-start=&quot;661&quot;&gt;  라벨 간격 자동 삽입&lt;/td&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;706&quot; data-start=&quot;678&quot;&gt;행 간격은 10pt / 열 간격도 자동 적용&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;hr data-end=&quot;711&quot; data-start=&quot;708&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h2 data-end=&quot;724&quot; data-start=&quot;713&quot; data-ke-size=&quot;size26&quot;&gt;  준비 사항&lt;/h2&gt;
&lt;h3 data-end=&quot;747&quot; data-start=&quot;726&quot; data-ke-size=&quot;size23&quot;&gt;1. 주소록 시트 구성 예시&lt;/h3&gt;
&lt;div&gt;
&lt;div&gt;이름주소우편번호
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-end=&quot;918&quot; data-start=&quot;749&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody data-end=&quot;918&quot; data-start=&quot;845&quot;&gt;
&lt;tr data-end=&quot;882&quot; data-start=&quot;845&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;851&quot; data-start=&quot;845&quot;&gt;홍길동&lt;/td&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;869&quot; data-start=&quot;851&quot;&gt;서울시 강남구 테헤란로 10&lt;/td&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;882&quot; data-start=&quot;869&quot;&gt;06236&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;918&quot; data-start=&quot;883&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;889&quot; data-start=&quot;883&quot;&gt;김영희&lt;/td&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;905&quot; data-start=&quot;889&quot;&gt;부산시 해운대구 해운대로&lt;/td&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;918&quot; data-start=&quot;905&quot;&gt;48093&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;982&quot; data-start=&quot;920&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;965&quot; data-start=&quot;920&quot;&gt;&lt;b&gt;B열: 이름, C열: 주소, D열: 우편번호&lt;/b&gt; &amp;mdash; 정확히 맞춰야 합니다.&lt;/li&gt;
&lt;li data-end=&quot;982&quot; data-start=&quot;966&quot;&gt;A열은 사용하지 않습니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-end=&quot;1007&quot; data-start=&quot;984&quot; data-ke-size=&quot;size23&quot;&gt;2. 출력용 시트는 자동 생성됩니다&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1081&quot; data-start=&quot;1009&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1020&quot; data-start=&quot;1009&quot;&gt;이름: 라벨지&lt;/li&gt;
&lt;li data-end=&quot;1054&quot; data-start=&quot;1021&quot;&gt;실행 시 해당 시트가 없으면 자동으로 새로 만들어줍니다.&lt;/li&gt;
&lt;li data-end=&quot;1081&quot; data-start=&quot;1055&quot;&gt;이전에 있던 라벨 데이터는 자동 삭제됩니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-end=&quot;1086&quot; data-start=&quot;1083&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h2 style=&quot;color: #000000; text-align: start;&quot; data-start=&quot;1219&quot; data-end=&quot;1234&quot; data-ke-size=&quot;size26&quot;&gt;✨&amp;nbsp;VBA 코드&lt;/h2&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 100%;&quot;&gt;Option&amp;nbsp;Explicit &lt;br /&gt;&lt;br /&gt;'&amp;nbsp;A~G&amp;nbsp;열&amp;nbsp;&amp;times;&amp;nbsp;1~3행&amp;nbsp;고정&amp;nbsp;레이아웃 &lt;br /&gt;'&amp;nbsp;-&amp;nbsp;B:이름,&amp;nbsp;C:주소,&amp;nbsp;D:우편번호&amp;nbsp;사용 &lt;br /&gt;'&amp;nbsp;-&amp;nbsp;열&amp;nbsp;간격:&amp;nbsp;1칸,&amp;nbsp;행&amp;nbsp;간격:&amp;nbsp;10pt &lt;br /&gt;Public&amp;nbsp;Sub&amp;nbsp;Make_Labels_AtoG_3rows_v3() &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Const&amp;nbsp;SHT_SRC&amp;nbsp;As&amp;nbsp;String&amp;nbsp;=&amp;nbsp;&quot;주소록&quot; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Const&amp;nbsp;SHT_OUT&amp;nbsp;As&amp;nbsp;String&amp;nbsp;=&amp;nbsp;&quot;라벨지&quot; &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;고정&amp;nbsp;규격 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Const&amp;nbsp;LABEL_W_COLS&amp;nbsp;As&amp;nbsp;Long&amp;nbsp;=&amp;nbsp;7 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Const&amp;nbsp;LABEL_H_ROWS&amp;nbsp;As&amp;nbsp;Long&amp;nbsp;=&amp;nbsp;3 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Const&amp;nbsp;GAP_COLS&amp;nbsp;As&amp;nbsp;Long&amp;nbsp;=&amp;nbsp;1 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Const&amp;nbsp;GAP_ROWS&amp;nbsp;As&amp;nbsp;Long&amp;nbsp;=&amp;nbsp;1 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Const&amp;nbsp;GAP_ROW_HEIGHT&amp;nbsp;As&amp;nbsp;Double&amp;nbsp;=&amp;nbsp;10 &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;기본값(열&amp;nbsp;수&amp;nbsp;2&amp;nbsp;또는&amp;nbsp;3일&amp;nbsp;때는&amp;nbsp;아래에서&amp;nbsp;덮어씀) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Const&amp;nbsp;LABEL_COL_WIDTH_DEFAULT&amp;nbsp;As&amp;nbsp;Double&amp;nbsp;=&amp;nbsp;5&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;기본&amp;nbsp;열너비 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Const&amp;nbsp;GAP_COL_WIDTH&amp;nbsp;As&amp;nbsp;Double&amp;nbsp;=&amp;nbsp;1.2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;간격&amp;nbsp;열너비 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Const&amp;nbsp;ROW_H_ADDR&amp;nbsp;As&amp;nbsp;Double&amp;nbsp;=&amp;nbsp;35&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;주소(1행)&amp;nbsp;높이 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Const&amp;nbsp;ROW_H_NAME&amp;nbsp;As&amp;nbsp;Double&amp;nbsp;=&amp;nbsp;20&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;이름(2행)&amp;nbsp;높이 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Const&amp;nbsp;ROW_H_ZIP&amp;nbsp;As&amp;nbsp;Double&amp;nbsp;=&amp;nbsp;20&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;우편(3행)&amp;nbsp;높이 &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;wsSrc&amp;nbsp;As&amp;nbsp;Worksheet,&amp;nbsp;wsOut&amp;nbsp;As&amp;nbsp;Worksheet &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;lastRow&amp;nbsp;As&amp;nbsp;Long,&amp;nbsp;n&amp;nbsp;As&amp;nbsp;Long,&amp;nbsp;labelsPerRow&amp;nbsp;As&amp;nbsp;Long &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;i&amp;nbsp;As&amp;nbsp;Long,&amp;nbsp;idx&amp;nbsp;As&amp;nbsp;Long &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;startRow&amp;nbsp;As&amp;nbsp;Long,&amp;nbsp;startCol&amp;nbsp;As&amp;nbsp;Long &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;labelColWidth&amp;nbsp;As&amp;nbsp;Double &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;가로&amp;nbsp;열&amp;nbsp;수&amp;nbsp;입력 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;On&amp;nbsp;Error&amp;nbsp;GoTo&amp;nbsp;CancelInput &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;labelsPerRow&amp;nbsp;=&amp;nbsp;CLng(Application.InputBox(&quot;가로(열)&amp;nbsp;개수를&amp;nbsp;입력하세요.&quot;,&amp;nbsp;&quot;라벨&amp;nbsp;열&amp;nbsp;수&quot;,&amp;nbsp;2,&amp;nbsp;Type:=1)) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;labelsPerRow&amp;nbsp;&amp;lt;&amp;nbsp;1&amp;nbsp;Then&amp;nbsp;Exit&amp;nbsp;Sub &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;On&amp;nbsp;Error&amp;nbsp;GoTo&amp;nbsp;0 &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;▶&amp;nbsp;열&amp;nbsp;수에&amp;nbsp;따른&amp;nbsp;열너비&amp;nbsp;자동&amp;nbsp;결정 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Select&amp;nbsp;Case&amp;nbsp;labelsPerRow &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Case&amp;nbsp;2:&amp;nbsp;labelColWidth&amp;nbsp;=&amp;nbsp;5 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Case&amp;nbsp;3:&amp;nbsp;labelColWidth&amp;nbsp;=&amp;nbsp;3 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Case&amp;nbsp;Else:&amp;nbsp;labelColWidth&amp;nbsp;=&amp;nbsp;LABEL_COL_WIDTH_DEFAULT &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;Select &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;시트 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set&amp;nbsp;wsSrc&amp;nbsp;=&amp;nbsp;ThisWorkbook.Worksheets(SHT_SRC) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set&amp;nbsp;wsOut&amp;nbsp;=&amp;nbsp;EnsureSheet(SHT_OUT) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;wsOut.Cells.Clear &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;데이터&amp;nbsp;확인 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;lastRow&amp;nbsp;=&amp;nbsp;wsSrc.Cells(wsSrc.Rows.Count,&amp;nbsp;&quot;B&quot;).End(xlUp).Row &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;n&amp;nbsp;=&amp;nbsp;lastRow&amp;nbsp;-&amp;nbsp;1 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;n&amp;nbsp;&amp;lt;&amp;nbsp;1&amp;nbsp;Then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;MsgBox&amp;nbsp;&quot;주소록&amp;nbsp;시트에&amp;nbsp;데이터가&amp;nbsp;없습니다.&amp;nbsp;(B:이름,&amp;nbsp;C:주소,&amp;nbsp;D:우편번호)&quot;,&amp;nbsp;vbExclamation &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Exit&amp;nbsp;Sub &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;If &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;성능 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Application.ScreenUpdating&amp;nbsp;=&amp;nbsp;False &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Application.EnableEvents&amp;nbsp;=&amp;nbsp;False &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Application.Calculation&amp;nbsp;=&amp;nbsp;xlCalculationManual &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;기본&amp;nbsp;셀&amp;nbsp;크기&amp;nbsp;적용 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;wsOut.Cells.ColumnWidth&amp;nbsp;=&amp;nbsp;labelColWidth &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;wsOut.Rows.RowHeight&amp;nbsp;=&amp;nbsp;ROW_H_NAME&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;기본&amp;nbsp;20,&amp;nbsp;각&amp;nbsp;행에서&amp;nbsp;다시&amp;nbsp;조절 &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;배치&amp;nbsp;시작 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;startRow&amp;nbsp;=&amp;nbsp;1:&amp;nbsp;startCol&amp;nbsp;=&amp;nbsp;1:&amp;nbsp;idx&amp;nbsp;=&amp;nbsp;0 &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;nameTxt&amp;nbsp;As&amp;nbsp;String,&amp;nbsp;addrTxt&amp;nbsp;As&amp;nbsp;String,&amp;nbsp;zipTxt&amp;nbsp;As&amp;nbsp;String &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;addrRange&amp;nbsp;As&amp;nbsp;Range,&amp;nbsp;nameRange&amp;nbsp;As&amp;nbsp;Range,&amp;nbsp;zipRange&amp;nbsp;As&amp;nbsp;Range &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;labelBlock&amp;nbsp;As&amp;nbsp;Range &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;For&amp;nbsp;i&amp;nbsp;=&amp;nbsp;2&amp;nbsp;To&amp;nbsp;lastRow &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;nameTxt&amp;nbsp;=&amp;nbsp;Trim$(wsSrc.Cells(i,&amp;nbsp;&quot;B&quot;).Value&amp;nbsp;&amp;amp;&amp;nbsp;&quot;&quot;) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;addrTxt&amp;nbsp;=&amp;nbsp;Trim$(wsSrc.Cells(i,&amp;nbsp;&quot;C&quot;).Value&amp;nbsp;&amp;amp;&amp;nbsp;&quot;&quot;) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;zipTxt&amp;nbsp;=&amp;nbsp;Trim$(wsSrc.Cells(i,&amp;nbsp;&quot;D&quot;).Value&amp;nbsp;&amp;amp;&amp;nbsp;&quot;&quot;) &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;블록:&amp;nbsp;A~G&amp;nbsp;&amp;times;&amp;nbsp;3행 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set&amp;nbsp;labelBlock&amp;nbsp;=&amp;nbsp;wsOut.Range(wsOut.Cells(startRow,&amp;nbsp;startCol),&amp;nbsp;_ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;wsOut.Cells(startRow&amp;nbsp;+&amp;nbsp;LABEL_H_ROWS&amp;nbsp;-&amp;nbsp;1,&amp;nbsp;startCol&amp;nbsp;+&amp;nbsp;LABEL_W_COLS&amp;nbsp;-&amp;nbsp;1)) &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;각&amp;nbsp;행&amp;nbsp;범위 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set&amp;nbsp;addrRange&amp;nbsp;=&amp;nbsp;wsOut.Range(wsOut.Cells(startRow,&amp;nbsp;startCol),&amp;nbsp;_ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;wsOut.Cells(startRow,&amp;nbsp;startCol&amp;nbsp;+&amp;nbsp;LABEL_W_COLS&amp;nbsp;-&amp;nbsp;1)) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set&amp;nbsp;nameRange&amp;nbsp;=&amp;nbsp;wsOut.Range(wsOut.Cells(startRow&amp;nbsp;+&amp;nbsp;1,&amp;nbsp;startCol),&amp;nbsp;_ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;wsOut.Cells(startRow&amp;nbsp;+&amp;nbsp;1,&amp;nbsp;startCol&amp;nbsp;+&amp;nbsp;LABEL_W_COLS&amp;nbsp;-&amp;nbsp;1)) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set&amp;nbsp;zipRange&amp;nbsp;=&amp;nbsp;wsOut.Range(wsOut.Cells(startRow&amp;nbsp;+&amp;nbsp;2,&amp;nbsp;startCol),&amp;nbsp;_ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;wsOut.Cells(startRow&amp;nbsp;+&amp;nbsp;2,&amp;nbsp;startCol&amp;nbsp;+&amp;nbsp;LABEL_W_COLS&amp;nbsp;-&amp;nbsp;1)) &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;주소행 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;SafeUnmerge&amp;nbsp;addrRange:&amp;nbsp;addrRange.Merge &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;With&amp;nbsp;addrRange &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.HorizontalAlignment&amp;nbsp;=&amp;nbsp;xlLeft &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.VerticalAlignment&amp;nbsp;=&amp;nbsp;xlTop &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.WrapText&amp;nbsp;=&amp;nbsp;True &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.Value&amp;nbsp;=&amp;nbsp;addrTxt &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.Font.Size&amp;nbsp;=&amp;nbsp;11 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;With &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;wsOut.Rows(startRow).RowHeight&amp;nbsp;=&amp;nbsp;ROW_H_ADDR &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;이름행&amp;nbsp;(오른쪽&amp;nbsp;정렬&amp;nbsp;+&amp;nbsp;들여쓰기&amp;nbsp;1) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;SafeUnmerge&amp;nbsp;nameRange:&amp;nbsp;nameRange.Merge &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;With&amp;nbsp;nameRange &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.HorizontalAlignment&amp;nbsp;=&amp;nbsp;xlRight &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.VerticalAlignment&amp;nbsp;=&amp;nbsp;xlCenter &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.WrapText&amp;nbsp;=&amp;nbsp;False &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.IndentLevel&amp;nbsp;=&amp;nbsp;1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;▶&amp;nbsp;오른쪽에서&amp;nbsp;들여쓰기&amp;nbsp;1 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.Value&amp;nbsp;=&amp;nbsp;nameTxt&amp;nbsp;&amp;amp;&amp;nbsp;&quot;&amp;nbsp;&amp;nbsp;귀하&quot; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.Font.Size&amp;nbsp;=&amp;nbsp;12 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;Len(nameTxt)&amp;nbsp;&amp;gt;&amp;nbsp;0&amp;nbsp;Then&amp;nbsp;.Characters(Start:=Len(nameTxt)&amp;nbsp;+&amp;nbsp;3,&amp;nbsp;Length:=2).Font.Size&amp;nbsp;=&amp;nbsp;10 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;With &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;wsOut.Rows(startRow&amp;nbsp;+&amp;nbsp;1).RowHeight&amp;nbsp;=&amp;nbsp;ROW_H_NAME &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;우편번호행 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;SafeUnmerge&amp;nbsp;zipRange:&amp;nbsp;zipRange.Merge &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;With&amp;nbsp;zipRange &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.HorizontalAlignment&amp;nbsp;=&amp;nbsp;xlCenter &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.VerticalAlignment&amp;nbsp;=&amp;nbsp;xlCenter &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.Value&amp;nbsp;=&amp;nbsp;zipTxt &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.Font.Size&amp;nbsp;=&amp;nbsp;11 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;With &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;wsOut.Rows(startRow&amp;nbsp;+&amp;nbsp;2).RowHeight&amp;nbsp;=&amp;nbsp;ROW_H_ZIP &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;바깥&amp;nbsp;테두리만 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;With&amp;nbsp;labelBlock.Borders(xlInsideHorizontal):&amp;nbsp;.LineStyle&amp;nbsp;=&amp;nbsp;xlNone:&amp;nbsp;End&amp;nbsp;With &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;With&amp;nbsp;labelBlock.Borders(xlInsideVertical):&amp;nbsp;&amp;nbsp;&amp;nbsp;.LineStyle&amp;nbsp;=&amp;nbsp;xlNone:&amp;nbsp;End&amp;nbsp;With &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;labelBlock.Borders.LineStyle&amp;nbsp;=&amp;nbsp;xlNone &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;labelBlock.BorderAround&amp;nbsp;Weight:=xlThick,&amp;nbsp;LineStyle:=xlContinuous,&amp;nbsp;Color:=RGB(120,&amp;nbsp;120,&amp;nbsp;120) &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;다음&amp;nbsp;위치 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;idx&amp;nbsp;=&amp;nbsp;idx&amp;nbsp;+&amp;nbsp;1 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;(idx&amp;nbsp;Mod&amp;nbsp;labelsPerRow)&amp;nbsp;&amp;lt;&amp;gt;&amp;nbsp;0&amp;nbsp;Then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;같은&amp;nbsp;행의&amp;nbsp;다음&amp;nbsp;라벨로&amp;nbsp;이동:&amp;nbsp;+7열&amp;nbsp;+&amp;nbsp;간격1열 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;startCol&amp;nbsp;=&amp;nbsp;startCol&amp;nbsp;+&amp;nbsp;LABEL_W_COLS &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;wsOut.Columns(startCol).ColumnWidth&amp;nbsp;=&amp;nbsp;GAP_COL_WIDTH &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;startCol&amp;nbsp;=&amp;nbsp;startCol&amp;nbsp;+&amp;nbsp;GAP_COLS &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Else &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;다음&amp;nbsp;행으로&amp;nbsp;이동:&amp;nbsp;+3행&amp;nbsp;+&amp;nbsp;간격행(10pt) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;startCol&amp;nbsp;=&amp;nbsp;1 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;startRow&amp;nbsp;=&amp;nbsp;startRow&amp;nbsp;+&amp;nbsp;LABEL_H_ROWS &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;wsOut.Rows(startRow).RowHeight&amp;nbsp;=&amp;nbsp;GAP_ROW_HEIGHT &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;startRow&amp;nbsp;=&amp;nbsp;startRow&amp;nbsp;+&amp;nbsp;GAP_ROWS &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;If &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Next&amp;nbsp;i &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;wsOut.Activate &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Application.Goto&amp;nbsp;wsOut.Range(&quot;A1&quot;),&amp;nbsp;True &lt;br /&gt;&lt;br /&gt;Tidy: &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Application.Calculation&amp;nbsp;=&amp;nbsp;xlCalculationAutomatic &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Application.EnableEvents&amp;nbsp;=&amp;nbsp;True &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Application.ScreenUpdating&amp;nbsp;=&amp;nbsp;True &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;MsgBox&amp;nbsp;&quot;라벨&amp;nbsp;생성&amp;nbsp;완료!&quot;,&amp;nbsp;vbInformation &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Exit&amp;nbsp;Sub &lt;br /&gt;&lt;br /&gt;CancelInput: &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;MsgBox&amp;nbsp;&quot;작업이&amp;nbsp;취소되었습니다.&quot;,&amp;nbsp;vbInformation &lt;br /&gt;End&amp;nbsp;Sub &lt;br /&gt;&lt;br /&gt;'&amp;nbsp;---&amp;nbsp;안전&amp;nbsp;병합해제&amp;nbsp;--- &lt;br /&gt;Private&amp;nbsp;Sub&amp;nbsp;SafeUnmerge(ByVal&amp;nbsp;rng&amp;nbsp;As&amp;nbsp;Range) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;On&amp;nbsp;Error&amp;nbsp;Resume&amp;nbsp;Next &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;Not&amp;nbsp;rng&amp;nbsp;Is&amp;nbsp;Nothing&amp;nbsp;Then&amp;nbsp;rng.UnMerge &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;On&amp;nbsp;Error&amp;nbsp;GoTo&amp;nbsp;0 &lt;br /&gt;End&amp;nbsp;Sub &lt;br /&gt;&lt;br /&gt;'&amp;nbsp;---&amp;nbsp;출력&amp;nbsp;시트&amp;nbsp;보장&amp;nbsp;--- &lt;br /&gt;Private&amp;nbsp;Function&amp;nbsp;EnsureSheet(ByVal&amp;nbsp;name&amp;nbsp;As&amp;nbsp;String)&amp;nbsp;As&amp;nbsp;Worksheet &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;On&amp;nbsp;Error&amp;nbsp;Resume&amp;nbsp;Next &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set&amp;nbsp;EnsureSheet&amp;nbsp;=&amp;nbsp;ThisWorkbook.Sheets(name) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;On&amp;nbsp;Error&amp;nbsp;GoTo&amp;nbsp;0 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;EnsureSheet&amp;nbsp;Is&amp;nbsp;Nothing&amp;nbsp;Then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set&amp;nbsp;EnsureSheet&amp;nbsp;=&amp;nbsp;ThisWorkbook.Sheets.Add &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;EnsureSheet.name&amp;nbsp;=&amp;nbsp;name &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;If &lt;br /&gt;End&amp;nbsp;Function &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 data-end=&quot;1103&quot; data-start=&quot;1088&quot; data-ke-size=&quot;size26&quot;&gt;&amp;nbsp;&lt;/h2&gt;
&lt;h2 data-end=&quot;1103&quot; data-start=&quot;1088&quot; data-ke-size=&quot;size26&quot;&gt;  매크로 실행 방법&lt;/h2&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-end=&quot;1212&quot; data-start=&quot;1105&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li data-end=&quot;1132&quot; data-start=&quot;1105&quot;&gt;Alt + F11 &amp;rarr; VBA 편집기 열기&lt;/li&gt;
&lt;li data-end=&quot;1155&quot; data-start=&quot;1133&quot;&gt;새 모듈 추가 &amp;rarr; 위 코드 붙여넣기&lt;/li&gt;
&lt;li data-end=&quot;1183&quot; data-start=&quot;1156&quot;&gt;실행 (F5) 또는 매크로 등록 후 실행&lt;/li&gt;
&lt;li data-end=&quot;1212&quot; data-start=&quot;1184&quot;&gt;&quot;가로 라벨 개수&quot; 입력 (예: 2 또는 3)&lt;/li&gt;
&lt;/ol&gt;
&lt;hr data-end=&quot;1217&quot; data-start=&quot;1214&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h2 data-end=&quot;1234&quot; data-start=&quot;1219&quot; data-ke-size=&quot;size26&quot;&gt;✨ 실행 결과 미리보기&lt;/h2&gt;
&lt;p data-end=&quot;1263&quot; data-start=&quot;1236&quot; data-ke-size=&quot;size16&quot;&gt;가로 2개 라벨로 선택 시, 아래처럼 배치됩니다:&lt;/p&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;span&gt;┌──────────────┬──────────────┐ │ 서울시 강남구&amp;hellip; │ 부산시 해운대&amp;hellip; │ &amp;larr; 주소 (상단) │ 홍길동 귀하 │ 김영희 귀하 │ &amp;larr; 이름 (중앙) │ &lt;/span&gt;&lt;span&gt;&lt;span&gt;06236&lt;/span&gt;&lt;/span&gt;&lt;span&gt; │ &lt;/span&gt;&lt;span&gt;&lt;span&gt;48093&lt;/span&gt;&lt;/span&gt;&lt;span&gt; │ &amp;larr; 우편번호 (하단) └──────────────┴──────────────┘ &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1603&quot; data-start=&quot;1484&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1513&quot; data-start=&quot;1484&quot;&gt;&lt;b&gt;주소&lt;/b&gt;: 상단 정렬, 글꼴 크기 11pt&lt;/li&gt;
&lt;li data-end=&quot;1550&quot; data-start=&quot;1514&quot;&gt;&lt;b&gt;이름&lt;/b&gt;: 오른쪽 정렬, 들여쓰기, &amp;ldquo;귀하&amp;rdquo; 자동 추가&lt;/li&gt;
&lt;li data-end=&quot;1571&quot; data-start=&quot;1551&quot;&gt;&lt;b&gt;우편번호&lt;/b&gt;: 가운데 정렬&lt;/li&gt;
&lt;li data-end=&quot;1603&quot; data-start=&quot;1572&quot;&gt;&lt;b&gt;박스 테두리&lt;/b&gt; 자동 처리 (진한 테두리만 표시)&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-end=&quot;1608&quot; data-start=&quot;1605&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h2 data-end=&quot;1628&quot; data-start=&quot;1610&quot; data-ke-size=&quot;size26&quot;&gt;  팁: 조정 가능한 부분&lt;/h2&gt;
&lt;div&gt;
&lt;div&gt;항목설명변수명
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-end=&quot;1889&quot; data-start=&quot;1630&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody data-end=&quot;1889&quot; data-start=&quot;1673&quot;&gt;
&lt;tr data-end=&quot;1715&quot; data-start=&quot;1673&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;1681&quot; data-start=&quot;1673&quot;&gt;라벨 너비&lt;/td&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;1696&quot; data-start=&quot;1681&quot;&gt;라벨 한 칸당 열 너비&lt;/td&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;1715&quot; data-start=&quot;1696&quot;&gt;labelColWidth&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;1789&quot; data-start=&quot;1716&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;1724&quot; data-start=&quot;1716&quot;&gt;라벨 높이&lt;/td&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;1746&quot; data-start=&quot;1724&quot;&gt;주소/이름/우편번호 각각의 행 높이&lt;/td&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;1789&quot; data-start=&quot;1746&quot;&gt;ROW_H_ADDR, ROW_H_NAME, ROW_H_ZIP&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;1844&quot; data-start=&quot;1790&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;1802&quot; data-start=&quot;1790&quot;&gt;라벨 간격 (행)&lt;/td&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;1824&quot; data-start=&quot;1802&quot;&gt;라벨 사이 줄 간격 (단위: pt)&lt;/td&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;1844&quot; data-start=&quot;1824&quot;&gt;GAP_ROW_HEIGHT&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;1889&quot; data-start=&quot;1845&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;1857&quot; data-start=&quot;1845&quot;&gt;라벨 간격 (열)&lt;/td&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;1870&quot; data-start=&quot;1857&quot;&gt;라벨 사이 열 간격&lt;/td&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;1889&quot; data-start=&quot;1870&quot;&gt;GAP_COL_WIDTH&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;hr data-end=&quot;1894&quot; data-start=&quot;1891&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h2 data-end=&quot;1915&quot; data-start=&quot;1896&quot; data-ke-size=&quot;size26&quot;&gt;❓ 자주 묻는 질문 (Q&amp;amp;A)&lt;/h2&gt;
&lt;p data-end=&quot;1994&quot; data-start=&quot;1917&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Q. 이름에 &amp;lsquo;귀하&amp;rsquo;는 자동으로 붙나요?&lt;/b&gt;&lt;br /&gt;A. 네, &quot;홍길동 귀하&quot; 형식으로 자동 완성됩니다. 폰트 크기도 자동 조정됩니다.&lt;/p&gt;
&lt;p data-end=&quot;2086&quot; data-start=&quot;1996&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Q. 라벨 간격이 너무 좁아요. 넓힐 수 있나요?&lt;/b&gt;&lt;br /&gt;A. GAP_ROW_HEIGHT, GAP_COL_WIDTH 값을 늘리면 간격이 더 넓어집니다.&lt;/p&gt;
&lt;p data-end=&quot;2148&quot; data-start=&quot;2088&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Q. 주소가 너무 길면 잘리나요?&lt;/b&gt;&lt;br /&gt;A. 아니요! 자동 줄바꿈 기능이 적용되어 넉넉하게 표시됩니다.&lt;/p&gt;
&lt;p data-end=&quot;2148&quot; data-start=&quot;2088&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-end=&quot;2335&quot; data-start=&quot;2326&quot; data-ke-size=&quot;size26&quot;&gt;  마무리&lt;/h2&gt;
&lt;p data-end=&quot;2390&quot; data-start=&quot;2337&quot; data-ke-size=&quot;size16&quot;&gt;엑셀 VBA를 활용하면 반복적인 레이아웃 작업도&lt;br /&gt;&lt;b&gt;단 1초 만에 자동화&lt;/b&gt;할 수 있습니다.&lt;/p&gt;
&lt;p data-end=&quot;2443&quot; data-start=&quot;2392&quot; data-ke-size=&quot;size16&quot;&gt;한 번 코드를 붙여두면,&lt;br /&gt;&lt;b&gt;앞으로 수십 수백 명의 라벨 작업도 클릭 한 번이면 끝!&lt;/b&gt;&lt;/p&gt;
&lt;blockquote data-end=&quot;2496&quot; data-start=&quot;2445&quot; data-ke-style=&quot;style1&quot;&gt;
&lt;p data-end=&quot;2496&quot; data-start=&quot;2447&quot; data-ke-size=&quot;size16&quot;&gt;이런 자동화 콘텐츠 유용하셨다면&lt;br /&gt;  &lt;b&gt;블로그 구독과 공감&lt;/b&gt;으로 응원해주세요!&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;fileblock&quot; data-ke-align=&quot;alignCenter&quot;&gt;&lt;a href=&quot;https://blog.kakaocdn.net/dn/cFpkx6/dJMb86BcS4K/W3s2GAaxZZAwl7oP896Fn0/%EC%9A%B0%ED%8E%B8%20%EB%B0%9C%EC%86%A1%20%EB%9D%BC%EB%B2%A8%EC%A7%80%20%EB%A7%8C%EB%93%A4%EA%B8%B0.xlsm?attach=1&amp;amp;knm=tfile.xlsm&quot; class=&quot;&quot;&gt;
    &lt;div class=&quot;image&quot;&gt;&lt;/div&gt;
    &lt;div class=&quot;desc&quot;&gt;&lt;div class=&quot;filename&quot;&gt;&lt;span class=&quot;name&quot;&gt;우편 발송 라벨지 만들기.xlsm&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;size&quot;&gt;0.03MB&lt;/div&gt;
&lt;/div&gt;
  &lt;/a&gt;&lt;/figure&gt;
&lt;/p&gt;</description>
      <category>DATA</category>
      <category>#엑셀VBA #우편라벨자동화 #주소라벨만들기 #엑셀매크로 #DM자동화 #엑셀우편번호라벨 #엑셀주소록활용 #엑셀자동테이블 #엑셀서식자동화 #실무VBA</category>
      <author>노만e</author>
      <guid isPermaLink="true">https://dream2049.tistory.com/181</guid>
      <comments>https://dream2049.tistory.com/181#entry181comment</comments>
      <pubDate>Mon, 8 Sep 2025 22:10:36 +0900</pubDate>
    </item>
    <item>
      <title>파일을 팀별 폴더로 이동하기</title>
      <link>https://dream2049.tistory.com/180</link>
      <description>&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;파일을 팀별 폴더로 이동하기.jpg&quot; data-origin-width=&quot;1080&quot; data-origin-height=&quot;1920&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bQzZqU/btsQoQesufF/0DoQ7zmpXrpZy4KQZgt5F0/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bQzZqU/btsQoQesufF/0DoQ7zmpXrpZy4KQZgt5F0/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bQzZqU/btsQoQesufF/0DoQ7zmpXrpZy4KQZgt5F0/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbQzZqU%2FbtsQoQesufF%2F0DoQ7zmpXrpZy4KQZgt5F0%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;446&quot; height=&quot;793&quot; data-filename=&quot;파일을 팀별 폴더로 이동하기.jpg&quot; data-origin-width=&quot;1080&quot; data-origin-height=&quot;1920&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-end=&quot;173&quot; data-start=&quot;128&quot; data-ke-size=&quot;size26&quot;&gt;  엑셀 VBA로 폴더 안 파일 자동 분류하기 &amp;ndash; 팀/파트별로 자동 이동!&lt;/h2&gt;
&lt;h3 data-end=&quot;201&quot; data-start=&quot;175&quot; data-ke-size=&quot;size23&quot;&gt;반복되는 파일 정리, 지치지 않으셨나요?&lt;/h3&gt;
&lt;p data-end=&quot;278&quot; data-start=&quot;203&quot; data-ke-size=&quot;size16&quot;&gt;업무를 하다 보면&lt;br /&gt;다양한 부서나 팀에서 만든 수많은 파일을&lt;br /&gt;&lt;b&gt;&quot;이름을 보고 하나하나 폴더에 넣는&quot;&lt;/b&gt; 일을 자주 하게 됩니다.&lt;/p&gt;
&lt;p data-end=&quot;316&quot; data-start=&quot;280&quot; data-ke-size=&quot;size16&quot;&gt;예를 들어, 아래처럼 된 파일들이 수십~수백 개 있다고 해볼게요:&lt;/p&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;span&gt;기획_전략_이순신.xlsx 디자인-UX-김유신.pdf 마케팅 콘텐츠 박지성.hwp 개발.백엔드.장보고.pptx &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p data-end=&quot;449&quot; data-start=&quot;397&quot; data-ke-size=&quot;size16&quot;&gt;이걸 하나하나 폴더를 만들고 정리한다면?&lt;br /&gt;&lt;b&gt;시간 낭비는 물론, 실수도 많고 지칩니다.&lt;/b&gt;&lt;/p&gt;
&lt;p data-end=&quot;462&quot; data-start=&quot;451&quot; data-ke-size=&quot;size16&quot;&gt;그래서 준비했습니다.&lt;/p&gt;
&lt;hr data-end=&quot;467&quot; data-start=&quot;464&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-end=&quot;500&quot; data-start=&quot;469&quot; data-ke-size=&quot;size23&quot;&gt;  엑셀 VBA 매크로로 자동 분류하는 방법은?&lt;/h3&gt;
&lt;p data-end=&quot;556&quot; data-start=&quot;502&quot; data-ke-size=&quot;size16&quot;&gt;이 매크로는&lt;br /&gt;&lt;b&gt;파일명을 분석해서 \팀\파트\파일명 구조로 자동 정리&lt;/b&gt;해주는 도구입니다.&lt;/p&gt;
&lt;h4 data-end=&quot;571&quot; data-start=&quot;558&quot; data-ke-size=&quot;size20&quot;&gt;✅ 작동 방식:&lt;/h4&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-end=&quot;798&quot; data-start=&quot;573&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li data-end=&quot;672&quot; data-start=&quot;573&quot;&gt;파일명에서 팀과 파트를 자동으로 인식합니다
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;672&quot; data-start=&quot;605&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;638&quot; data-start=&quot;605&quot;&gt;_, -, 공백, . 구분자 모두 허용&lt;/li&gt;
&lt;li data-end=&quot;672&quot; data-start=&quot;642&quot;&gt;예: 기획_전략_파일명 &amp;rarr; 기획\전략\파일명&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li data-end=&quot;694&quot; data-start=&quot;673&quot;&gt;해당 폴더가 없으면 자동 생성&lt;/li&gt;
&lt;li data-end=&quot;737&quot; data-start=&quot;695&quot;&gt;같은 이름 파일이 있으면 자동으로 (1), (2) 붙여 저장&lt;/li&gt;
&lt;li data-end=&quot;774&quot; data-start=&quot;738&quot;&gt;모든 확장자(.xlsx, .pptx, .pdf 등) 지원&lt;/li&gt;
&lt;li data-end=&quot;798&quot; data-start=&quot;775&quot;&gt;드라이브 간 이동도 안전하게 처리&lt;/li&gt;
&lt;/ol&gt;
&lt;h4 data-end=&quot;810&quot; data-start=&quot;800&quot; data-ke-size=&quot;size20&quot;&gt;✅ 예시:&lt;/h4&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;span&gt;  기획 &lt;span&gt; └   전략 └ 이순신.xlsx &lt;/span&gt;   디자인 &lt;span&gt; └   UX └ 김유신.pdf &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;hr data-end=&quot;905&quot; data-start=&quot;902&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-end=&quot;921&quot; data-start=&quot;907&quot; data-ke-size=&quot;size23&quot;&gt;❓ 자주 묻는 질문&lt;/h3&gt;
&lt;p data-end=&quot;1023&quot; data-start=&quot;923&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Q. 파일명이 완전히 규칙적이지 않아도 되나요?&lt;/b&gt;&lt;br /&gt;A. 어느 정도 규칙만 있으면 됩니다.&lt;br /&gt;구분자는 _, -, 공백, . 등을 모두 자동 인식합니다.&lt;/p&gt;
&lt;p data-end=&quot;1084&quot; data-start=&quot;1025&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Q. 이름 중에 한글/영문/숫자 모두 사용 가능한가요?&lt;/b&gt;&lt;br /&gt;A. 예, 유니코드 안전하게 처리됩니다.&lt;/p&gt;
&lt;p data-end=&quot;1162&quot; data-start=&quot;1086&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Q. 기존 폴더나 파일과 겹치면 어떻게 되나요?&lt;/b&gt;&lt;br /&gt;A. 같은 파일명이 있으면 (1), (2) 자동 넘버링되어 저장됩니다.&lt;/p&gt;
&lt;hr data-end=&quot;1167&quot; data-start=&quot;1164&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-end=&quot;1181&quot; data-start=&quot;1169&quot; data-ke-size=&quot;size23&quot;&gt;⚙️ 사용 방법&lt;/h3&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-end=&quot;1307&quot; data-start=&quot;1183&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li data-end=&quot;1213&quot; data-start=&quot;1183&quot;&gt;Alt + F11 &amp;rarr; 엑셀 VBA 편집기 실행&lt;/li&gt;
&lt;li data-end=&quot;1241&quot; data-start=&quot;1214&quot;&gt;새 모듈 삽입 &amp;rarr; 위 코드 전체 붙여넣기&lt;/li&gt;
&lt;li data-end=&quot;1288&quot; data-start=&quot;1242&quot;&gt;F5 또는 단축키로 OrganizeFilesByTeamPart 실행&lt;/li&gt;
&lt;li data-end=&quot;1307&quot; data-start=&quot;1289&quot;&gt;정리할 폴더를 선택하면 끝!&lt;/li&gt;
&lt;/ol&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;VBA 코드&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 100%;&quot;&gt;Option&amp;nbsp;Explicit &lt;br /&gt;&lt;br /&gt;'========================================================== &lt;br /&gt;'&amp;nbsp;&amp;nbsp;\팀\파트\파일&amp;nbsp;&amp;nbsp;구조로&amp;nbsp;분류/이동&amp;nbsp;(v3-all-clean:&amp;nbsp;로그&amp;nbsp;제거) &lt;br /&gt;'&amp;nbsp;&amp;nbsp;-&amp;nbsp;파일명&amp;nbsp;규칙:&amp;nbsp;팀_파트_이름.*&amp;nbsp;/&amp;nbsp;팀-파트-이름.*&amp;nbsp;/&amp;nbsp;&quot;팀&amp;nbsp;파트&amp;nbsp;이름.*&quot;&amp;nbsp;/&amp;nbsp;점(.)도&amp;nbsp;허용 &lt;br /&gt;'&amp;nbsp;&amp;nbsp;-&amp;nbsp;확장자&amp;nbsp;구분&amp;nbsp;없음:&amp;nbsp;모든&amp;nbsp;파일&amp;nbsp;이동 &lt;br /&gt;'&amp;nbsp;&amp;nbsp;-&amp;nbsp;이동:&amp;nbsp;FSO.MoveFile&amp;nbsp;(드라이브&amp;nbsp;간/유니코드&amp;nbsp;안정) &lt;br /&gt;'========================================================== &lt;br /&gt;&lt;br /&gt;Public&amp;nbsp;Sub&amp;nbsp;OrganizeFilesByTeamPart() &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;On&amp;nbsp;Error&amp;nbsp;GoTo&amp;nbsp;EH &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;rootFolder&amp;nbsp;As&amp;nbsp;String:&amp;nbsp;rootFolder&amp;nbsp;=&amp;nbsp;PickFolder(&quot;정리할&amp;nbsp;폴더를&amp;nbsp;선택하세요&quot;) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;Len(rootFolder)&amp;nbsp;=&amp;nbsp;0&amp;nbsp;Then&amp;nbsp;Exit&amp;nbsp;Sub &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;Right$(rootFolder,&amp;nbsp;1)&amp;nbsp;&amp;lt;&amp;gt;&amp;nbsp;&quot;\&quot;&amp;nbsp;Then&amp;nbsp;rootFolder&amp;nbsp;=&amp;nbsp;rootFolder&amp;nbsp;&amp;amp;&amp;nbsp;&quot;\&quot; &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;fso&amp;nbsp;As&amp;nbsp;Object:&amp;nbsp;Set&amp;nbsp;fso&amp;nbsp;=&amp;nbsp;CreateObject(&quot;Scripting.FileSystemObject&quot;) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;Not&amp;nbsp;fso.FolderExists(rootFolder)&amp;nbsp;Then&amp;nbsp;MsgBox&amp;nbsp;&quot;폴더가&amp;nbsp;없습니다:&amp;nbsp;&quot;&amp;nbsp;&amp;amp;&amp;nbsp;rootFolder:&amp;nbsp;Exit&amp;nbsp;Sub &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Application.ScreenUpdating&amp;nbsp;=&amp;nbsp;False &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Application.DisplayAlerts&amp;nbsp;=&amp;nbsp;False &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;f&amp;nbsp;As&amp;nbsp;Object &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;team&amp;nbsp;As&amp;nbsp;String,&amp;nbsp;part&amp;nbsp;As&amp;nbsp;String &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;destTeam&amp;nbsp;As&amp;nbsp;String,&amp;nbsp;destPart&amp;nbsp;As&amp;nbsp;String &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;destFileFull&amp;nbsp;As&amp;nbsp;String &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;For&amp;nbsp;Each&amp;nbsp;f&amp;nbsp;In&amp;nbsp;fso.GetFolder(rootFolder).Files &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;ParseTeamPartFlexible(f.Name,&amp;nbsp;team,&amp;nbsp;part)&amp;nbsp;Then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;team&amp;nbsp;=&amp;nbsp;SafeFolderName(team):&amp;nbsp;If&amp;nbsp;Len(team)&amp;nbsp;=&amp;nbsp;0&amp;nbsp;Then&amp;nbsp;team&amp;nbsp;=&amp;nbsp;&quot;팀미정&quot; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;part&amp;nbsp;=&amp;nbsp;SafeFolderName(part):&amp;nbsp;If&amp;nbsp;Len(part)&amp;nbsp;=&amp;nbsp;0&amp;nbsp;Then&amp;nbsp;part&amp;nbsp;=&amp;nbsp;&quot;파트미정&quot; &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;destTeam&amp;nbsp;=&amp;nbsp;rootFolder&amp;nbsp;&amp;amp;&amp;nbsp;team&amp;nbsp;&amp;amp;&amp;nbsp;&quot;\&quot; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;destPart&amp;nbsp;=&amp;nbsp;destTeam&amp;nbsp;&amp;amp;&amp;nbsp;part&amp;nbsp;&amp;amp;&amp;nbsp;&quot;\&quot; &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;EnsureFolderDeepFSO(fso,&amp;nbsp;destTeam)&amp;nbsp;And&amp;nbsp;EnsureFolderDeepFSO(fso,&amp;nbsp;destPart)&amp;nbsp;Then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;destFileFull&amp;nbsp;=&amp;nbsp;GetUniquePathFSO(fso,&amp;nbsp;destPart,&amp;nbsp;f.Name) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;IsValidPath(destFileFull)&amp;nbsp;Then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;StrComp(NormalizePath(f.Path),&amp;nbsp;NormalizePath(destFileFull),&amp;nbsp;vbTextCompare)&amp;nbsp;&amp;lt;&amp;gt;&amp;nbsp;0&amp;nbsp;Then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;On&amp;nbsp;Error&amp;nbsp;Resume&amp;nbsp;Next &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;fso.MoveFile&amp;nbsp;f.Path,&amp;nbsp;destFileFull &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Err.Clear &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;On&amp;nbsp;Error&amp;nbsp;GoTo&amp;nbsp;EH &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;If &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;If &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;If &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;If &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Next&amp;nbsp;f &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Application.ScreenUpdating&amp;nbsp;=&amp;nbsp;True &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Application.DisplayAlerts&amp;nbsp;=&amp;nbsp;True &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;MsgBox&amp;nbsp;&quot;정리&amp;nbsp;완료!&quot;,&amp;nbsp;vbInformation &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Exit&amp;nbsp;Sub &lt;br /&gt;&lt;br /&gt;EH: &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Application.ScreenUpdating&amp;nbsp;=&amp;nbsp;True &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Application.DisplayAlerts&amp;nbsp;=&amp;nbsp;True &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;MsgBox&amp;nbsp;&quot;오류:&amp;nbsp;&quot;&amp;nbsp;&amp;amp;&amp;nbsp;Err.Number&amp;nbsp;&amp;amp;&amp;nbsp;&quot;&amp;nbsp;-&amp;nbsp;&quot;&amp;nbsp;&amp;amp;&amp;nbsp;Err.Description,&amp;nbsp;vbExclamation &lt;br /&gt;End&amp;nbsp;Sub &lt;br /&gt;&lt;br /&gt;'----------------------------&amp;nbsp;파서&amp;nbsp;---------------------------- &lt;br /&gt;Private&amp;nbsp;Function&amp;nbsp;ParseTeamPartFlexible(ByVal&amp;nbsp;fileName&amp;nbsp;As&amp;nbsp;String,&amp;nbsp;_ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ByRef&amp;nbsp;team&amp;nbsp;As&amp;nbsp;String,&amp;nbsp;ByRef&amp;nbsp;part&amp;nbsp;As&amp;nbsp;String)&amp;nbsp;As&amp;nbsp;Boolean &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;base&amp;nbsp;As&amp;nbsp;String:&amp;nbsp;base&amp;nbsp;=&amp;nbsp;GetFileNameNoExt(fileName) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;s&amp;nbsp;As&amp;nbsp;String:&amp;nbsp;s&amp;nbsp;=&amp;nbsp;Trim$(base) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;구분자&amp;nbsp;통합:&amp;nbsp;-,&amp;nbsp;공백,&amp;nbsp;탭,&amp;nbsp;점(.)&amp;nbsp;&amp;rarr;&amp;nbsp;_ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;s&amp;nbsp;=&amp;nbsp;Replace(Replace(Replace(Replace(s,&amp;nbsp;&quot;-&quot;,&amp;nbsp;&quot;_&quot;),&amp;nbsp;&quot;&amp;nbsp;&quot;,&amp;nbsp;&quot;_&quot;),&amp;nbsp;vbTab,&amp;nbsp;&quot;_&quot;),&amp;nbsp;&quot;.&quot;,&amp;nbsp;&quot;_&quot;) &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;toks&amp;nbsp;As&amp;nbsp;Variant:&amp;nbsp;toks&amp;nbsp;=&amp;nbsp;Split(s,&amp;nbsp;&quot;_&quot;) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;IsArray(toks)&amp;nbsp;Then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;UBound(toks)&amp;nbsp;&amp;gt;=&amp;nbsp;1&amp;nbsp;Then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;team&amp;nbsp;=&amp;nbsp;Trim$(toks(0)) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;part&amp;nbsp;=&amp;nbsp;Trim$(toks(1)) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ParseTeamPartFlexible&amp;nbsp;=&amp;nbsp;(Len(team)&amp;nbsp;&amp;gt;&amp;nbsp;0&amp;nbsp;And&amp;nbsp;Len(part)&amp;nbsp;&amp;gt;&amp;nbsp;0) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;If &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;If &lt;br /&gt;End&amp;nbsp;Function &lt;br /&gt;&lt;br /&gt;'----------------------------&amp;nbsp;파일/폴더&amp;nbsp;유틸&amp;nbsp;(FSO&amp;nbsp;버전)&amp;nbsp;---------------------------- &lt;br /&gt;Private&amp;nbsp;Function&amp;nbsp;EnsureFolderDeepFSO(ByVal&amp;nbsp;fso&amp;nbsp;As&amp;nbsp;Object,&amp;nbsp;ByVal&amp;nbsp;folderPath&amp;nbsp;As&amp;nbsp;String)&amp;nbsp;As&amp;nbsp;Boolean &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;On&amp;nbsp;Error&amp;nbsp;GoTo&amp;nbsp;EH &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;p&amp;nbsp;As&amp;nbsp;String:&amp;nbsp;p&amp;nbsp;=&amp;nbsp;folderPath &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;Right$(p,&amp;nbsp;1)&amp;nbsp;=&amp;nbsp;&quot;\&quot;&amp;nbsp;Then&amp;nbsp;p&amp;nbsp;=&amp;nbsp;Left$(p,&amp;nbsp;Len(p)&amp;nbsp;-&amp;nbsp;1) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;Len(p)&amp;nbsp;=&amp;nbsp;0&amp;nbsp;Then&amp;nbsp;EnsureFolderDeepFSO&amp;nbsp;=&amp;nbsp;False:&amp;nbsp;Exit&amp;nbsp;Function &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;parts()&amp;nbsp;As&amp;nbsp;String,&amp;nbsp;i&amp;nbsp;As&amp;nbsp;Long,&amp;nbsp;acc&amp;nbsp;As&amp;nbsp;String &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;parts&amp;nbsp;=&amp;nbsp;Split(p,&amp;nbsp;&quot;\&quot;) &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;IsUNCPath(p)&amp;nbsp;Then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;UBound(parts)&amp;nbsp;&amp;lt;&amp;nbsp;3&amp;nbsp;Then&amp;nbsp;EnsureFolderDeepFSO&amp;nbsp;=&amp;nbsp;True:&amp;nbsp;Exit&amp;nbsp;Function&amp;nbsp;&amp;nbsp;'&amp;nbsp;\\server\share &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;acc&amp;nbsp;=&amp;nbsp;&quot;\\&quot;&amp;nbsp;&amp;amp;&amp;nbsp;parts(2)&amp;nbsp;&amp;amp;&amp;nbsp;&quot;\&quot;&amp;nbsp;&amp;amp;&amp;nbsp;parts(3) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;Not&amp;nbsp;fso.FolderExists(acc)&amp;nbsp;Then&amp;nbsp;fso.CreateFolder&amp;nbsp;acc &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;For&amp;nbsp;i&amp;nbsp;=&amp;nbsp;4&amp;nbsp;To&amp;nbsp;UBound(parts) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;acc&amp;nbsp;=&amp;nbsp;acc&amp;nbsp;&amp;amp;&amp;nbsp;&quot;\&quot;&amp;nbsp;&amp;amp;&amp;nbsp;parts(i) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;Not&amp;nbsp;fso.FolderExists(acc)&amp;nbsp;Then&amp;nbsp;fso.CreateFolder&amp;nbsp;acc &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Next&amp;nbsp;i &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Else &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;acc&amp;nbsp;=&amp;nbsp;parts(0) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;For&amp;nbsp;i&amp;nbsp;=&amp;nbsp;1&amp;nbsp;To&amp;nbsp;UBound(parts) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;acc&amp;nbsp;=&amp;nbsp;acc&amp;nbsp;&amp;amp;&amp;nbsp;&quot;\&quot;&amp;nbsp;&amp;amp;&amp;nbsp;parts(i) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;Not&amp;nbsp;fso.FolderExists(acc)&amp;nbsp;Then&amp;nbsp;fso.CreateFolder&amp;nbsp;acc &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Next&amp;nbsp;i &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;If &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;EnsureFolderDeepFSO&amp;nbsp;=&amp;nbsp;True &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Exit&amp;nbsp;Function &lt;br /&gt;EH: &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;EnsureFolderDeepFSO&amp;nbsp;=&amp;nbsp;False &lt;br /&gt;End&amp;nbsp;Function &lt;br /&gt;&lt;br /&gt;Private&amp;nbsp;Function&amp;nbsp;GetUniquePathFSO(ByVal&amp;nbsp;fso&amp;nbsp;As&amp;nbsp;Object,&amp;nbsp;ByVal&amp;nbsp;baseFolder&amp;nbsp;As&amp;nbsp;String,&amp;nbsp;ByVal&amp;nbsp;fileName&amp;nbsp;As&amp;nbsp;String)&amp;nbsp;As&amp;nbsp;String &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;Right$(baseFolder,&amp;nbsp;1)&amp;nbsp;&amp;lt;&amp;gt;&amp;nbsp;&quot;\&quot;&amp;nbsp;Then&amp;nbsp;baseFolder&amp;nbsp;=&amp;nbsp;baseFolder&amp;nbsp;&amp;amp;&amp;nbsp;&quot;\&quot; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;nameNoExt&amp;nbsp;As&amp;nbsp;String:&amp;nbsp;nameNoExt&amp;nbsp;=&amp;nbsp;GetFileNameNoExt(fileName) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;ext&amp;nbsp;As&amp;nbsp;String:&amp;nbsp;ext&amp;nbsp;=&amp;nbsp;GetFileExt(fileName) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;tryPath&amp;nbsp;As&amp;nbsp;String:&amp;nbsp;tryPath&amp;nbsp;=&amp;nbsp;baseFolder&amp;nbsp;&amp;amp;&amp;nbsp;nameNoExt&amp;nbsp;&amp;amp;&amp;nbsp;IIf(ext&amp;nbsp;&amp;lt;&amp;gt;&amp;nbsp;&quot;&quot;,&amp;nbsp;&quot;.&quot;&amp;nbsp;&amp;amp;&amp;nbsp;ext,&amp;nbsp;&quot;&quot;) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;Not&amp;nbsp;fso.FileExists(tryPath)&amp;nbsp;Then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;GetUniquePathFSO&amp;nbsp;=&amp;nbsp;tryPath:&amp;nbsp;Exit&amp;nbsp;Function &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;If &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;n&amp;nbsp;As&amp;nbsp;Long:&amp;nbsp;n&amp;nbsp;=&amp;nbsp;1 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Do &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;tryPath&amp;nbsp;=&amp;nbsp;baseFolder&amp;nbsp;&amp;amp;&amp;nbsp;nameNoExt&amp;nbsp;&amp;amp;&amp;nbsp;&quot;&amp;nbsp;(&quot;&amp;nbsp;&amp;amp;&amp;nbsp;n&amp;nbsp;&amp;amp;&amp;nbsp;&quot;)&quot;&amp;nbsp;&amp;amp;&amp;nbsp;IIf(ext&amp;nbsp;&amp;lt;&amp;gt;&amp;nbsp;&quot;&quot;,&amp;nbsp;&quot;.&quot;&amp;nbsp;&amp;amp;&amp;nbsp;ext,&amp;nbsp;&quot;&quot;) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;Not&amp;nbsp;fso.FileExists(tryPath)&amp;nbsp;Then&amp;nbsp;GetUniquePathFSO&amp;nbsp;=&amp;nbsp;tryPath:&amp;nbsp;Exit&amp;nbsp;Function &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;n&amp;nbsp;=&amp;nbsp;n&amp;nbsp;+&amp;nbsp;1 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Loop &lt;br /&gt;End&amp;nbsp;Function &lt;br /&gt;&lt;br /&gt;Private&amp;nbsp;Function&amp;nbsp;GetFileExt(ByVal&amp;nbsp;fileName&amp;nbsp;As&amp;nbsp;String)&amp;nbsp;As&amp;nbsp;String &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;p&amp;nbsp;As&amp;nbsp;Long:&amp;nbsp;p&amp;nbsp;=&amp;nbsp;InStrRev(fileName,&amp;nbsp;&quot;.&quot;) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;p&amp;nbsp;&amp;gt;&amp;nbsp;0&amp;nbsp;Then&amp;nbsp;GetFileExt&amp;nbsp;=&amp;nbsp;Mid$(fileName,&amp;nbsp;p&amp;nbsp;+&amp;nbsp;1)&amp;nbsp;Else&amp;nbsp;GetFileExt&amp;nbsp;=&amp;nbsp;&quot;&quot; &lt;br /&gt;End&amp;nbsp;Function &lt;br /&gt;&lt;br /&gt;Private&amp;nbsp;Function&amp;nbsp;GetFileNameNoExt(ByVal&amp;nbsp;fileName&amp;nbsp;As&amp;nbsp;String)&amp;nbsp;As&amp;nbsp;String &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;p&amp;nbsp;As&amp;nbsp;Long:&amp;nbsp;p&amp;nbsp;=&amp;nbsp;InStrRev(fileName,&amp;nbsp;&quot;.&quot;) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;p&amp;nbsp;&amp;gt;&amp;nbsp;0&amp;nbsp;Then&amp;nbsp;GetFileNameNoExt&amp;nbsp;=&amp;nbsp;Left$(fileName,&amp;nbsp;p&amp;nbsp;-&amp;nbsp;1)&amp;nbsp;Else&amp;nbsp;GetFileNameNoExt&amp;nbsp;=&amp;nbsp;fileName &lt;br /&gt;End&amp;nbsp;Function &lt;br /&gt;&lt;br /&gt;Private&amp;nbsp;Function&amp;nbsp;SafeFolderName(ByVal&amp;nbsp;s&amp;nbsp;As&amp;nbsp;String)&amp;nbsp;As&amp;nbsp;String &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;bad&amp;nbsp;As&amp;nbsp;Variant,&amp;nbsp;i&amp;nbsp;As&amp;nbsp;Long &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;bad&amp;nbsp;=&amp;nbsp;Array(&quot;\&quot;,&amp;nbsp;&quot;/&quot;,&amp;nbsp;&quot;:&quot;,&amp;nbsp;&quot;*&quot;,&amp;nbsp;&quot;?&quot;,&amp;nbsp;&quot;&quot;&quot;&quot;,&amp;nbsp;&quot;&amp;lt;&quot;,&amp;nbsp;&quot;&amp;gt;&quot;,&amp;nbsp;&quot;|&quot;) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;For&amp;nbsp;i&amp;nbsp;=&amp;nbsp;LBound(bad)&amp;nbsp;To&amp;nbsp;UBound(bad) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;s&amp;nbsp;=&amp;nbsp;Replace$(s,&amp;nbsp;bad(i),&amp;nbsp;&quot;&amp;nbsp;&quot;) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Next &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;s&amp;nbsp;=&amp;nbsp;Trim$(s) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Do&amp;nbsp;While&amp;nbsp;Len(s)&amp;nbsp;&amp;gt;&amp;nbsp;0&amp;nbsp;And&amp;nbsp;(Right$(s,&amp;nbsp;1)&amp;nbsp;=&amp;nbsp;&quot;.&quot;&amp;nbsp;Or&amp;nbsp;Right$(s,&amp;nbsp;1)&amp;nbsp;=&amp;nbsp;&quot;&amp;nbsp;&quot;) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;s&amp;nbsp;=&amp;nbsp;Left$(s,&amp;nbsp;Len(s)&amp;nbsp;-&amp;nbsp;1) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Loop &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;예약&amp;nbsp;장치명&amp;nbsp;회피 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;dev&amp;nbsp;As&amp;nbsp;Variant &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;dev&amp;nbsp;=&amp;nbsp;Array(&quot;CON&quot;,&amp;nbsp;&quot;PRN&quot;,&amp;nbsp;&quot;AUX&quot;,&amp;nbsp;&quot;NUL&quot;,&amp;nbsp;_ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&quot;COM1&quot;,&amp;nbsp;&quot;COM2&quot;,&amp;nbsp;&quot;COM3&quot;,&amp;nbsp;&quot;COM4&quot;,&amp;nbsp;&quot;COM5&quot;,&amp;nbsp;&quot;COM6&quot;,&amp;nbsp;&quot;COM7&quot;,&amp;nbsp;&quot;COM8&quot;,&amp;nbsp;&quot;COM9&quot;,&amp;nbsp;_ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&quot;LPT1&quot;,&amp;nbsp;&quot;LPT2&quot;,&amp;nbsp;&quot;LPT3&quot;,&amp;nbsp;&quot;LPT4&quot;,&amp;nbsp;&quot;LPT5&quot;,&amp;nbsp;&quot;LPT6&quot;,&amp;nbsp;&quot;LPT7&quot;,&amp;nbsp;&quot;LPT8&quot;,&amp;nbsp;&quot;LPT9&quot;) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;For&amp;nbsp;i&amp;nbsp;=&amp;nbsp;LBound(dev)&amp;nbsp;To&amp;nbsp;UBound(dev) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;StrComp(s,&amp;nbsp;CStr(dev(i)),&amp;nbsp;vbTextCompare)&amp;nbsp;=&amp;nbsp;0&amp;nbsp;Then&amp;nbsp;s&amp;nbsp;=&amp;nbsp;s&amp;nbsp;&amp;amp;&amp;nbsp;&quot;_&quot; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Next &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;SafeFolderName&amp;nbsp;=&amp;nbsp;s &lt;br /&gt;End&amp;nbsp;Function &lt;br /&gt;&lt;br /&gt;Private&amp;nbsp;Function&amp;nbsp;NormalizePath(ByVal&amp;nbsp;p&amp;nbsp;As&amp;nbsp;String)&amp;nbsp;As&amp;nbsp;String &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;Right$(p,&amp;nbsp;1)&amp;nbsp;=&amp;nbsp;&quot;\&quot;&amp;nbsp;Then&amp;nbsp;p&amp;nbsp;=&amp;nbsp;Left$(p,&amp;nbsp;Len(p)&amp;nbsp;-&amp;nbsp;1) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;NormalizePath&amp;nbsp;=&amp;nbsp;p &lt;br /&gt;End&amp;nbsp;Function &lt;br /&gt;&lt;br /&gt;Private&amp;nbsp;Function&amp;nbsp;IsValidPath(ByVal&amp;nbsp;p&amp;nbsp;As&amp;nbsp;String)&amp;nbsp;As&amp;nbsp;Boolean &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;IsValidPath&amp;nbsp;=&amp;nbsp;True &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;Len(p)&amp;nbsp;&amp;gt;&amp;nbsp;259&amp;nbsp;Then&amp;nbsp;IsValidPath&amp;nbsp;=&amp;nbsp;False:&amp;nbsp;Exit&amp;nbsp;Function &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;Len(p)&amp;nbsp;&amp;gt;&amp;nbsp;0&amp;nbsp;Then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;Right$(p,&amp;nbsp;1)&amp;nbsp;=&amp;nbsp;&quot;.&quot;&amp;nbsp;Or&amp;nbsp;Right$(p,&amp;nbsp;1)&amp;nbsp;=&amp;nbsp;&quot;&amp;nbsp;&quot;&amp;nbsp;Then&amp;nbsp;IsValidPath&amp;nbsp;=&amp;nbsp;False &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;If &lt;br /&gt;End&amp;nbsp;Function &lt;br /&gt;&lt;br /&gt;Private&amp;nbsp;Function&amp;nbsp;IsUNCPath(ByVal&amp;nbsp;p&amp;nbsp;As&amp;nbsp;String)&amp;nbsp;As&amp;nbsp;Boolean &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;IsUNCPath&amp;nbsp;=&amp;nbsp;(Len(p)&amp;nbsp;&amp;gt;=&amp;nbsp;2&amp;nbsp;And&amp;nbsp;Left$(p,&amp;nbsp;2)&amp;nbsp;=&amp;nbsp;&quot;\\&quot;) &lt;br /&gt;End&amp;nbsp;Function &lt;br /&gt;&lt;br /&gt;'----------------------------&amp;nbsp;폴더&amp;nbsp;선택&amp;nbsp;---------------------------- &lt;br /&gt;Private&amp;nbsp;Function&amp;nbsp;PickFolder(ByVal&amp;nbsp;title&amp;nbsp;As&amp;nbsp;String)&amp;nbsp;As&amp;nbsp;String &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;With&amp;nbsp;Application.FileDialog(msoFileDialogFolderPicker) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.title&amp;nbsp;=&amp;nbsp;title &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.AllowMultiSelect&amp;nbsp;=&amp;nbsp;False &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;.Show&amp;nbsp;=&amp;nbsp;-1&amp;nbsp;Then&amp;nbsp;PickFolder&amp;nbsp;=&amp;nbsp;.SelectedItems(1)&amp;nbsp;Else&amp;nbsp;PickFolder&amp;nbsp;=&amp;nbsp;&quot;&quot; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;With &lt;br /&gt;End&amp;nbsp;Function &lt;br /&gt;&lt;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-end=&quot;1334&quot; data-start=&quot;1314&quot; data-ke-size=&quot;size23&quot;&gt;✨ 이런 분께 강력 추천합니다&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1440&quot; data-start=&quot;1336&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1361&quot; data-start=&quot;1336&quot;&gt;팀 파일을 체계적으로 정리하고 싶은 분&lt;/li&gt;
&lt;li data-end=&quot;1387&quot; data-start=&quot;1362&quot;&gt;문서 자동 분류 시스템이 필요한 관리자&lt;/li&gt;
&lt;li data-end=&quot;1415&quot; data-start=&quot;1388&quot;&gt;보고서, 자료, 산출물이 많은 부서 담당자&lt;/li&gt;
&lt;li data-end=&quot;1440&quot; data-start=&quot;1416&quot;&gt;매번 수작업으로 정리하다 지친 실무자&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-end=&quot;1445&quot; data-start=&quot;1442&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-end=&quot;1459&quot; data-start=&quot;1447&quot; data-ke-size=&quot;size23&quot;&gt;✅ 마무리 요약&lt;/h3&gt;
&lt;div&gt;
&lt;div&gt;기능설명
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-end=&quot;1606&quot; data-start=&quot;1461&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody data-end=&quot;1606&quot; data-start=&quot;1489&quot;&gt;
&lt;tr data-end=&quot;1518&quot; data-start=&quot;1489&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;1500&quot; data-start=&quot;1489&quot;&gt;파일 정리 기준&lt;/td&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;1518&quot; data-start=&quot;1500&quot;&gt;팀_파트_이름.* 형식&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;1547&quot; data-start=&quot;1519&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;1530&quot; data-start=&quot;1519&quot;&gt;자동 생성 폴더&lt;/td&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;1547&quot; data-start=&quot;1530&quot;&gt;팀\파트 구조로 생성&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;1579&quot; data-start=&quot;1548&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;1559&quot; data-start=&quot;1548&quot;&gt;파일 처리 방식&lt;/td&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;1579&quot; data-start=&quot;1559&quot;&gt;이동 (MoveFile 사용)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;1606&quot; data-start=&quot;1580&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;1589&quot; data-start=&quot;1580&quot;&gt;지원 확장자&lt;/td&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;1606&quot; data-start=&quot;1589&quot;&gt;제한 없음 (모든 파일)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p data-end=&quot;1658&quot; data-start=&quot;1608&quot; data-ke-size=&quot;size16&quot;&gt;이 매크로 하나면,&lt;br /&gt;&lt;b&gt;1초 만에 수백 개의 파일을 체계적으로 정리할 수 있습니다.&lt;/b&gt;&lt;/p&gt;
&lt;hr data-end=&quot;1663&quot; data-start=&quot;1660&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;p data-end=&quot;1734&quot; data-start=&quot;1665&quot; data-ke-size=&quot;size16&quot;&gt;  &lt;b&gt;실무 자동화 VBA 매크로, 더 받아보고 싶으신가요?&lt;/b&gt;&lt;br /&gt;&lt;b&gt;  블로그 구독하고 최신 매크로 예제 받아보기&lt;/b&gt;&lt;/p&gt;
&lt;p data-end=&quot;1744&quot; data-start=&quot;1736&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-end=&quot;1744&quot; data-start=&quot;1736&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;fileblock&quot; data-ke-align=&quot;alignCenter&quot;&gt;&lt;a href=&quot;https://blog.kakaocdn.net/dn/mcPr1/dJMb9PsG0OR/za4QPvN8mnvvVjt2kTFSMk/%ED%8C%8C%EC%9D%BC%EC%9D%84%20%ED%8C%80%EB%B3%84%20%ED%8F%B4%EB%8D%94%EB%A1%9C%20%EC%9D%B4%EB%8F%99%ED%95%98%EA%B8%B0.xlsm?attach=1&amp;amp;knm=tfile.xlsm&quot; class=&quot;&quot;&gt;
    &lt;div class=&quot;image&quot;&gt;&lt;/div&gt;
    &lt;div class=&quot;desc&quot;&gt;&lt;div class=&quot;filename&quot;&gt;&lt;span class=&quot;name&quot;&gt;파일을 팀별 폴더로 이동하기.xlsm&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;size&quot;&gt;0.03MB&lt;/div&gt;
&lt;/div&gt;
  &lt;/a&gt;&lt;/figure&gt;
&lt;/p&gt;</description>
      <category>File</category>
      <category>#엑셀매크로 #VBA파일정리 #엑셀자동화 #팀별폴더정리 #파일명분석 #실무자동화 #파일분류매크로 #사무자동화 #엑셀VBA예제 #파일자동정리</category>
      <author>노만e</author>
      <guid isPermaLink="true">https://dream2049.tistory.com/180</guid>
      <comments>https://dream2049.tistory.com/180#entry180comment</comments>
      <pubDate>Sat, 6 Sep 2025 05:24:16 +0900</pubDate>
    </item>
    <item>
      <title>자재명판 라벨 문서 만들기</title>
      <link>https://dream2049.tistory.com/179</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;자재 명판 라벨 만들기.jpg&quot; data-origin-width=&quot;910&quot; data-origin-height=&quot;665&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/I6uDS/btsQlCHXYaA/dfvyUsp9hwoqMKZHiqGSaK/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/I6uDS/btsQlCHXYaA/dfvyUsp9hwoqMKZHiqGSaK/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/I6uDS/btsQlCHXYaA/dfvyUsp9hwoqMKZHiqGSaK/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FI6uDS%2FbtsQlCHXYaA%2FdfvyUsp9hwoqMKZHiqGSaK%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;622&quot; height=&quot;455&quot; data-filename=&quot;자재 명판 라벨 만들기.jpg&quot; data-origin-width=&quot;910&quot; data-origin-height=&quot;665&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;자재명판을&amp;nbsp;매번&amp;nbsp;복사해서&amp;nbsp;붙여넣으시나요? &lt;br /&gt;&lt;br /&gt;현장에서&amp;nbsp;자재명판을&amp;nbsp;출력하거나,&amp;nbsp;제품&amp;nbsp;라벨을&amp;nbsp;준비할&amp;nbsp;때&amp;nbsp;&amp;nbsp; &lt;br /&gt;하나하나&amp;nbsp;복사해서&amp;nbsp;내용을&amp;nbsp;바꾸고&amp;nbsp;붙이는&amp;nbsp;반복&amp;nbsp;작업에&amp;nbsp;시간을&amp;nbsp;쓰고&amp;nbsp;계시다면&amp;nbsp;&amp;nbsp; &lt;br /&gt;이&amp;nbsp;매크로&amp;nbsp;하나면&amp;nbsp;업무&amp;nbsp;시간을&amp;nbsp;90%&amp;nbsp;이상&amp;nbsp;단축시킬&amp;nbsp;수&amp;nbsp;있습니다. &lt;br /&gt;&lt;br /&gt;특히&amp;nbsp;자재&amp;nbsp;리스트가&amp;nbsp;수십,&amp;nbsp;수백&amp;nbsp;개일&amp;nbsp;경우엔&amp;nbsp;&amp;nbsp; &lt;br /&gt;자동화의&amp;nbsp;효과가&amp;nbsp;훨씬&amp;nbsp;더&amp;nbsp;커지게&amp;nbsp;됩니다. &lt;br /&gt;&lt;br /&gt;엑셀에서&amp;nbsp;자재명판을&amp;nbsp;자동으로&amp;nbsp;만들&amp;nbsp;수&amp;nbsp;있을까요? &lt;br /&gt;&lt;br /&gt;오늘&amp;nbsp;소개하는&amp;nbsp;이&amp;nbsp;엑셀&amp;nbsp;VBA&amp;nbsp;매크로는&amp;nbsp;&amp;nbsp; &lt;br /&gt;자재&amp;nbsp;리스트에서&amp;nbsp;데이터를&amp;nbsp;읽고,&amp;nbsp;&amp;nbsp; &lt;br /&gt;사용자가&amp;nbsp;지정한&amp;nbsp;템플릿을&amp;nbsp;**수량만큼&amp;nbsp;자동&amp;nbsp;복제**하여&amp;nbsp;&amp;nbsp; &lt;br /&gt;각&amp;nbsp;항목에&amp;nbsp;맞게&amp;nbsp;자재&amp;nbsp;정보를&amp;nbsp;채워&amp;nbsp;넣는&amp;nbsp;도구입니다. &lt;br /&gt;&lt;br /&gt;또한&amp;nbsp;가로&amp;nbsp;개수,&amp;nbsp;간격,&amp;nbsp;행&amp;nbsp;높이까지&amp;nbsp;입력&amp;nbsp;받아&amp;nbsp;&amp;nbsp; &lt;br /&gt;**자유롭게&amp;nbsp;그리드&amp;nbsp;형태로&amp;nbsp;배치**되므로&amp;nbsp;&amp;nbsp; &lt;br /&gt;A4&amp;nbsp;출력&amp;nbsp;기준&amp;nbsp;라벨&amp;nbsp;작업에도&amp;nbsp;바로&amp;nbsp;활용할&amp;nbsp;수&amp;nbsp;있습니다. &lt;br /&gt;&lt;br /&gt;이&amp;nbsp;매크로의&amp;nbsp;핵심&amp;nbsp;기능은&amp;nbsp;다음과&amp;nbsp;같습니다: &lt;br /&gt;&lt;br /&gt;1.&amp;nbsp;템플릿&amp;nbsp;범위를&amp;nbsp;직접&amp;nbsp;선택&amp;nbsp;(자재명,&amp;nbsp;모델명,&amp;nbsp;규격&amp;nbsp;등&amp;nbsp;포함&amp;nbsp;영역)&amp;nbsp;&amp;nbsp; &lt;br /&gt;2.&amp;nbsp;자재리스트(A~E열)에&amp;nbsp;있는&amp;nbsp;데이터를&amp;nbsp;행&amp;nbsp;단위로&amp;nbsp;읽음&amp;nbsp;&amp;nbsp; &lt;br /&gt;3.&amp;nbsp;자재&amp;nbsp;수만큼&amp;nbsp;템플릿을&amp;nbsp;복사하여&amp;nbsp;시트에&amp;nbsp;자동&amp;nbsp;배치&amp;nbsp;&amp;nbsp; &lt;br /&gt;4.&amp;nbsp;각&amp;nbsp;블록에&amp;nbsp;자재&amp;nbsp;데이터를&amp;nbsp;자동으로&amp;nbsp;입력&amp;nbsp;&amp;nbsp; &lt;br /&gt;5.&amp;nbsp;외곽&amp;nbsp;테두리&amp;nbsp;적용&amp;nbsp;+&amp;nbsp;병합&amp;nbsp;셀&amp;nbsp;포함&amp;nbsp;영역도&amp;nbsp;안정&amp;nbsp;처리&amp;nbsp;&amp;nbsp; &lt;br /&gt;6.&amp;nbsp;시리얼&amp;nbsp;번호는&amp;nbsp;텍스트&amp;nbsp;형식으로&amp;nbsp;유지&amp;nbsp;&amp;nbsp; &lt;br /&gt;7.&amp;nbsp;제작일(제조년월일)은&amp;nbsp;날짜&amp;nbsp;형식으로&amp;nbsp;자동&amp;nbsp;포맷&amp;nbsp;적용 &lt;br /&gt;&lt;br /&gt;활용&amp;nbsp;예시는&amp;nbsp;다음과&amp;nbsp;같습니다: &lt;br /&gt;&lt;br /&gt;-&amp;nbsp;제품&amp;nbsp;라벨,&amp;nbsp;명판&amp;nbsp;자동&amp;nbsp;출력&amp;nbsp;&amp;nbsp; &lt;br /&gt;-&amp;nbsp;교육용&amp;nbsp;카드&amp;nbsp;제작&amp;nbsp;&amp;nbsp; &lt;br /&gt;-&amp;nbsp;시리얼&amp;nbsp;넘버&amp;nbsp;및&amp;nbsp;제조정보가&amp;nbsp;포함된&amp;nbsp;명세서&amp;nbsp;자동&amp;nbsp;생성&amp;nbsp;&amp;nbsp; &lt;br /&gt;-&amp;nbsp;라벨지&amp;nbsp;출력용&amp;nbsp;그리드&amp;nbsp;배치&amp;nbsp;자동화&amp;nbsp;&amp;nbsp; &lt;br /&gt;-&amp;nbsp;출력물을&amp;nbsp;위한&amp;nbsp;A4&amp;nbsp;맞춤&amp;nbsp;데이터&amp;nbsp;정리 &lt;br /&gt;&lt;br /&gt;사용&amp;nbsp;방법도&amp;nbsp;매우&amp;nbsp;간단합니다: &lt;br /&gt;&lt;br /&gt;1.&amp;nbsp;자재명판&amp;nbsp;시트에&amp;nbsp;샘플&amp;nbsp;템플릿을&amp;nbsp;만듭니다&amp;nbsp;(2~5행&amp;nbsp;정도)&amp;nbsp;&amp;nbsp; &lt;br /&gt;2.&amp;nbsp;자재리스트&amp;nbsp;시트에&amp;nbsp;데이터(자재명,&amp;nbsp;모델명&amp;nbsp;등)를&amp;nbsp;입력&amp;nbsp;&amp;nbsp; &lt;br /&gt;3.&amp;nbsp;매크로&amp;nbsp;실행&amp;nbsp;후,&amp;nbsp;템플릿&amp;nbsp;범위를&amp;nbsp;마우스로&amp;nbsp;선택&amp;nbsp;&amp;nbsp; &lt;br /&gt;4.&amp;nbsp;가로&amp;nbsp;개수,&amp;nbsp;간격,&amp;nbsp;행&amp;nbsp;높이&amp;nbsp;입력&amp;nbsp;&amp;nbsp; &lt;br /&gt;5.&amp;nbsp;자동으로&amp;nbsp;템플릿이&amp;nbsp;복제되어&amp;nbsp;데이터가&amp;nbsp;채워집니다 &lt;br /&gt;&lt;br /&gt;매번&amp;nbsp;수작업으로&amp;nbsp;만들던&amp;nbsp;자재명판,&amp;nbsp;&amp;nbsp; &lt;br /&gt;이제는&amp;nbsp;버튼&amp;nbsp;한&amp;nbsp;번이면&amp;nbsp;끝입니다. &lt;br /&gt;&lt;br /&gt;이&amp;nbsp;매크로의&amp;nbsp;장점은&amp;nbsp;다음과&amp;nbsp;같습니다: &lt;br /&gt;&lt;br /&gt;-&amp;nbsp;템플릿&amp;nbsp;범위를&amp;nbsp;자유롭게&amp;nbsp;설정&amp;nbsp;가능&amp;nbsp;(어떤&amp;nbsp;형태도&amp;nbsp;적용&amp;nbsp;가능)&amp;nbsp;&amp;nbsp; &lt;br /&gt;-&amp;nbsp;데이터&amp;nbsp;개수만큼&amp;nbsp;자동&amp;nbsp;생성&amp;nbsp;(누락&amp;nbsp;없음)&amp;nbsp;&amp;nbsp; &lt;br /&gt;-&amp;nbsp;간격,&amp;nbsp;정렬,&amp;nbsp;배치&amp;nbsp;방식&amp;nbsp;사용자&amp;nbsp;정의&amp;nbsp;&amp;nbsp; &lt;br /&gt;-&amp;nbsp;시리얼번호나&amp;nbsp;날짜&amp;nbsp;포맷도&amp;nbsp;안전&amp;nbsp;처리&amp;nbsp;&amp;nbsp; &lt;br /&gt;-&amp;nbsp;시트&amp;nbsp;영역&amp;nbsp;자동&amp;nbsp;정리&amp;nbsp;기능&amp;nbsp;포함&amp;nbsp;(기존&amp;nbsp;내용&amp;nbsp;삭제) &lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;VBA 코드&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 100%;&quot;&gt;Option&amp;nbsp;Explicit &lt;br /&gt;&lt;br /&gt;'&amp;nbsp;============================================ &lt;br /&gt;'&amp;nbsp;버튼:&amp;nbsp;자재&amp;nbsp;리스트&amp;nbsp;가져오기&amp;nbsp;(템플릿&amp;nbsp;범위&amp;nbsp;선택형) &lt;br /&gt;'&amp;nbsp;1)&amp;nbsp;템플릿&amp;nbsp;범위를&amp;nbsp;직접&amp;nbsp;선택(Type:=8) &lt;br /&gt;'&amp;nbsp;2)&amp;nbsp;자재리스트(A:E&amp;nbsp;헤더&amp;nbsp;기준)&amp;nbsp;읽기 &lt;br /&gt;'&amp;nbsp;3)&amp;nbsp;선택&amp;nbsp;템플릿을&amp;nbsp;수량만큼&amp;nbsp;복사&amp;nbsp;&amp;amp;&amp;nbsp;각&amp;nbsp;블록&amp;nbsp;채우기 &lt;br /&gt;'&amp;nbsp;4)&amp;nbsp;가로&amp;nbsp;배치&amp;nbsp;개수/간격도&amp;nbsp;입력받아&amp;nbsp;그리드&amp;nbsp;배치 &lt;br /&gt;'&amp;nbsp;============================================ &lt;br /&gt;Public&amp;nbsp;Sub&amp;nbsp;자재리스트_가져오기_템플릿선택() &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Const&amp;nbsp;SRC&amp;nbsp;As&amp;nbsp;String&amp;nbsp;=&amp;nbsp;&quot;자재리스트&quot; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Const&amp;nbsp;DST&amp;nbsp;As&amp;nbsp;String&amp;nbsp;=&amp;nbsp;&quot;자재명판&quot; &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;wsS&amp;nbsp;As&amp;nbsp;Worksheet,&amp;nbsp;wsD&amp;nbsp;As&amp;nbsp;Worksheet &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;tpl&amp;nbsp;As&amp;nbsp;Range,&amp;nbsp;tplTL&amp;nbsp;As&amp;nbsp;Range &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;blkW&amp;nbsp;As&amp;nbsp;Long,&amp;nbsp;blkH&amp;nbsp;As&amp;nbsp;Long &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;colsPerRow&amp;nbsp;As&amp;nbsp;Long,&amp;nbsp;hGap&amp;nbsp;As&amp;nbsp;Long,&amp;nbsp;vGap&amp;nbsp;As&amp;nbsp;Long &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;map&amp;nbsp;As&amp;nbsp;Object &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;lastRow&amp;nbsp;As&amp;nbsp;Long,&amp;nbsp;r&amp;nbsp;As&amp;nbsp;Long,&amp;nbsp;n&amp;nbsp;As&amp;nbsp;Long &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;rowIdx&amp;nbsp;As&amp;nbsp;Long,&amp;nbsp;colIdx&amp;nbsp;As&amp;nbsp;Long &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;tgtTL&amp;nbsp;As&amp;nbsp;Range,&amp;nbsp;tgtBlk&amp;nbsp;As&amp;nbsp;Range &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;dat(1&amp;nbsp;To&amp;nbsp;5)&amp;nbsp;As&amp;nbsp;Variant &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;rowHeight&amp;nbsp;As&amp;nbsp;Double &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;doClear&amp;nbsp;As&amp;nbsp;VbMsgBoxResult &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set&amp;nbsp;wsS&amp;nbsp;=&amp;nbsp;ThisWorkbook.Worksheets(SRC) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set&amp;nbsp;wsD&amp;nbsp;=&amp;nbsp;ThisWorkbook.Worksheets(DST) &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;1)&amp;nbsp;템플릿&amp;nbsp;범위&amp;nbsp;선택&amp;nbsp;(자재명판&amp;nbsp;시트에서) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;On&amp;nbsp;Error&amp;nbsp;Resume&amp;nbsp;Next &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set&amp;nbsp;tpl&amp;nbsp;=&amp;nbsp;Application.InputBox(&amp;nbsp;_ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Prompt:=&quot;자재명판의&amp;nbsp;'템플릿&amp;nbsp;샘플&amp;nbsp;범위'를&amp;nbsp;드래그해&amp;nbsp;선택하세요.&quot;&amp;nbsp;&amp;amp;&amp;nbsp;vbCrLf&amp;nbsp;&amp;amp;&amp;nbsp;_ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&quot;예:&amp;nbsp;자재명/모델명/규격/시리얼번호/제조년월일&amp;nbsp;2열짜리&amp;nbsp;표&amp;nbsp;전체&quot;,&amp;nbsp;_ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Title:=&quot;명판&amp;nbsp;템플릿&amp;nbsp;선택&quot;,&amp;nbsp;Type:=8) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;On&amp;nbsp;Error&amp;nbsp;GoTo&amp;nbsp;0 &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;tpl&amp;nbsp;Is&amp;nbsp;Nothing&amp;nbsp;Then&amp;nbsp;Exit&amp;nbsp;Sub &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;tpl.Parent.Name&amp;nbsp;&amp;lt;&amp;gt;&amp;nbsp;wsD.Name&amp;nbsp;Then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;MsgBox&amp;nbsp;&quot;템플릿&amp;nbsp;범위는&amp;nbsp;'자재명판'&amp;nbsp;시트에서&amp;nbsp;선택해주세요.&quot;,&amp;nbsp;vbExclamation &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Exit&amp;nbsp;Sub &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;If &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set&amp;nbsp;tplTL&amp;nbsp;=&amp;nbsp;tpl.Cells(1,&amp;nbsp;1) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;blkW&amp;nbsp;=&amp;nbsp;tpl.Columns.Count &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;blkH&amp;nbsp;=&amp;nbsp;tpl.Rows.Count &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;2)&amp;nbsp;자재리스트&amp;nbsp;헤더&amp;nbsp;매핑 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set&amp;nbsp;map&amp;nbsp;=&amp;nbsp;HeaderMap(wsS.Rows(1),&amp;nbsp;Array(&quot;자재명&quot;,&amp;nbsp;&quot;모델명&quot;,&amp;nbsp;&quot;규격&quot;,&amp;nbsp;&quot;시리얼번호&quot;,&amp;nbsp;&quot;제조년월일&quot;)) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;map&amp;nbsp;Is&amp;nbsp;Nothing&amp;nbsp;Then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;MsgBox&amp;nbsp;&quot;자재리스트&amp;nbsp;머리글(자재명/모델명/규격/시리얼번호/제조년월일)을&amp;nbsp;찾을&amp;nbsp;수&amp;nbsp;없습니다.&quot;,&amp;nbsp;vbExclamation &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Exit&amp;nbsp;Sub &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;If &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;lastRow&amp;nbsp;=&amp;nbsp;wsS.Cells(wsS.Rows.Count,&amp;nbsp;map(&quot;자재명&quot;)).End(xlUp).Row &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;lastRow&amp;nbsp;&amp;lt;&amp;nbsp;2&amp;nbsp;Then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;MsgBox&amp;nbsp;&quot;자재리스트에&amp;nbsp;데이터가&amp;nbsp;없습니다.&quot;,&amp;nbsp;vbInformation &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Exit&amp;nbsp;Sub &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;If &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;3)&amp;nbsp;배치&amp;nbsp;파라미터 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;colsPerRow&amp;nbsp;=&amp;nbsp;CLng(Application.InputBox(&quot;가로&amp;nbsp;몇&amp;nbsp;장&amp;nbsp;배치할까요?&quot;,&amp;nbsp;&quot;가로&amp;nbsp;개수&quot;,&amp;nbsp;2,&amp;nbsp;Type:=1)) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;hGap&amp;nbsp;=&amp;nbsp;CLng(Application.InputBox(&quot;블록&amp;nbsp;사이&amp;nbsp;열&amp;nbsp;간격(빈&amp;nbsp;열&amp;nbsp;수)?&quot;,&amp;nbsp;&quot;가로&amp;nbsp;간격&quot;,&amp;nbsp;1,&amp;nbsp;Type:=1)) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;vGap&amp;nbsp;=&amp;nbsp;CLng(Application.InputBox(&quot;블록&amp;nbsp;사이&amp;nbsp;행&amp;nbsp;간격(빈&amp;nbsp;행&amp;nbsp;수)?&quot;,&amp;nbsp;&quot;세로&amp;nbsp;간격&quot;,&amp;nbsp;1,&amp;nbsp;Type:=1)) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;rowHeight&amp;nbsp;=&amp;nbsp;CDbl(Application.InputBox(&quot;블록&amp;nbsp;내&amp;nbsp;행&amp;nbsp;높이(기본&amp;nbsp;22)?&quot;,&amp;nbsp;&quot;행&amp;nbsp;높이&quot;,&amp;nbsp;22,&amp;nbsp;Type:=1)) &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;4)&amp;nbsp;기존&amp;nbsp;생성물&amp;nbsp;정리&amp;nbsp;여부 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;doClear&amp;nbsp;=&amp;nbsp;MsgBox(&quot;선택한&amp;nbsp;템플릿의&amp;nbsp;오른쪽/아래&amp;nbsp;영역을&amp;nbsp;지우고&amp;nbsp;다시&amp;nbsp;생성할까요?&quot;,&amp;nbsp;_ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;vbQuestion&amp;nbsp;+&amp;nbsp;vbYesNo,&amp;nbsp;&quot;생성&amp;nbsp;전&amp;nbsp;정리&quot;) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Application.ScreenUpdating&amp;nbsp;=&amp;nbsp;False &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Application.EnableEvents&amp;nbsp;=&amp;nbsp;False &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Application.Calculation&amp;nbsp;=&amp;nbsp;xlCalculationManual &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;doClear&amp;nbsp;=&amp;nbsp;vbYes&amp;nbsp;Then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ClearGeneratedArea&amp;nbsp;wsD,&amp;nbsp;tplTL,&amp;nbsp;blkW,&amp;nbsp;blkH &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;If &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;5)&amp;nbsp;생성&amp;nbsp;루프 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;n&amp;nbsp;=&amp;nbsp;0 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;rData&amp;nbsp;As&amp;nbsp;Long &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;For&amp;nbsp;rData&amp;nbsp;=&amp;nbsp;2&amp;nbsp;To&amp;nbsp;lastRow &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;n&amp;nbsp;=&amp;nbsp;n&amp;nbsp;+&amp;nbsp;1 &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;그리드&amp;nbsp;배치&amp;nbsp;좌표 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;rowIdx&amp;nbsp;=&amp;nbsp;(n&amp;nbsp;-&amp;nbsp;1)&amp;nbsp;\&amp;nbsp;colsPerRow &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;colIdx&amp;nbsp;=&amp;nbsp;(n&amp;nbsp;-&amp;nbsp;1)&amp;nbsp;Mod&amp;nbsp;colsPerRow &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set&amp;nbsp;tgtTL&amp;nbsp;=&amp;nbsp;tplTL.Offset(rowIdx&amp;nbsp;*&amp;nbsp;(blkH&amp;nbsp;+&amp;nbsp;vGap),&amp;nbsp;colIdx&amp;nbsp;*&amp;nbsp;(blkW&amp;nbsp;+&amp;nbsp;hGap)) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set&amp;nbsp;tgtBlk&amp;nbsp;=&amp;nbsp;wsD.Range(tgtTL,&amp;nbsp;tgtTL.Offset(blkH&amp;nbsp;-&amp;nbsp;1,&amp;nbsp;blkW&amp;nbsp;-&amp;nbsp;1)) &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;템플릿&amp;nbsp;복사 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;tpl.Copy &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;tgtTL.PasteSpecial&amp;nbsp;xlPasteAll &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;행&amp;nbsp;높이&amp;nbsp;통일&amp;nbsp;+&amp;nbsp;외곽&amp;nbsp;굵게/내부&amp;nbsp;얇게 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;SetBlockRowHeights&amp;nbsp;tgtBlk,&amp;nbsp;rowHeight &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ApplyBlockBorders&amp;nbsp;tgtBlk &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;데이터&amp;nbsp;읽기 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;dat(1)&amp;nbsp;=&amp;nbsp;wsS.Cells(rData,&amp;nbsp;map(&quot;자재명&quot;)).Value2 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;dat(2)&amp;nbsp;=&amp;nbsp;wsS.Cells(rData,&amp;nbsp;map(&quot;모델명&quot;)).Value2 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;dat(3)&amp;nbsp;=&amp;nbsp;wsS.Cells(rData,&amp;nbsp;map(&quot;규격&quot;)).Value2 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;dat(4)&amp;nbsp;=&amp;nbsp;CStr(wsS.Cells(rData,&amp;nbsp;map(&quot;시리얼번호&quot;)).Value)&amp;nbsp;'&amp;nbsp;텍스트&amp;nbsp;고정 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;dat(5)&amp;nbsp;=&amp;nbsp;wsS.Cells(rData,&amp;nbsp;map(&quot;제조년월일&quot;)).Value2 &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;필드&amp;nbsp;주입(템플릿&amp;nbsp;내부에서&amp;nbsp;제목&amp;nbsp;텍스트를&amp;nbsp;찾아&amp;nbsp;오른쪽&amp;nbsp;칸에&amp;nbsp;값&amp;nbsp;입력) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;FillFieldInBlock&amp;nbsp;tgtBlk,&amp;nbsp;&quot;자재명&quot;,&amp;nbsp;dat(1) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;FillFieldInBlock&amp;nbsp;tgtBlk,&amp;nbsp;&quot;모델명&quot;,&amp;nbsp;dat(2) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;FillFieldInBlock&amp;nbsp;tgtBlk,&amp;nbsp;&quot;규격&quot;,&amp;nbsp;dat(3) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;FillFieldInBlock&amp;nbsp;tgtBlk,&amp;nbsp;&quot;시리얼번호&quot;,&amp;nbsp;dat(4),&amp;nbsp;True &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;FillFieldInBlock&amp;nbsp;tgtBlk,&amp;nbsp;&quot;제조년월일&quot;,&amp;nbsp;dat(5) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Next&amp;nbsp;rData &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;루프&amp;nbsp;끝난&amp;nbsp;후:&amp;nbsp;gap&amp;nbsp;행&amp;nbsp;높이&amp;nbsp;조정 &lt;br /&gt;Call&amp;nbsp;SetGapRowHeights(tplTL,&amp;nbsp;blkH,&amp;nbsp;vGap,&amp;nbsp;lastRow&amp;nbsp;-&amp;nbsp;1,&amp;nbsp;colsPerRow) &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Tidy: &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Application.CutCopyMode&amp;nbsp;=&amp;nbsp;False &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Application.Calculation&amp;nbsp;=&amp;nbsp;xlCalculationAutomatic &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Application.EnableEvents&amp;nbsp;=&amp;nbsp;True &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Application.ScreenUpdating&amp;nbsp;=&amp;nbsp;True &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;MsgBox&amp;nbsp;&quot;자재명판&amp;nbsp;생성&amp;nbsp;완료!&quot;,&amp;nbsp;vbInformation &lt;br /&gt;End&amp;nbsp;Sub &lt;br /&gt;&lt;br /&gt;'&amp;nbsp;----------------------&amp;nbsp;유틸&amp;nbsp;---------------------- &lt;br /&gt;&lt;br /&gt;'&amp;nbsp;머리글&amp;nbsp;매핑:&amp;nbsp;필요한&amp;nbsp;머리글이&amp;nbsp;모두&amp;nbsp;있으면&amp;nbsp;Dictionary&amp;nbsp;반환 &lt;br /&gt;Private&amp;nbsp;Function&amp;nbsp;HeaderMap(ByVal&amp;nbsp;headerRow&amp;nbsp;As&amp;nbsp;Range,&amp;nbsp;ByVal&amp;nbsp;needArr&amp;nbsp;As&amp;nbsp;Variant)&amp;nbsp;As&amp;nbsp;Object &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;d&amp;nbsp;As&amp;nbsp;Object:&amp;nbsp;Set&amp;nbsp;d&amp;nbsp;=&amp;nbsp;CreateObject(&quot;Scripting.Dictionary&quot;) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;lastCol&amp;nbsp;As&amp;nbsp;Long,&amp;nbsp;c&amp;nbsp;As&amp;nbsp;Long,&amp;nbsp;t&amp;nbsp;As&amp;nbsp;String,&amp;nbsp;i&amp;nbsp;As&amp;nbsp;Long &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;lastCol&amp;nbsp;=&amp;nbsp;headerRow.Cells(1,&amp;nbsp;headerRow.Parent.Columns.Count).End(xlToLeft).Column &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;For&amp;nbsp;c&amp;nbsp;=&amp;nbsp;1&amp;nbsp;To&amp;nbsp;lastCol &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;t&amp;nbsp;=&amp;nbsp;Trim(CStr(headerRow.Cells(1,&amp;nbsp;c).Value)) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;Len(t)&amp;nbsp;&amp;gt;&amp;nbsp;0&amp;nbsp;Then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;Not&amp;nbsp;d.Exists(t)&amp;nbsp;Then&amp;nbsp;d.Add&amp;nbsp;t,&amp;nbsp;c &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;If &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Next &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;For&amp;nbsp;i&amp;nbsp;=&amp;nbsp;LBound(needArr)&amp;nbsp;To&amp;nbsp;UBound(needArr) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;Not&amp;nbsp;d.Exists(CStr(needArr(i)))&amp;nbsp;Then&amp;nbsp;Exit&amp;nbsp;Function &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Next &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set&amp;nbsp;HeaderMap&amp;nbsp;=&amp;nbsp;d &lt;br /&gt;End&amp;nbsp;Function &lt;br /&gt;&lt;br /&gt;'&amp;nbsp;블록&amp;nbsp;내부에서&amp;nbsp;제목&amp;nbsp;텍스트를&amp;nbsp;찾아&amp;nbsp;옆&amp;nbsp;칸에&amp;nbsp;값&amp;nbsp;기록 &lt;br /&gt;'&amp;nbsp;serialText=True&amp;nbsp;&amp;rarr;&amp;nbsp;텍스트&amp;nbsp;서식으로&amp;nbsp;고정(시리얼번호&amp;nbsp;보존) &lt;br /&gt;Private&amp;nbsp;Sub&amp;nbsp;FillFieldInBlock(ByVal&amp;nbsp;blk&amp;nbsp;As&amp;nbsp;Range,&amp;nbsp;ByVal&amp;nbsp;titleText&amp;nbsp;As&amp;nbsp;String,&amp;nbsp;_ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ByVal&amp;nbsp;valueIn&amp;nbsp;As&amp;nbsp;Variant,&amp;nbsp;Optional&amp;nbsp;ByVal&amp;nbsp;serialText&amp;nbsp;As&amp;nbsp;Boolean&amp;nbsp;=&amp;nbsp;False) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;f&amp;nbsp;As&amp;nbsp;Range &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;라벨이&amp;nbsp;&quot;자재명:&quot;처럼&amp;nbsp;콜론&amp;nbsp;포함인&amp;nbsp;경우도&amp;nbsp;대비&amp;nbsp;&amp;rarr;&amp;nbsp;부분&amp;nbsp;일치 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set&amp;nbsp;f&amp;nbsp;=&amp;nbsp;blk.Find(What:=titleText,&amp;nbsp;LookIn:=xlValues,&amp;nbsp;LookAt:=xlPart,&amp;nbsp;MatchCase:=False) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;Not&amp;nbsp;f&amp;nbsp;Is&amp;nbsp;Nothing&amp;nbsp;Then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;With&amp;nbsp;f.Offset(0,&amp;nbsp;1) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;serialText&amp;nbsp;Then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.NumberFormat&amp;nbsp;=&amp;nbsp;&quot;@&quot; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.Value&amp;nbsp;=&amp;nbsp;CStr(valueIn) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ElseIf&amp;nbsp;titleText&amp;nbsp;=&amp;nbsp;&quot;제조년월일&quot;&amp;nbsp;Then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.NumberFormat&amp;nbsp;=&amp;nbsp;&quot;yyyy-mm-dd&quot; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.Value&amp;nbsp;=&amp;nbsp;valueIn &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Else &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.Value&amp;nbsp;=&amp;nbsp;valueIn &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;If &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;With &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;If &lt;br /&gt;End&amp;nbsp;Sub &lt;br /&gt;&lt;br /&gt;'&amp;nbsp;블록&amp;nbsp;내&amp;nbsp;행&amp;nbsp;높이&amp;nbsp;동일화 &lt;br /&gt;Private&amp;nbsp;Sub&amp;nbsp;SetBlockRowHeights(ByVal&amp;nbsp;blk&amp;nbsp;As&amp;nbsp;Range,&amp;nbsp;ByVal&amp;nbsp;h&amp;nbsp;As&amp;nbsp;Double) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;i&amp;nbsp;As&amp;nbsp;Long &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;For&amp;nbsp;i&amp;nbsp;=&amp;nbsp;1&amp;nbsp;To&amp;nbsp;blk.Rows.Count &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;blk.Rows(i).rowHeight&amp;nbsp;=&amp;nbsp;h &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Next &lt;br /&gt;End&amp;nbsp;Sub &lt;br /&gt;&lt;br /&gt;'&amp;nbsp;블록과&amp;nbsp;블록&amp;nbsp;사이&amp;nbsp;행&amp;nbsp;높이를&amp;nbsp;9로&amp;nbsp;세팅 &lt;br /&gt;Private&amp;nbsp;Sub&amp;nbsp;SetGapRowHeights(ByVal&amp;nbsp;tplTL&amp;nbsp;As&amp;nbsp;Range,&amp;nbsp;ByVal&amp;nbsp;blkH&amp;nbsp;As&amp;nbsp;Long,&amp;nbsp;ByVal&amp;nbsp;vGap&amp;nbsp;As&amp;nbsp;Long,&amp;nbsp;ByVal&amp;nbsp;totalBlocks&amp;nbsp;As&amp;nbsp;Long,&amp;nbsp;ByVal&amp;nbsp;colsPerRow&amp;nbsp;As&amp;nbsp;Long) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;i&amp;nbsp;As&amp;nbsp;Long,&amp;nbsp;rowIdx&amp;nbsp;As&amp;nbsp;Long,&amp;nbsp;gapRow&amp;nbsp;As&amp;nbsp;Long &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;ws&amp;nbsp;As&amp;nbsp;Worksheet &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set&amp;nbsp;ws&amp;nbsp;=&amp;nbsp;tplTL.Worksheet &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;각&amp;nbsp;행&amp;nbsp;단위&amp;nbsp;배치마다,&amp;nbsp;블록과&amp;nbsp;블록&amp;nbsp;사이&amp;nbsp;gap&amp;nbsp;행&amp;nbsp;높이&amp;nbsp;=&amp;nbsp;9 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;For&amp;nbsp;i&amp;nbsp;=&amp;nbsp;1&amp;nbsp;To&amp;nbsp;totalBlocks &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;rowIdx&amp;nbsp;=&amp;nbsp;(i&amp;nbsp;-&amp;nbsp;1)&amp;nbsp;\&amp;nbsp;colsPerRow &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;(i&amp;nbsp;Mod&amp;nbsp;colsPerRow)&amp;nbsp;=&amp;nbsp;0&amp;nbsp;Then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;이&amp;nbsp;줄이&amp;nbsp;끝나면&amp;nbsp;gap&amp;nbsp;아래쪽&amp;nbsp;행&amp;nbsp;지정 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;gapRow&amp;nbsp;=&amp;nbsp;tplTL.Row&amp;nbsp;+&amp;nbsp;rowIdx&amp;nbsp;*&amp;nbsp;(blkH&amp;nbsp;+&amp;nbsp;vGap)&amp;nbsp;+&amp;nbsp;blkH &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;vGap&amp;nbsp;&amp;gt;&amp;nbsp;0&amp;nbsp;Then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ws.Rows(gapRow).rowHeight&amp;nbsp;=&amp;nbsp;9 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;If &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;If &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Next&amp;nbsp;i &lt;br /&gt;End&amp;nbsp;Sub &lt;br /&gt;&lt;br /&gt;'&amp;nbsp;블록&amp;nbsp;테두리:&amp;nbsp;외곽&amp;nbsp;굵게,&amp;nbsp;내부&amp;nbsp;얇게 &lt;br /&gt;Private&amp;nbsp;Sub&amp;nbsp;ApplyBlockBorders(ByVal&amp;nbsp;blk&amp;nbsp;As&amp;nbsp;Range) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;With&amp;nbsp;blk.Borders &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.LineStyle&amp;nbsp;=&amp;nbsp;xlContinuous &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.Color&amp;nbsp;=&amp;nbsp;vbBlack &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.Item(xlInsideVertical).Weight&amp;nbsp;=&amp;nbsp;xlThin &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.Item(xlInsideHorizontal).Weight&amp;nbsp;=&amp;nbsp;xlThin &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.Item(xlEdgeLeft).Weight&amp;nbsp;=&amp;nbsp;xlThick &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.Item(xlEdgeRight).Weight&amp;nbsp;=&amp;nbsp;xlThick &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.Item(xlEdgeTop).Weight&amp;nbsp;=&amp;nbsp;xlThick &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.Item(xlEdgeBottom).Weight&amp;nbsp;=&amp;nbsp;xlThick &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;With &lt;br /&gt;End&amp;nbsp;Sub &lt;br /&gt;&lt;br /&gt;'&amp;nbsp;선택&amp;nbsp;템플릿의&amp;nbsp;오른쪽/아래&amp;nbsp;영역만&amp;nbsp;정리&amp;nbsp;(템플릿은&amp;nbsp;보존) &lt;br /&gt;Private&amp;nbsp;Sub&amp;nbsp;ClearGeneratedArea(ByVal&amp;nbsp;ws&amp;nbsp;As&amp;nbsp;Worksheet,&amp;nbsp;ByVal&amp;nbsp;tplTL&amp;nbsp;As&amp;nbsp;Range,&amp;nbsp;_ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ByVal&amp;nbsp;blkW&amp;nbsp;As&amp;nbsp;Long,&amp;nbsp;ByVal&amp;nbsp;blkH&amp;nbsp;As&amp;nbsp;Long) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;ur&amp;nbsp;As&amp;nbsp;Range,&amp;nbsp;clearRg&amp;nbsp;As&amp;nbsp;Range &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set&amp;nbsp;ur&amp;nbsp;=&amp;nbsp;ws.UsedRange &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;On&amp;nbsp;Error&amp;nbsp;Resume&amp;nbsp;Next &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set&amp;nbsp;clearRg&amp;nbsp;=&amp;nbsp;ws.Range(tplTL.Offset(blkH,&amp;nbsp;0),&amp;nbsp;ws.Cells(ws.Rows.Count,&amp;nbsp;ws.Columns.Count)) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;Not&amp;nbsp;clearRg&amp;nbsp;Is&amp;nbsp;Nothing&amp;nbsp;Then&amp;nbsp;clearRg.Clear &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set&amp;nbsp;clearRg&amp;nbsp;=&amp;nbsp;ws.Range(tplTL.Offset(0,&amp;nbsp;blkW),&amp;nbsp;tplTL.Offset(blkH&amp;nbsp;-&amp;nbsp;1,&amp;nbsp;ws.Columns.Count)) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;Not&amp;nbsp;clearRg&amp;nbsp;Is&amp;nbsp;Nothing&amp;nbsp;Then&amp;nbsp;clearRg.Clear &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;On&amp;nbsp;Error&amp;nbsp;GoTo&amp;nbsp;0 &lt;br /&gt;End&amp;nbsp;Sub &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;br /&gt;정리하며 &lt;br /&gt;&lt;br /&gt;현장에서&amp;nbsp;바로&amp;nbsp;쓸&amp;nbsp;수&amp;nbsp;있는&amp;nbsp;엑셀&amp;nbsp;매크로를&amp;nbsp;찾고&amp;nbsp;계셨다면&amp;nbsp;&amp;nbsp; &lt;br /&gt;이&amp;nbsp;자재명판&amp;nbsp;자동&amp;nbsp;생성기만큼&amp;nbsp;실용적인&amp;nbsp;매크로는&amp;nbsp;드뭅니다. &lt;br /&gt;&lt;br /&gt;단순한&amp;nbsp;반복&amp;nbsp;작업을&amp;nbsp;줄이고&amp;nbsp;&amp;nbsp; &lt;br /&gt;정확하고&amp;nbsp;빠르게&amp;nbsp;자재명판을&amp;nbsp;만들고&amp;nbsp;싶다면&amp;nbsp;&amp;nbsp; &lt;br /&gt;지금&amp;nbsp;이&amp;nbsp;매크로를&amp;nbsp;사용해보세요. &lt;br /&gt;&lt;br /&gt;더&amp;nbsp;많은&amp;nbsp;실무용&amp;nbsp;자동화&amp;nbsp;매크로를&amp;nbsp;받아보고&amp;nbsp;싶으시다면&amp;nbsp;&amp;nbsp; &lt;br /&gt;블로그&amp;nbsp;구독하고&amp;nbsp;실전&amp;nbsp;예제를&amp;nbsp;계속&amp;nbsp;받아보세요. &lt;br /&gt;&lt;br /&gt;감사합니다. &lt;br /&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;fileblock&quot; data-ke-align=&quot;alignCenter&quot;&gt;&lt;a href=&quot;https://blog.kakaocdn.net/dn/cCunDN/dJMb9Xxtgd4/ZbhlbXYqGouCDPE4gHiO20/%EC%9E%90%EC%9E%AC%20%EB%AA%85%ED%8C%90%20%EB%9D%BC%EB%B2%A8%20%EB%A7%8C%EB%93%A4%EA%B8%B0.xlsm?attach=1&amp;amp;knm=tfile.xlsm&quot; class=&quot;&quot;&gt;
    &lt;div class=&quot;image&quot;&gt;&lt;/div&gt;
    &lt;div class=&quot;desc&quot;&gt;&lt;div class=&quot;filename&quot;&gt;&lt;span class=&quot;name&quot;&gt;자재 명판 라벨 만들기.xlsm&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;size&quot;&gt;0.04MB&lt;/div&gt;
&lt;/div&gt;
  &lt;/a&gt;&lt;/figure&gt;
&lt;/p&gt;</description>
      <category>DATA</category>
      <category>엑셀VBA 엑셀매크로 자재명판 자동생성 자재리스트 엑셀템플릿 자동화 엑셀출력형식 자재카드 라벨자동화 시리얼넘버 텍스트포맷 엑셀실무자동화</category>
      <author>노만e</author>
      <guid isPermaLink="true">https://dream2049.tistory.com/179</guid>
      <comments>https://dream2049.tistory.com/179#entry179comment</comments>
      <pubDate>Thu, 4 Sep 2025 22:51:40 +0900</pubDate>
    </item>
    <item>
      <title>셀 색상 기준으로 데이터를 자동 분류</title>
      <link>https://dream2049.tistory.com/178</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;figure data-ke-type=&quot;video&quot; data-ke-style=&quot;alignCenter&quot; data-video-host=&quot;kakaotv&quot; data-video-url=&quot;https://tv.kakao.com/v/457672168&quot; data-video-thumbnail=&quot;https://scrap.kakaocdn.net/dn/olu8k/hyZGjSNGVS/zgvwhQC9SmicpKWZXVBlB1/img.jpg?width=1920&amp;amp;height=1080&amp;amp;face=0_0_1920_1080,https://scrap.kakaocdn.net/dn/ciDTIM/hyZGhUX3zD/drjICwFZtJkzFbvUXrny81/img.jpg?width=1920&amp;amp;height=1080&amp;amp;face=0_0_1920_1080&quot; data-video-width=&quot;860&quot; data-video-height=&quot;484&quot; data-video-origin-width=&quot;860&quot; data-video-origin-height=&quot;484&quot; data-ke-mobilestyle=&quot;widthContent&quot; data-video-title=&quot;'VBA 스나이퍼'에서 업로드한 동영상&quot; data-video-play-service=&quot;daum_tistory&quot; data-original-url=&quot;&quot;&gt;&lt;iframe src=&quot;https://play-tv.kakao.com/embed/player/cliplink/457672168?service=daum_tistory&quot; width=&quot;860&quot; height=&quot;484&quot; frameborder=&quot;0&quot; allowfullscreen=&quot;true&quot;&gt;&lt;/iframe&gt;
&lt;figcaption style=&quot;display: none;&quot;&gt;&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;셀&amp;nbsp;색상&amp;nbsp;기준으로&amp;nbsp;데이터를&amp;nbsp;자동&amp;nbsp;분류하는&amp;nbsp;엑셀&amp;nbsp;매크로가&amp;nbsp;있다면&amp;nbsp;어떨까요? &lt;br /&gt;&lt;br /&gt;업무&amp;nbsp;중&amp;nbsp;데이터에&amp;nbsp;색상을&amp;nbsp;칠해서&amp;nbsp;시각적으로&amp;nbsp;구분하는&amp;nbsp;경우&amp;nbsp;많으시죠?&amp;nbsp;&amp;nbsp; &lt;br /&gt;예를&amp;nbsp;들어&amp;nbsp;상태별로&amp;nbsp;색을&amp;nbsp;다르게&amp;nbsp;넣는다든지,&amp;nbsp;담당자마다&amp;nbsp;셀&amp;nbsp;색을&amp;nbsp;바꾸는&amp;nbsp;방식으로&amp;nbsp;&amp;nbsp; &lt;br /&gt;중요&amp;nbsp;항목을&amp;nbsp;구분하는&amp;nbsp;일이&amp;nbsp;자주&amp;nbsp;발생합니다. &lt;br /&gt;&lt;br /&gt;하지만&amp;nbsp;그&amp;nbsp;색상을&amp;nbsp;기준으로&amp;nbsp;다시&amp;nbsp;정리해야&amp;nbsp;할&amp;nbsp;때는&amp;nbsp;어떻게&amp;nbsp;하시나요? &lt;br /&gt;&lt;br /&gt;손으로&amp;nbsp;필터하고&amp;nbsp;복사해서&amp;nbsp;다른&amp;nbsp;시트에&amp;nbsp;붙여넣는&amp;nbsp;방식,&amp;nbsp;&amp;nbsp; &lt;br /&gt;번거롭고&amp;nbsp;실수가&amp;nbsp;생기기&amp;nbsp;쉽습니다. &lt;br /&gt;&lt;br /&gt;오늘&amp;nbsp;소개할&amp;nbsp;엑셀&amp;nbsp;VBA&amp;nbsp;매크로는&amp;nbsp;&amp;nbsp; &lt;br /&gt;이런&amp;nbsp;문제를&amp;nbsp;단&amp;nbsp;몇&amp;nbsp;초&amp;nbsp;만에&amp;nbsp;완벽하게&amp;nbsp;해결해줍니다. &lt;br /&gt;&lt;br /&gt;색상별로&amp;nbsp;셀을&amp;nbsp;분류해&amp;nbsp;자동으로&amp;nbsp;모아주는&amp;nbsp;VBA&amp;nbsp;매크로 &lt;br /&gt;&lt;br /&gt;이&amp;nbsp;매크로는&amp;nbsp;사용자가&amp;nbsp;선택한&amp;nbsp;데이터&amp;nbsp;범위에서&amp;nbsp;&amp;nbsp; &lt;br /&gt;**셀의&amp;nbsp;채우기&amp;nbsp;색상(Interior.Color)을&amp;nbsp;기준으로**&amp;nbsp;&amp;nbsp; &lt;br /&gt;자동으로&amp;nbsp;데이터를&amp;nbsp;색상별로&amp;nbsp;분류하고&amp;nbsp;&amp;nbsp; &lt;br /&gt;지정한&amp;nbsp;위치에&amp;nbsp;**세로&amp;nbsp;방향&amp;nbsp;컬럼&amp;nbsp;형태로&amp;nbsp;출력**해줍니다. &lt;br /&gt;&lt;br /&gt;핵심&amp;nbsp;기능은&amp;nbsp;다음과&amp;nbsp;같습니다: &lt;br /&gt;&lt;br /&gt;1.&amp;nbsp;원본&amp;nbsp;데이터에서&amp;nbsp;색상이&amp;nbsp;있는&amp;nbsp;셀만&amp;nbsp;감지&amp;nbsp;&amp;nbsp; &lt;br /&gt;2.&amp;nbsp;같은&amp;nbsp;색상의&amp;nbsp;셀들을&amp;nbsp;하나의&amp;nbsp;컬럼으로&amp;nbsp;묶어&amp;nbsp;출력&amp;nbsp;&amp;nbsp; &lt;br /&gt;3.&amp;nbsp;첫&amp;nbsp;행에는&amp;nbsp;해당&amp;nbsp;색상을&amp;nbsp;그대로&amp;nbsp;배경으로&amp;nbsp;표시&amp;nbsp;(헤더&amp;nbsp;역할)&amp;nbsp;&amp;nbsp; &lt;br /&gt;4.&amp;nbsp;값은&amp;nbsp;물론&amp;nbsp;**수식과&amp;nbsp;숫자&amp;nbsp;서식(NumberFormat)**까지&amp;nbsp;그대로&amp;nbsp;유지&amp;nbsp;&amp;nbsp; &lt;br /&gt;5.&amp;nbsp;병합&amp;nbsp;셀도&amp;nbsp;안전하게&amp;nbsp;처리&amp;nbsp;(좌상단&amp;nbsp;셀만&amp;nbsp;수집) &lt;br /&gt;&lt;br /&gt;실제&amp;nbsp;사용&amp;nbsp;예시: &lt;br /&gt;&lt;br /&gt;-&amp;nbsp;프로젝트&amp;nbsp;상태별&amp;nbsp;데이터&amp;nbsp;정리&amp;nbsp;(완료,&amp;nbsp;진행,&amp;nbsp;보류&amp;nbsp;등&amp;nbsp;색상&amp;nbsp;구분)&amp;nbsp;&amp;nbsp; &lt;br /&gt;-&amp;nbsp;담당자별&amp;nbsp;이슈&amp;nbsp;분류&amp;nbsp;(색상별&amp;nbsp;담당자&amp;nbsp;표시)&amp;nbsp;&amp;nbsp; &lt;br /&gt;-&amp;nbsp;우선순위별&amp;nbsp;작업&amp;nbsp;리스트&amp;nbsp;정리&amp;nbsp;(빨강=긴급,&amp;nbsp;노랑=보통,&amp;nbsp;초록=완료&amp;nbsp;등) &lt;br /&gt;&lt;br /&gt;이&amp;nbsp;매크로를&amp;nbsp;실행하는&amp;nbsp;방법은&amp;nbsp;매우&amp;nbsp;간단합니다: &lt;br /&gt;&lt;br /&gt;1.&amp;nbsp;색상&amp;nbsp;기준으로&amp;nbsp;정리할&amp;nbsp;**원본&amp;nbsp;데이터를&amp;nbsp;선택**&amp;nbsp;&amp;nbsp; &lt;br /&gt;2.&amp;nbsp;결과를&amp;nbsp;출력할&amp;nbsp;**시작&amp;nbsp;셀(단일&amp;nbsp;셀)을&amp;nbsp;선택**&amp;nbsp;&amp;nbsp; &lt;br /&gt;3.&amp;nbsp;매크로를&amp;nbsp;실행하면,&amp;nbsp;자동으로&amp;nbsp;색상별로&amp;nbsp;그룹화된&amp;nbsp;컬럼이&amp;nbsp;정렬됨&amp;nbsp;&amp;nbsp; &lt;br /&gt;4.&amp;nbsp;각&amp;nbsp;컬럼의&amp;nbsp;첫&amp;nbsp;번째&amp;nbsp;셀은&amp;nbsp;색상&amp;nbsp;헤더로&amp;nbsp;구분됨 &lt;br /&gt;&lt;br /&gt;예를&amp;nbsp;들어,&amp;nbsp;빨간색으로&amp;nbsp;칠해진&amp;nbsp;항목은&amp;nbsp;첫&amp;nbsp;번째&amp;nbsp;컬럼,&amp;nbsp;&amp;nbsp; &lt;br /&gt;파란색은&amp;nbsp;두&amp;nbsp;번째&amp;nbsp;컬럼,&amp;nbsp;노란색은&amp;nbsp;세&amp;nbsp;번째&amp;nbsp;컬럼&amp;nbsp;형태로&amp;nbsp;&amp;nbsp; &lt;br /&gt;**가로로&amp;nbsp;색상&amp;nbsp;그룹화된&amp;nbsp;표**가&amp;nbsp;생성됩니다. &lt;br /&gt;&lt;br /&gt;이&amp;nbsp;매크로는&amp;nbsp;다음과&amp;nbsp;같은&amp;nbsp;특징이&amp;nbsp;있습니다: &lt;br /&gt;&lt;br /&gt;-&amp;nbsp;**조건부서식과&amp;nbsp;무관**:&amp;nbsp;실제&amp;nbsp;셀의&amp;nbsp;채우기&amp;nbsp;색상만&amp;nbsp;기준으로&amp;nbsp;함&amp;nbsp;&amp;nbsp; &lt;br /&gt;-&amp;nbsp;**병합&amp;nbsp;셀도&amp;nbsp;중복&amp;nbsp;없이&amp;nbsp;한&amp;nbsp;번만&amp;nbsp;수집**&amp;nbsp;&amp;nbsp; &lt;br /&gt;-&amp;nbsp;**색상&amp;nbsp;순서는&amp;nbsp;등장한&amp;nbsp;순서대로&amp;nbsp;유지**&amp;nbsp;&amp;nbsp; &lt;br /&gt;-&amp;nbsp;**숨겨진&amp;nbsp;행이나&amp;nbsp;열도&amp;nbsp;무시하고&amp;nbsp;전체&amp;nbsp;처리**&amp;nbsp;&amp;nbsp; &lt;br /&gt;-&amp;nbsp;**수식이&amp;nbsp;있는&amp;nbsp;셀은&amp;nbsp;수식&amp;nbsp;그대로&amp;nbsp;유지**&amp;nbsp;&amp;nbsp; &lt;br /&gt;&lt;br /&gt;업무에&amp;nbsp;어떤&amp;nbsp;도움을&amp;nbsp;줄&amp;nbsp;수&amp;nbsp;있을까요? &lt;br /&gt;&lt;br /&gt;-&amp;nbsp;데이터&amp;nbsp;분류&amp;nbsp;속도&amp;nbsp;비약적으로&amp;nbsp;향상&amp;nbsp;&amp;nbsp; &lt;br /&gt;-&amp;nbsp;색상&amp;nbsp;기준&amp;nbsp;업무&amp;nbsp;자동화&amp;nbsp;가능&amp;nbsp;&amp;nbsp; &lt;br /&gt;-&amp;nbsp;복잡한&amp;nbsp;필터/정렬&amp;nbsp;없이&amp;nbsp;시각적&amp;nbsp;기준으로&amp;nbsp;자료&amp;nbsp;재구성&amp;nbsp;&amp;nbsp; &lt;br /&gt;-&amp;nbsp;데이터를&amp;nbsp;시각적으로&amp;nbsp;정리하고&amp;nbsp;싶은&amp;nbsp;모든&amp;nbsp;상황에&amp;nbsp;적용&amp;nbsp;가능 &lt;br /&gt;&lt;br /&gt;정리하며 &lt;br /&gt;&lt;br /&gt;단순해&amp;nbsp;보이지만&amp;nbsp;실제로는&amp;nbsp;수작업으로&amp;nbsp;해결하기&amp;nbsp;어려운&amp;nbsp;문제를&amp;nbsp;&amp;nbsp; &lt;br /&gt;이&amp;nbsp;한&amp;nbsp;줄의&amp;nbsp;매크로가&amp;nbsp;완벽하게&amp;nbsp;해결해줍니다. &lt;br /&gt;&lt;br /&gt;엑셀의&amp;nbsp;셀&amp;nbsp;색상을&amp;nbsp;의미&amp;nbsp;있게&amp;nbsp;활용하고&amp;nbsp;싶다면&amp;nbsp;&amp;nbsp; &lt;br /&gt;이&amp;nbsp;매크로는&amp;nbsp;반드시&amp;nbsp;즐겨찾기에&amp;nbsp;추가해두세요. &lt;br /&gt;&lt;br /&gt;엑셀&amp;nbsp;자동화,&amp;nbsp;이제&amp;nbsp;눈에&amp;nbsp;보이는&amp;nbsp;색상만으로도&amp;nbsp;가능합니다. &lt;br /&gt;&lt;br /&gt;더&amp;nbsp;많은&amp;nbsp;엑셀&amp;nbsp;실무&amp;nbsp;자동화&amp;nbsp;팁을&amp;nbsp;받아보고&amp;nbsp;싶다면&amp;nbsp;&amp;nbsp; &lt;br /&gt;지금&amp;nbsp;블로그를&amp;nbsp;구독하고&amp;nbsp;실무&amp;nbsp;매크로&amp;nbsp;노하우를&amp;nbsp;챙겨가세요. &lt;br /&gt;&lt;br /&gt;감사합니다. &lt;br /&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;fileblock&quot; data-ke-align=&quot;alignCenter&quot;&gt;&lt;a href=&quot;https://blog.kakaocdn.net/dn/dsikxq/dJMb9P0v7ec/NQ5fjbafhwG1isCtv8wq2K/%ED%8A%B9%EC%A0%95%20%EC%83%89%EC%9D%84%20%EA%B0%80%EC%A7%84%20%EC%85%80%EB%A7%8C%20%EA%B3%A8%EB%9D%BC%20%EC%9D%BC%EB%A0%AC%EB%A1%9C%20%EB%82%98%EC%97%B4%ED%95%98%EA%B8%B0.xlsm?attach=1&amp;amp;knm=tfile.xlsm&quot; class=&quot;&quot;&gt;
    &lt;div class=&quot;image&quot;&gt;&lt;/div&gt;
    &lt;div class=&quot;desc&quot;&gt;&lt;div class=&quot;filename&quot;&gt;&lt;span class=&quot;name&quot;&gt;특정 색을 가진 셀만 골라 일렬로 나열하기.xlsm&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;size&quot;&gt;0.03MB&lt;/div&gt;
&lt;/div&gt;
  &lt;/a&gt;&lt;/figure&gt;
&lt;/p&gt;</description>
      <category>Range 개체</category>
      <category>엑셀VBA 엑셀매크로 셀색상분류 엑셀색상필터 엑셀자동화 색상기준정리 엑셀실무 팁 엑셀조건부서식 엑셀시각화 엑셀분류도구</category>
      <author>노만e</author>
      <guid isPermaLink="true">https://dream2049.tistory.com/178</guid>
      <comments>https://dream2049.tistory.com/178#entry178comment</comments>
      <pubDate>Tue, 2 Sep 2025 08:08:17 +0900</pubDate>
    </item>
    <item>
      <title>엑셀 VBA 셀 범위 선택만으로 원하는 이름의 시트 생성하기</title>
      <link>https://dream2049.tistory.com/177</link>
      <description>&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1266&quot; data-origin-height=&quot;695&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/EJtgl/btsQebRwxEt/TqzNYjl2urBh0UB4HQw8ik/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/EJtgl/btsQebRwxEt/TqzNYjl2urBh0UB4HQw8ik/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/EJtgl/btsQebRwxEt/TqzNYjl2urBh0UB4HQw8ik/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FEJtgl%2FbtsQebRwxEt%2FTqzNYjl2urBh0UB4HQw8ik%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1266&quot; height=&quot;695&quot; data-origin-width=&quot;1266&quot; data-origin-height=&quot;695&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;엑셀에서&amp;nbsp;셀&amp;nbsp;내용을&amp;nbsp;기준으로&amp;nbsp;시트를&amp;nbsp;자동&amp;nbsp;생성하고&amp;nbsp;싶으신가요? &lt;br /&gt;&lt;br /&gt;엑셀을&amp;nbsp;활용하다&amp;nbsp;보면&amp;nbsp;&amp;nbsp; &lt;br /&gt;부서명,&amp;nbsp;프로젝트명,&amp;nbsp;고객명&amp;nbsp;등&amp;nbsp;&amp;nbsp; &lt;br /&gt;특정&amp;nbsp;리스트를&amp;nbsp;기준으로&amp;nbsp;여러&amp;nbsp;개의&amp;nbsp;시트를&amp;nbsp;만들어야&amp;nbsp;할&amp;nbsp;일이&amp;nbsp;자주&amp;nbsp;생깁니다. &lt;br /&gt;&lt;br /&gt;하지만&amp;nbsp;시트를&amp;nbsp;하나씩&amp;nbsp;수동으로&amp;nbsp;만들고&amp;nbsp;이름을&amp;nbsp;붙이는&amp;nbsp;작업은&amp;nbsp;&amp;nbsp; &lt;br /&gt;단순하면서도&amp;nbsp;가장&amp;nbsp;비효율적인&amp;nbsp;반복&amp;nbsp;업무&amp;nbsp;중&amp;nbsp;하나입니다. &lt;br /&gt;&lt;br /&gt;그럴&amp;nbsp;때&amp;nbsp;바로&amp;nbsp;이&amp;nbsp;매크로&amp;nbsp;하나면&amp;nbsp;해결됩니다. &lt;br /&gt;&lt;br /&gt;셀&amp;nbsp;범위에서&amp;nbsp;이름을&amp;nbsp;읽어&amp;nbsp;자동으로&amp;nbsp;시트를&amp;nbsp;생성하는&amp;nbsp;방법은? &lt;br /&gt;&lt;br /&gt;오늘&amp;nbsp;소개할&amp;nbsp;`CreateSheetsFromRange()`&amp;nbsp;매크로는&amp;nbsp;&amp;nbsp; &lt;br /&gt;사용자가&amp;nbsp;선택한&amp;nbsp;셀&amp;nbsp;범위의&amp;nbsp;값을&amp;nbsp;기준으로&amp;nbsp;&amp;nbsp; &lt;br /&gt;자동으로&amp;nbsp;새로운&amp;nbsp;시트를&amp;nbsp;만들어주는&amp;nbsp;도구입니다. &lt;br /&gt;&lt;br /&gt;예를&amp;nbsp;들어,&amp;nbsp;아래와&amp;nbsp;같이&amp;nbsp;A열에&amp;nbsp;항목이&amp;nbsp;있을&amp;nbsp;때: &lt;br /&gt;영업부&amp;nbsp;&amp;nbsp; &lt;br /&gt;총무부&amp;nbsp;&amp;nbsp; &lt;br /&gt;개발팀&amp;nbsp;&amp;nbsp; &lt;br /&gt;개발팀 &lt;br /&gt;&lt;br /&gt;위&amp;nbsp;값을&amp;nbsp;선택하고&amp;nbsp;매크로를&amp;nbsp;실행하면&amp;nbsp;&amp;nbsp; &lt;br /&gt;동일한&amp;nbsp;이름이&amp;nbsp;중복될&amp;nbsp;경우&amp;nbsp;자동으로&amp;nbsp;&quot;_1&quot;,&amp;nbsp;&quot;_2&quot;&amp;nbsp;식의&amp;nbsp;일련번호가&amp;nbsp;붙으며&amp;nbsp;&amp;nbsp; &lt;br /&gt;총&amp;nbsp;4개의&amp;nbsp;시트가&amp;nbsp;자동&amp;nbsp;생성됩니다. &lt;br /&gt;&lt;br /&gt;즉,&amp;nbsp;결과&amp;nbsp;시트&amp;nbsp;이름은&amp;nbsp;다음과&amp;nbsp;같이&amp;nbsp;생성됩니다: &lt;br /&gt;영업부&amp;nbsp;&amp;nbsp; &lt;br /&gt;총무부&amp;nbsp;&amp;nbsp; &lt;br /&gt;개발팀&amp;nbsp;&amp;nbsp; &lt;br /&gt;개발팀_1 &lt;br /&gt;&lt;br /&gt;코드의&amp;nbsp;핵심&amp;nbsp;기능은&amp;nbsp;다음과&amp;nbsp;같습니다: &lt;br /&gt;&lt;br /&gt;1.&amp;nbsp;사용자가&amp;nbsp;직접&amp;nbsp;셀&amp;nbsp;범위를&amp;nbsp;선택&amp;nbsp;&amp;nbsp; &lt;br /&gt;2.&amp;nbsp;각&amp;nbsp;셀의&amp;nbsp;값을&amp;nbsp;기준으로&amp;nbsp;시트&amp;nbsp;이름으로&amp;nbsp;사용&amp;nbsp;&amp;nbsp; &lt;br /&gt;3.&amp;nbsp;동일한&amp;nbsp;이름이&amp;nbsp;이미&amp;nbsp;존재할&amp;nbsp;경우,&amp;nbsp;&quot;_1&quot;,&amp;nbsp;&quot;_2&quot;&amp;nbsp;식으로&amp;nbsp;자동&amp;nbsp;구분&amp;nbsp;&amp;nbsp; &lt;br /&gt;4.&amp;nbsp;시트는&amp;nbsp;현재&amp;nbsp;통합&amp;nbsp;문서의&amp;nbsp;마지막에&amp;nbsp;순서대로&amp;nbsp;추가 &lt;br /&gt;&lt;br /&gt;이&amp;nbsp;매크로의&amp;nbsp;장점은&amp;nbsp;단순함과&amp;nbsp;확장성입니다 &lt;br /&gt;&lt;br /&gt;-&amp;nbsp;항목이&amp;nbsp;수십&amp;nbsp;개여도&amp;nbsp;단&amp;nbsp;5초면&amp;nbsp;시트&amp;nbsp;생성&amp;nbsp;완료&amp;nbsp;&amp;nbsp; &lt;br /&gt;-&amp;nbsp;이름&amp;nbsp;중복&amp;nbsp;자동&amp;nbsp;처리로&amp;nbsp;오류&amp;nbsp;발생&amp;nbsp;없음&amp;nbsp;&amp;nbsp; &lt;br /&gt;-&amp;nbsp;고객&amp;nbsp;관리,&amp;nbsp;부서별&amp;nbsp;보고서,&amp;nbsp;월별&amp;nbsp;시트&amp;nbsp;생성&amp;nbsp;등에&amp;nbsp;폭넓게&amp;nbsp;활용&amp;nbsp;가능&amp;nbsp;&amp;nbsp; &lt;br /&gt;-&amp;nbsp;응용하면&amp;nbsp;해당&amp;nbsp;시트에&amp;nbsp;표&amp;nbsp;자동&amp;nbsp;생성,&amp;nbsp;템플릿&amp;nbsp;복사&amp;nbsp;등도&amp;nbsp;가능 &lt;br /&gt;&lt;br /&gt;이&amp;nbsp;매크로가&amp;nbsp;특히&amp;nbsp;유용한&amp;nbsp;경우는? &lt;br /&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt; 1. 부서별 보고서를 개별 시트로 만들 때&amp;nbsp;&amp;nbsp; &lt;br /&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt; 2.&amp;nbsp;고객별&amp;nbsp;견적서&amp;nbsp;탭을&amp;nbsp;일괄&amp;nbsp;생성할&amp;nbsp;때&amp;nbsp;&amp;nbsp; &lt;br /&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt; 3.&amp;nbsp;일정별&amp;nbsp;업무&amp;nbsp;시트를&amp;nbsp;날짜별로&amp;nbsp;만들&amp;nbsp;때&amp;nbsp;&amp;nbsp; &lt;br /&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt; 4.&amp;nbsp;교육&amp;nbsp;자료나&amp;nbsp;평가표를&amp;nbsp;대상별로&amp;nbsp;생성할&amp;nbsp;때 &lt;br /&gt;&lt;br /&gt;사용&amp;nbsp;방법은&amp;nbsp;매우&amp;nbsp;간단합니다 &lt;br /&gt;&amp;nbsp; 1. 매크로 편집기(Alt + F11)에서 코드 붙여넣기&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp; 2. Excel로 돌아와 매크로 실행(Alt + F8)&amp;nbsp;&amp;nbsp; &lt;br /&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt; 3.&amp;nbsp;&quot;시트&amp;nbsp;이름으로&amp;nbsp;사용할&amp;nbsp;셀&amp;nbsp;범위&quot;를&amp;nbsp;선택&amp;nbsp;&amp;nbsp; &lt;br /&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt; 4.&amp;nbsp;자동으로&amp;nbsp;새로운&amp;nbsp;시트가&amp;nbsp;만들어짐&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;VBA 코드&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 100%;&quot;&gt;Option&amp;nbsp;Explicit &lt;br /&gt;&lt;br /&gt;Sub&amp;nbsp;CreateSheetsFromRange() &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;rng&amp;nbsp;As&amp;nbsp;Range &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;cell&amp;nbsp;As&amp;nbsp;Range &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;wsName&amp;nbsp;As&amp;nbsp;String &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;newSheet&amp;nbsp;As&amp;nbsp;Worksheet &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;countName&amp;nbsp;As&amp;nbsp;Long &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;입력창:&amp;nbsp;시트&amp;nbsp;이름이&amp;nbsp;될&amp;nbsp;셀&amp;nbsp;범위&amp;nbsp;선택 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;On&amp;nbsp;Error&amp;nbsp;Resume&amp;nbsp;Next &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set&amp;nbsp;rng&amp;nbsp;=&amp;nbsp;Application.InputBox(&quot;시트&amp;nbsp;이름으로&amp;nbsp;사용할&amp;nbsp;셀&amp;nbsp;범위를&amp;nbsp;선택하세요:&quot;,&amp;nbsp;_ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&quot;시트&amp;nbsp;생성&quot;,&amp;nbsp;Type:=8) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;On&amp;nbsp;Error&amp;nbsp;GoTo&amp;nbsp;0 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;rng&amp;nbsp;Is&amp;nbsp;Nothing&amp;nbsp;Then&amp;nbsp;Exit&amp;nbsp;Sub &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Application.ScreenUpdating&amp;nbsp;=&amp;nbsp;False &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;For&amp;nbsp;Each&amp;nbsp;cell&amp;nbsp;In&amp;nbsp;rng &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;Trim(cell.Value)&amp;nbsp;&amp;lt;&amp;gt;&amp;nbsp;&quot;&quot;&amp;nbsp;Then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;wsName&amp;nbsp;=&amp;nbsp;CStr(cell.Value) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;기존&amp;nbsp;시트와&amp;nbsp;이름이&amp;nbsp;겹치는&amp;nbsp;경우&amp;nbsp;일련번호&amp;nbsp;붙이기 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;countName&amp;nbsp;=&amp;nbsp;1 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Do&amp;nbsp;While&amp;nbsp;SheetExists(wsName) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;wsName&amp;nbsp;=&amp;nbsp;CStr(cell.Value)&amp;nbsp;&amp;amp;&amp;nbsp;&quot;_&quot;&amp;nbsp;&amp;amp;&amp;nbsp;countName &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;countName&amp;nbsp;=&amp;nbsp;countName&amp;nbsp;+&amp;nbsp;1 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Loop &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;시트&amp;nbsp;생성 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set&amp;nbsp;newSheet&amp;nbsp;=&amp;nbsp;ThisWorkbook.Sheets.Add(After:=Sheets(Sheets.Count)) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;newSheet.Name&amp;nbsp;=&amp;nbsp;wsName &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;If &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Next&amp;nbsp;cell &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Application.ScreenUpdating&amp;nbsp;=&amp;nbsp;True &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;MsgBox&amp;nbsp;&quot;시트&amp;nbsp;생성&amp;nbsp;완료!&quot;,&amp;nbsp;vbInformation &lt;br /&gt;End&amp;nbsp;Sub &lt;br /&gt;&lt;br /&gt;'&amp;nbsp;시트&amp;nbsp;존재&amp;nbsp;여부&amp;nbsp;확인&amp;nbsp;함수 &lt;br /&gt;Private&amp;nbsp;Function&amp;nbsp;SheetExists(shtName&amp;nbsp;As&amp;nbsp;String)&amp;nbsp;As&amp;nbsp;Boolean &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;ws&amp;nbsp;As&amp;nbsp;Worksheet &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;On&amp;nbsp;Error&amp;nbsp;Resume&amp;nbsp;Next &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set&amp;nbsp;ws&amp;nbsp;=&amp;nbsp;ThisWorkbook.Sheets(shtName) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;SheetExists&amp;nbsp;=&amp;nbsp;Not&amp;nbsp;ws&amp;nbsp;Is&amp;nbsp;Nothing &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;On&amp;nbsp;Error&amp;nbsp;GoTo&amp;nbsp;0 &lt;br /&gt;End Function&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;초보자도&amp;nbsp;실수&amp;nbsp;없이&amp;nbsp;활용할&amp;nbsp;수&amp;nbsp;있으며&amp;nbsp;&amp;nbsp;&lt;br /&gt;반복&amp;nbsp;작업이&amp;nbsp;많은&amp;nbsp;업무&amp;nbsp;담당자에게는&amp;nbsp;반드시&amp;nbsp;필요한&amp;nbsp;도구입니다.&lt;br /&gt;&lt;br /&gt;정리하며&lt;br /&gt;엑셀을 단순한 계산 도구가 아닌&amp;nbsp;&amp;nbsp;&lt;br /&gt;업무&amp;nbsp;자동화&amp;nbsp;플랫폼으로&amp;nbsp;활용하고&amp;nbsp;싶다면&amp;nbsp;&amp;nbsp;&lt;br /&gt;이런&amp;nbsp;매크로는&amp;nbsp;필수입니다.&lt;br /&gt;&lt;br /&gt;단&amp;nbsp;몇&amp;nbsp;초면&amp;nbsp;수작업으로&amp;nbsp;1시간&amp;nbsp;걸릴&amp;nbsp;일을&amp;nbsp;대신할&amp;nbsp;수&amp;nbsp;있습니다.&lt;br /&gt;&lt;br /&gt;엑셀&amp;nbsp;자동화에&amp;nbsp;관심&amp;nbsp;있으시다면&amp;nbsp;&amp;nbsp;&lt;br /&gt;블로그&amp;nbsp;구독하고&amp;nbsp;실전&amp;nbsp;VBA&amp;nbsp;팁을&amp;nbsp;꾸준히&amp;nbsp;받아보세요.&lt;br /&gt;&lt;br /&gt;감사합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;fileblock&quot; data-ke-align=&quot;alignCenter&quot;&gt;&lt;a href=&quot;https://blog.kakaocdn.net/dn/plCib/dJMb8597n9H/B27ZSH8zWcUl3mFmlXSdh1/%EC%85%80%EA%B0%92%EC%9C%BC%EB%A1%9C%20%EC%8B%9C%ED%8A%B8%20%EC%83%9D%EC%84%B1%ED%95%98%EA%B8%B0.xlsm?attach=1&amp;amp;knm=tfile.xlsm&quot; class=&quot;&quot;&gt;
    &lt;div class=&quot;image&quot;&gt;&lt;/div&gt;
    &lt;div class=&quot;desc&quot;&gt;&lt;div class=&quot;filename&quot;&gt;&lt;span class=&quot;name&quot;&gt;셀값으로 시트 생성하기.xlsm&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;size&quot;&gt;0.03MB&lt;/div&gt;
&lt;/div&gt;
  &lt;/a&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>Worksheet 개체</category>
      <category>엑셀VBA 엑셀매크로 자동시트생성 시트이름자동화 엑셀자동화 실무엑셀 엑셀팁 엑셀반복작업 엑셀시트일괄생성 고객별시트 엑셀업무자동화</category>
      <author>노만e</author>
      <guid isPermaLink="true">https://dream2049.tistory.com/177</guid>
      <comments>https://dream2049.tistory.com/177#entry177comment</comments>
      <pubDate>Sat, 30 Aug 2025 15:26:01 +0900</pubDate>
    </item>
    <item>
      <title>엑셀에서 순번 넣기</title>
      <link>https://dream2049.tistory.com/176</link>
      <description>&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1537&quot; data-origin-height=&quot;662&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/7bZld/btsQcjBoS4l/48Vzj4ZVNWKXNXWeFxz0dk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/7bZld/btsQcjBoS4l/48Vzj4ZVNWKXNXWeFxz0dk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/7bZld/btsQcjBoS4l/48Vzj4ZVNWKXNXWeFxz0dk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F7bZld%2FbtsQcjBoS4l%2F48Vzj4ZVNWKXNXWeFxz0dk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1537&quot; height=&quot;662&quot; data-origin-width=&quot;1537&quot; data-origin-height=&quot;662&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;엑셀에서&amp;nbsp;병합셀&amp;nbsp;포함&amp;nbsp;순번&amp;nbsp;매기기,&amp;nbsp;아직도&amp;nbsp;손으로&amp;nbsp;하나씩&amp;nbsp;하시나요? &lt;br /&gt;&lt;br /&gt;엑셀에서&amp;nbsp;순번을&amp;nbsp;입력할&amp;nbsp;일이&amp;nbsp;많지만&amp;nbsp;&amp;nbsp; &lt;br /&gt;병합셀이나&amp;nbsp;불규칙한&amp;nbsp;행&amp;nbsp;간격이&amp;nbsp;포함되어&amp;nbsp;있다면&amp;nbsp;&amp;nbsp; &lt;br /&gt;단순한&amp;nbsp;자동&amp;nbsp;채우기로는&amp;nbsp;처리가&amp;nbsp;어렵습니다. &lt;br /&gt;&lt;br /&gt;게다가&amp;nbsp;경우에&amp;nbsp;따라&amp;nbsp;아래처럼&amp;nbsp;다양한&amp;nbsp;패턴이&amp;nbsp;요구되죠: &lt;br /&gt;&lt;br /&gt;-&amp;nbsp;구간별&amp;nbsp;리셋되는&amp;nbsp;번호 &lt;br /&gt;-&amp;nbsp;등차수열 &lt;br /&gt;-&amp;nbsp;열&amp;nbsp;방향&amp;nbsp;증가 &lt;br /&gt;-&amp;nbsp;병합셀&amp;nbsp;포함된&amp;nbsp;복잡한&amp;nbsp;형태 &lt;br /&gt;&lt;br /&gt;이럴&amp;nbsp;때마다&amp;nbsp;수식이나&amp;nbsp;수작업으로&amp;nbsp;처리하다&amp;nbsp;보면&amp;nbsp;&amp;nbsp; &lt;br /&gt;시간은&amp;nbsp;오래&amp;nbsp;걸리고&amp;nbsp;실수는&amp;nbsp;잦아집니다. &lt;br /&gt;&lt;br /&gt;그럴&amp;nbsp;때&amp;nbsp;이&amp;nbsp;엑셀&amp;nbsp;VBA&amp;nbsp;매크로&amp;nbsp;하나면&amp;nbsp;모든&amp;nbsp;상황에&amp;nbsp;대응할&amp;nbsp;수&amp;nbsp;있습니다. &lt;br /&gt;&lt;br /&gt;엑셀&amp;nbsp;순번&amp;nbsp;매기기,&amp;nbsp;자동으로&amp;nbsp;다양한&amp;nbsp;방식으로&amp;nbsp;입력하는&amp;nbsp;매크로가&amp;nbsp;있을까요? &lt;br /&gt;&lt;br /&gt;있습니다.&amp;nbsp;&amp;nbsp; &lt;br /&gt;오늘&amp;nbsp;소개할&amp;nbsp;VBA&amp;nbsp;매크로는&amp;nbsp;총&amp;nbsp;**4가지&amp;nbsp;모드**를&amp;nbsp;지원하며&amp;nbsp;&amp;nbsp; &lt;br /&gt;사용자의&amp;nbsp;선택에&amp;nbsp;따라&amp;nbsp;병합셀&amp;nbsp;포함&amp;nbsp;여부,&amp;nbsp;열&amp;nbsp;방향&amp;nbsp;또는&amp;nbsp;행&amp;nbsp;방향,&amp;nbsp;&amp;nbsp; &lt;br /&gt;초기값&amp;nbsp;및&amp;nbsp;증분까지&amp;nbsp;지정할&amp;nbsp;수&amp;nbsp;있습니다. &lt;br /&gt;&lt;br /&gt;기능은&amp;nbsp;다음과&amp;nbsp;같습니다: &lt;br /&gt;&lt;br /&gt;1.&amp;nbsp;**문자-리셋&amp;nbsp;모드**&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;문자가&amp;nbsp;나타나면&amp;nbsp;번호를&amp;nbsp;1로&amp;nbsp;리셋하여&amp;nbsp;다시&amp;nbsp;시작&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;보고서&amp;nbsp;구분&amp;nbsp;행이나&amp;nbsp;그룹별&amp;nbsp;순번에&amp;nbsp;적합 &lt;br /&gt;&lt;br /&gt;2.&amp;nbsp;**구간&amp;nbsp;채우기&amp;nbsp;모드**&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;시작&amp;nbsp;숫자부터&amp;nbsp;종료&amp;nbsp;숫자까지&amp;nbsp;1씩&amp;nbsp;증가하며&amp;nbsp;채우기&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;예:&amp;nbsp;5부터&amp;nbsp;30까지&amp;nbsp;순차&amp;nbsp;입력 &lt;br /&gt;&lt;br /&gt;3.&amp;nbsp;**등차&amp;nbsp;수열&amp;nbsp;모드**&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;시작값과&amp;nbsp;증가값(공차)을&amp;nbsp;입력하여&amp;nbsp;순서대로&amp;nbsp;입력&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;예:&amp;nbsp;100,&amp;nbsp;200,&amp;nbsp;300&amp;nbsp;&amp;hellip; &lt;br /&gt;&lt;br /&gt;4.&amp;nbsp;**열&amp;nbsp;방향&amp;nbsp;증가&amp;nbsp;모드**&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;좌&amp;rarr;우,&amp;nbsp;위&amp;rarr;아래&amp;nbsp;순서로&amp;nbsp;숫자&amp;nbsp;증가&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;가로&amp;nbsp;구조&amp;nbsp;테이블,&amp;nbsp;스케줄,&amp;nbsp;좌석표에&amp;nbsp;적합 &lt;br /&gt;&lt;br /&gt;추가로,&amp;nbsp;모든&amp;nbsp;모드는&amp;nbsp;**병합&amp;nbsp;셀을&amp;nbsp;완전히&amp;nbsp;지원**하며&amp;nbsp;&amp;nbsp; &lt;br /&gt;병합된&amp;nbsp;셀도&amp;nbsp;하나의&amp;nbsp;단위로&amp;nbsp;인식하고&amp;nbsp;해당&amp;nbsp;영역&amp;nbsp;전체에&amp;nbsp;같은&amp;nbsp;값을&amp;nbsp;채워줍니다. &lt;br /&gt;&lt;br /&gt;코드&amp;nbsp;실행&amp;nbsp;흐름은&amp;nbsp;다음과&amp;nbsp;같습니다: &lt;br /&gt;&lt;br /&gt;1.&amp;nbsp;사용자가&amp;nbsp;입력할&amp;nbsp;셀을&amp;nbsp;선택&amp;nbsp;&amp;nbsp; &lt;br /&gt;2.&amp;nbsp;매크로&amp;nbsp;실행&amp;nbsp;&amp;rarr;&amp;nbsp;모드&amp;nbsp;선택&amp;nbsp;창&amp;nbsp;출력&amp;nbsp;&amp;nbsp; &lt;br /&gt;3.&amp;nbsp;각&amp;nbsp;모드에&amp;nbsp;따라&amp;nbsp;추가&amp;nbsp;숫자&amp;nbsp;입력&amp;nbsp;요청&amp;nbsp;&amp;nbsp; &lt;br /&gt;4.&amp;nbsp;병합&amp;nbsp;여부,&amp;nbsp;방향,&amp;nbsp;증분&amp;nbsp;고려하여&amp;nbsp;자동&amp;nbsp;입력 &lt;br /&gt;&lt;br /&gt;예시&amp;nbsp;활용&amp;nbsp;상황: &lt;br /&gt;&lt;br /&gt;-&amp;nbsp;시험지&amp;nbsp;문제&amp;nbsp;번호&amp;nbsp;입력&amp;nbsp;&amp;nbsp; &lt;br /&gt;-&amp;nbsp;팀원별&amp;nbsp;업무&amp;nbsp;시트&amp;nbsp;순번&amp;nbsp;매기기&amp;nbsp;&amp;nbsp; &lt;br /&gt;-&amp;nbsp;보고서&amp;nbsp;섹션별&amp;nbsp;자동&amp;nbsp;번호&amp;nbsp;부여&amp;nbsp;&amp;nbsp; &lt;br /&gt;-&amp;nbsp;테이블형&amp;nbsp;좌석&amp;nbsp;배치&amp;nbsp;순번&amp;nbsp;자동화&amp;nbsp;&amp;nbsp; &lt;br /&gt;-&amp;nbsp;수기&amp;nbsp;대장&amp;nbsp;자동&amp;nbsp;정렬&amp;nbsp;번호&amp;nbsp;입력&amp;nbsp;등 &lt;br /&gt;&lt;br /&gt;이&amp;nbsp;매크로는&amp;nbsp;특히&amp;nbsp;**셀&amp;nbsp;병합이&amp;nbsp;포함된&amp;nbsp;양식이나&amp;nbsp;보고서에&amp;nbsp;강력한&amp;nbsp;기능**을&amp;nbsp;제공합니다. &lt;br /&gt;&lt;br /&gt;VBA 코드&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 100%;&quot;&gt;Option&amp;nbsp;Explicit &lt;br /&gt;&lt;br /&gt;'&amp;nbsp;=============================================== &lt;br /&gt;'&amp;nbsp;다중&amp;nbsp;모드&amp;nbsp;순번/수열&amp;nbsp;입력기&amp;nbsp;(병합셀&amp;nbsp;완전&amp;nbsp;지원) &lt;br /&gt;'&amp;nbsp;사용법: &lt;br /&gt;'&amp;nbsp;&amp;nbsp;&amp;nbsp;1)&amp;nbsp;번호를&amp;nbsp;넣을&amp;nbsp;범위를&amp;nbsp;선택한다. &lt;br /&gt;'&amp;nbsp;&amp;nbsp;&amp;nbsp;2)&amp;nbsp;FillSequence_MultiMode&amp;nbsp;매크로&amp;nbsp;실행&amp;nbsp;후&amp;nbsp;모드&amp;nbsp;선택. &lt;br /&gt;' &lt;br /&gt;'&amp;nbsp;모드&amp;nbsp;설명 &lt;br /&gt;'&amp;nbsp;&amp;nbsp;&amp;nbsp;1)&amp;nbsp;[문자-리셋&amp;nbsp;모드]&amp;nbsp;:&amp;nbsp;&quot;숫자가&amp;nbsp;아닌&amp;nbsp;값&quot;이&amp;nbsp;있는&amp;nbsp;행은&amp;nbsp;그대로&amp;nbsp;두고, &lt;br /&gt;'&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;그&amp;nbsp;&quot;다음&amp;nbsp;행&quot;부터&amp;nbsp;1로&amp;nbsp;재시작하여&amp;nbsp;아래로&amp;nbsp;번호&amp;nbsp;입력 &lt;br /&gt;'&amp;nbsp;&amp;nbsp;&amp;nbsp;2)&amp;nbsp;[구간&amp;nbsp;채우기]&amp;nbsp;:&amp;nbsp;첫&amp;nbsp;숫자와&amp;nbsp;마지막&amp;nbsp;숫자를&amp;nbsp;입력하면,&amp;nbsp;활성&amp;nbsp;셀부터 &lt;br /&gt;'&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;아래&amp;nbsp;방향으로&amp;nbsp;1씩&amp;nbsp;증가하며&amp;nbsp;마지막&amp;nbsp;숫자까지&amp;nbsp;채움&amp;nbsp;(?Gemini&amp;nbsp;개선&amp;nbsp;코드) &lt;br /&gt;'&amp;nbsp;&amp;nbsp;&amp;nbsp;3)&amp;nbsp;[등차&amp;nbsp;수열]&amp;nbsp;:&amp;nbsp;첫&amp;nbsp;숫자와&amp;nbsp;증분(증가량)을&amp;nbsp;넣어&amp;nbsp;아래로&amp;nbsp;채움 &lt;br /&gt;'&amp;nbsp;&amp;nbsp;&amp;nbsp;4)&amp;nbsp;[열&amp;nbsp;방향&amp;nbsp;증가]&amp;nbsp;:&amp;nbsp;선택영역을&amp;nbsp;가로로&amp;nbsp;진행하며&amp;nbsp;증가(좌&amp;rarr;우,&amp;nbsp;위&amp;rarr;아래) &lt;br /&gt;'&amp;nbsp;공통&amp;nbsp;규칙 &lt;br /&gt;'&amp;nbsp;&amp;nbsp;&amp;nbsp;-&amp;nbsp;병합셀은&amp;nbsp;MergeArea&amp;nbsp;전체에&amp;nbsp;동일&amp;nbsp;값&amp;nbsp;입력하고&amp;nbsp;1스텝으로&amp;nbsp;간주 &lt;br /&gt;'&amp;nbsp;=============================================== &lt;br /&gt;Public&amp;nbsp;Sub&amp;nbsp;FillSequence_MultiMode() &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;selRng&amp;nbsp;As&amp;nbsp;Range &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;modeNo&amp;nbsp;As&amp;nbsp;Variant &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;startNum&amp;nbsp;As&amp;nbsp;Double,&amp;nbsp;endNum&amp;nbsp;As&amp;nbsp;Double,&amp;nbsp;stepNum&amp;nbsp;As&amp;nbsp;Double &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;TypeName(Selection)&amp;nbsp;&amp;lt;&amp;gt;&amp;nbsp;&quot;Range&quot;&amp;nbsp;Then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set&amp;nbsp;selRng&amp;nbsp;=&amp;nbsp;Application.InputBox(&quot;번호를&amp;nbsp;넣을&amp;nbsp;범위를&amp;nbsp;선택하세요.&quot;,&amp;nbsp;&quot;순번&amp;nbsp;입력&quot;,&amp;nbsp;Type:=8) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;selRng&amp;nbsp;Is&amp;nbsp;Nothing&amp;nbsp;Then&amp;nbsp;Exit&amp;nbsp;Sub &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Else &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set&amp;nbsp;selRng&amp;nbsp;=&amp;nbsp;Selection &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;If &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;modeNo&amp;nbsp;=&amp;nbsp;Application.InputBox(&amp;nbsp;_ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Prompt:=&quot;모드를&amp;nbsp;선택하세요:&quot;&amp;nbsp;&amp;amp;&amp;nbsp;vbCrLf&amp;nbsp;&amp;amp;&amp;nbsp;_ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&quot;1&amp;nbsp;=&amp;nbsp;문자&amp;nbsp;만나면&amp;nbsp;다음&amp;nbsp;행부터&amp;nbsp;1로&amp;nbsp;리셋&amp;nbsp;(세로)&quot;&amp;nbsp;&amp;amp;&amp;nbsp;vbCrLf&amp;nbsp;&amp;amp;&amp;nbsp;_ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&quot;2&amp;nbsp;=&amp;nbsp;첫&amp;nbsp;숫자~마지막&amp;nbsp;숫자&amp;nbsp;구간&amp;nbsp;채우기&amp;nbsp;(세로)&quot;&amp;nbsp;&amp;amp;&amp;nbsp;vbCrLf&amp;nbsp;&amp;amp;&amp;nbsp;_ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&quot;3&amp;nbsp;=&amp;nbsp;첫&amp;nbsp;숫자&amp;nbsp;+&amp;nbsp;증분(등차수열)&amp;nbsp;(세로)&quot;&amp;nbsp;&amp;amp;&amp;nbsp;vbCrLf&amp;nbsp;&amp;amp;&amp;nbsp;_ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&quot;4&amp;nbsp;=&amp;nbsp;열&amp;nbsp;방향으로&amp;nbsp;증가&amp;nbsp;(가로&amp;rarr;세로)&quot;,&amp;nbsp;_ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Title:=&quot;순번&amp;nbsp;모드&amp;nbsp;선택&quot;,&amp;nbsp;Type:=1) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;modeNo&amp;nbsp;=&amp;nbsp;False&amp;nbsp;Then&amp;nbsp;Exit&amp;nbsp;Sub &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;modeNo&amp;nbsp;&amp;lt;&amp;nbsp;1&amp;nbsp;Or&amp;nbsp;modeNo&amp;nbsp;&amp;gt;&amp;nbsp;4&amp;nbsp;Then&amp;nbsp;Exit&amp;nbsp;Sub &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;On&amp;nbsp;Error&amp;nbsp;GoTo&amp;nbsp;FIN &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Application.ScreenUpdating&amp;nbsp;=&amp;nbsp;False &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Application.EnableEvents&amp;nbsp;=&amp;nbsp;False &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Application.Calculation&amp;nbsp;=&amp;nbsp;xlCalculationManual &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Select&amp;nbsp;Case&amp;nbsp;CLng(modeNo) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Case&amp;nbsp;1 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Mode1_ResetOnText&amp;nbsp;selRng &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Case&amp;nbsp;2 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;startNum&amp;nbsp;=&amp;nbsp;CDbl(Application.InputBox(&quot;첫&amp;nbsp;숫자를&amp;nbsp;입력하세요.&quot;,&amp;nbsp;&quot;구간&amp;nbsp;시작&quot;,&amp;nbsp;Type:=1)) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;endNum&amp;nbsp;=&amp;nbsp;CDbl(Application.InputBox(&quot;마지막&amp;nbsp;숫자를&amp;nbsp;입력하세요.&quot;,&amp;nbsp;&quot;구간&amp;nbsp;끝&quot;,&amp;nbsp;Type:=1)) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Mode2_RangeFill&amp;nbsp;selRng,&amp;nbsp;startNum,&amp;nbsp;endNum &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Case&amp;nbsp;3 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;startNum&amp;nbsp;=&amp;nbsp;CDbl(Application.InputBox(&quot;첫&amp;nbsp;숫자를&amp;nbsp;입력하세요.&quot;,&amp;nbsp;&quot;초항&quot;,&amp;nbsp;Type:=1)) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;stepNum&amp;nbsp;=&amp;nbsp;CDbl(Application.InputBox(&quot;증분(등차)을&amp;nbsp;입력하세요.&amp;nbsp;예:&amp;nbsp;1,&amp;nbsp;0.5,&amp;nbsp;-2&quot;,&amp;nbsp;&quot;공차&quot;,&amp;nbsp;Type:=1)) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Mode3_Arithmetic&amp;nbsp;selRng,&amp;nbsp;startNum,&amp;nbsp;stepNum &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Case&amp;nbsp;4 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;startNum&amp;nbsp;=&amp;nbsp;CDbl(Application.InputBox(&quot;시작&amp;nbsp;숫자를&amp;nbsp;입력하세요.&quot;,&amp;nbsp;&quot;열&amp;nbsp;방향&amp;nbsp;시작값&quot;,&amp;nbsp;Type:=1)) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;stepNum&amp;nbsp;=&amp;nbsp;CDbl(Application.InputBox(&quot;증분(증가량)을&amp;nbsp;입력하세요.&quot;,&amp;nbsp;&quot;열&amp;nbsp;방향&amp;nbsp;증분&quot;,&amp;nbsp;Type:=1)) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Mode4_Horizontal&amp;nbsp;selRng,&amp;nbsp;startNum,&amp;nbsp;stepNum &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;Select &lt;br /&gt;&lt;br /&gt;FIN: &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Application.Calculation&amp;nbsp;=&amp;nbsp;xlCalculationAutomatic &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Application.EnableEvents&amp;nbsp;=&amp;nbsp;True &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Application.ScreenUpdating&amp;nbsp;=&amp;nbsp;True &lt;br /&gt;End&amp;nbsp;Sub &lt;br /&gt;&lt;br /&gt;'&amp;nbsp;===============&amp;nbsp;모드&amp;nbsp;1&amp;nbsp;(첫&amp;nbsp;셀&amp;nbsp;기준&amp;nbsp;1씩&amp;nbsp;증가)&amp;nbsp;=============== &lt;br /&gt;'&amp;nbsp;-&amp;nbsp;첫&amp;nbsp;셀에&amp;nbsp;값이&amp;nbsp;있으면&amp;nbsp;그&amp;nbsp;값에서&amp;nbsp;시작 &lt;br /&gt;'&amp;nbsp;-&amp;nbsp;다음&amp;nbsp;행부터&amp;nbsp;1씩&amp;nbsp;증가 &lt;br /&gt;'&amp;nbsp;-&amp;nbsp;글자가&amp;nbsp;있으면&amp;nbsp;번호&amp;nbsp;리셋 &lt;br /&gt;Private&amp;nbsp;Sub&amp;nbsp;Mode1_ResetOnText(ByVal&amp;nbsp;rng&amp;nbsp;As&amp;nbsp;Range) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;a&amp;nbsp;As&amp;nbsp;Range,&amp;nbsp;ws&amp;nbsp;As&amp;nbsp;Worksheet &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;r&amp;nbsp;As&amp;nbsp;Long,&amp;nbsp;lastRow&amp;nbsp;As&amp;nbsp;Long,&amp;nbsp;col&amp;nbsp;As&amp;nbsp;Long &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;seq&amp;nbsp;As&amp;nbsp;Double &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;c&amp;nbsp;As&amp;nbsp;Range,&amp;nbsp;tl&amp;nbsp;As&amp;nbsp;Range &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;initialized&amp;nbsp;As&amp;nbsp;Boolean &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;For&amp;nbsp;Each&amp;nbsp;a&amp;nbsp;In&amp;nbsp;rng.Areas &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set&amp;nbsp;ws&amp;nbsp;=&amp;nbsp;a.Worksheet &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;col&amp;nbsp;=&amp;nbsp;a.Columns(1).Column &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;lastRow&amp;nbsp;=&amp;nbsp;a.Row&amp;nbsp;+&amp;nbsp;a.Rows.Count&amp;nbsp;-&amp;nbsp;1 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;initialized&amp;nbsp;=&amp;nbsp;False &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;r&amp;nbsp;=&amp;nbsp;a.Row &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Do&amp;nbsp;While&amp;nbsp;r&amp;nbsp;&amp;lt;=&amp;nbsp;lastRow &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set&amp;nbsp;c&amp;nbsp;=&amp;nbsp;ws.Cells(r,&amp;nbsp;col) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;병합이면&amp;nbsp;좌상단만&amp;nbsp;사용 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;c.MergeCells&amp;nbsp;Then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set&amp;nbsp;tl&amp;nbsp;=&amp;nbsp;c.MergeArea.Cells(1,&amp;nbsp;1) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;c.Address&amp;nbsp;&amp;lt;&amp;gt;&amp;nbsp;tl.Address&amp;nbsp;Then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;r&amp;nbsp;=&amp;nbsp;r&amp;nbsp;+&amp;nbsp;1 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;GoTo&amp;nbsp;ContinueLoop &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;If &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Else &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set&amp;nbsp;tl&amp;nbsp;=&amp;nbsp;c &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;If &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;HasNonNumericText(tl.Value)&amp;nbsp;Then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;글자가&amp;nbsp;있으면&amp;nbsp;&amp;rarr;&amp;nbsp;다음&amp;nbsp;행부터&amp;nbsp;1로&amp;nbsp;리셋 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;seq&amp;nbsp;=&amp;nbsp;1 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;initialized&amp;nbsp;=&amp;nbsp;True &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Else &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;Not&amp;nbsp;initialized&amp;nbsp;Then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;첫&amp;nbsp;번째&amp;nbsp;숫자&amp;nbsp;&amp;rarr;&amp;nbsp;그대로&amp;nbsp;두고&amp;nbsp;초기화 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;IsNumeric(tl.Value)&amp;nbsp;And&amp;nbsp;Not&amp;nbsp;IsEmpty(tl.Value)&amp;nbsp;Then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;seq&amp;nbsp;=&amp;nbsp;CDbl(tl.Value)&amp;nbsp;+&amp;nbsp;1 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Else &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;비어있다면&amp;nbsp;1로&amp;nbsp;시작 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;AssignValue&amp;nbsp;tl,&amp;nbsp;1 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;seq&amp;nbsp;=&amp;nbsp;2 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;If &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;initialized&amp;nbsp;=&amp;nbsp;True &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Else &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;순번&amp;nbsp;입력 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;AssignValue&amp;nbsp;tl,&amp;nbsp;seq &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;seq&amp;nbsp;=&amp;nbsp;seq&amp;nbsp;+&amp;nbsp;1 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;If &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;If &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;병합된&amp;nbsp;경우&amp;nbsp;마지막&amp;nbsp;행으로&amp;nbsp;점프 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;tl.MergeCells&amp;nbsp;Then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;r&amp;nbsp;=&amp;nbsp;tl.MergeArea.Row&amp;nbsp;+&amp;nbsp;tl.MergeArea.Rows.Count&amp;nbsp;-&amp;nbsp;1 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;If &lt;br /&gt;ContinueLoop: &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;r&amp;nbsp;=&amp;nbsp;r&amp;nbsp;+&amp;nbsp;1 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Loop &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Next&amp;nbsp;a &lt;br /&gt;End&amp;nbsp;Sub &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;'&amp;nbsp;===============&amp;nbsp;모드&amp;nbsp;2&amp;nbsp;(선택&amp;nbsp;셀&amp;nbsp;기준,&amp;nbsp;한&amp;nbsp;행씩&amp;nbsp;+1,&amp;nbsp;lastVal&amp;nbsp;포함&amp;nbsp;후&amp;nbsp;종료)&amp;nbsp;=============== &lt;br /&gt;&lt;br /&gt;Private&amp;nbsp;Sub&amp;nbsp;Mode2_RangeFill(ByVal&amp;nbsp;rng&amp;nbsp;As&amp;nbsp;Range,&amp;nbsp;ByVal&amp;nbsp;firstVal&amp;nbsp;As&amp;nbsp;Double,&amp;nbsp;ByVal&amp;nbsp;lastVal&amp;nbsp;As&amp;nbsp;Double) &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;변수&amp;nbsp;선언 &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;i&amp;nbsp;As&amp;nbsp;Long &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;현재&amp;nbsp;셀에&amp;nbsp;첫&amp;nbsp;번째&amp;nbsp;숫자&amp;nbsp;입력 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;rng.Value&amp;nbsp;=&amp;nbsp;firstVal &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;다음&amp;nbsp;셀부터&amp;nbsp;마지막&amp;nbsp;숫자까지&amp;nbsp;1씩&amp;nbsp;증가하며&amp;nbsp;입력 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;For&amp;nbsp;i&amp;nbsp;=&amp;nbsp;1&amp;nbsp;To&amp;nbsp;(lastVal&amp;nbsp;-&amp;nbsp;firstVal) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;rng.Offset(i,&amp;nbsp;0).Value&amp;nbsp;=&amp;nbsp;firstVal&amp;nbsp;+&amp;nbsp;i &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Next&amp;nbsp;i &lt;br /&gt;&lt;br /&gt;End&amp;nbsp;Sub &lt;br /&gt;&lt;br /&gt;'&amp;nbsp;===&amp;nbsp;병합&amp;nbsp;영역&amp;nbsp;안전&amp;nbsp;기록&amp;nbsp;헬퍼:&amp;nbsp;Sub로&amp;nbsp;호출(=&amp;nbsp;사용&amp;nbsp;금지)&amp;nbsp;=== &lt;br /&gt;Private&amp;nbsp;Sub&amp;nbsp;AssignValue(ByVal&amp;nbsp;topLeft&amp;nbsp;As&amp;nbsp;Range,&amp;nbsp;ByVal&amp;nbsp;v&amp;nbsp;As&amp;nbsp;Variant) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;topLeft.MergeCells&amp;nbsp;Then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;topLeft.MergeArea.Value&amp;nbsp;=&amp;nbsp;v &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Else &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;topLeft.Value&amp;nbsp;=&amp;nbsp;v &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;If &lt;br /&gt;End&amp;nbsp;Sub &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;'&amp;nbsp;===============&amp;nbsp;모드&amp;nbsp;3&amp;nbsp;=============== &lt;br /&gt;'&amp;nbsp;등차&amp;nbsp;수열&amp;nbsp;(세로)&amp;nbsp;:&amp;nbsp;초항&amp;nbsp;+&amp;nbsp;n*증분 &lt;br /&gt;Private&amp;nbsp;Sub&amp;nbsp;Mode3_Arithmetic(ByVal&amp;nbsp;rng&amp;nbsp;As&amp;nbsp;Range,&amp;nbsp;ByVal&amp;nbsp;firstVal&amp;nbsp;As&amp;nbsp;Double,&amp;nbsp;ByVal&amp;nbsp;diff&amp;nbsp;As&amp;nbsp;Double) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;a&amp;nbsp;As&amp;nbsp;Range,&amp;nbsp;ws&amp;nbsp;As&amp;nbsp;Worksheet &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;r&amp;nbsp;As&amp;nbsp;Long,&amp;nbsp;lastRow&amp;nbsp;As&amp;nbsp;Long,&amp;nbsp;col&amp;nbsp;As&amp;nbsp;Long &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;cur&amp;nbsp;As&amp;nbsp;Double &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;c&amp;nbsp;As&amp;nbsp;Range,&amp;nbsp;tl&amp;nbsp;As&amp;nbsp;Range &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;For&amp;nbsp;Each&amp;nbsp;a&amp;nbsp;In&amp;nbsp;rng.Areas &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set&amp;nbsp;ws&amp;nbsp;=&amp;nbsp;a.Worksheet &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;col&amp;nbsp;=&amp;nbsp;a.Columns(1).Column &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;lastRow&amp;nbsp;=&amp;nbsp;a.Row&amp;nbsp;+&amp;nbsp;a.Rows.Count&amp;nbsp;-&amp;nbsp;1 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;cur&amp;nbsp;=&amp;nbsp;firstVal &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;r&amp;nbsp;=&amp;nbsp;a.Row &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Do&amp;nbsp;While&amp;nbsp;r&amp;nbsp;&amp;lt;=&amp;nbsp;lastRow &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set&amp;nbsp;c&amp;nbsp;=&amp;nbsp;ws.Cells(r,&amp;nbsp;col) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;c.MergeCells&amp;nbsp;Then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set&amp;nbsp;tl&amp;nbsp;=&amp;nbsp;c.MergeArea.Cells(1,&amp;nbsp;1) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;c.Address&amp;nbsp;&amp;lt;&amp;gt;&amp;nbsp;tl.Address&amp;nbsp;Then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;r&amp;nbsp;=&amp;nbsp;r&amp;nbsp;+&amp;nbsp;1 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;GoTo&amp;nbsp;ContinueLoop &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;If &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Else &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set&amp;nbsp;tl&amp;nbsp;=&amp;nbsp;c &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;If &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;AssignValue&amp;nbsp;tl,&amp;nbsp;cur &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;tl.MergeCells&amp;nbsp;Then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;r&amp;nbsp;=&amp;nbsp;tl.MergeArea.Row&amp;nbsp;+&amp;nbsp;tl.MergeArea.Rows.Count&amp;nbsp;-&amp;nbsp;1 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;If &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;cur&amp;nbsp;=&amp;nbsp;cur&amp;nbsp;+&amp;nbsp;diff &lt;br /&gt;ContinueLoop: &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;r&amp;nbsp;=&amp;nbsp;r&amp;nbsp;+&amp;nbsp;1 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Loop &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Next&amp;nbsp;a &lt;br /&gt;End&amp;nbsp;Sub &lt;br /&gt;&lt;br /&gt;'&amp;nbsp;===============&amp;nbsp;모드&amp;nbsp;4&amp;nbsp;=============== &lt;br /&gt;'&amp;nbsp;열&amp;nbsp;방향(좌&amp;rarr;우,&amp;nbsp;위&amp;rarr;아래)&amp;nbsp;증가 &lt;br /&gt;Private&amp;nbsp;Sub&amp;nbsp;Mode4_Horizontal(ByVal&amp;nbsp;rng&amp;nbsp;As&amp;nbsp;Range,&amp;nbsp;ByVal&amp;nbsp;firstVal&amp;nbsp;As&amp;nbsp;Double,&amp;nbsp;ByVal&amp;nbsp;diff&amp;nbsp;As&amp;nbsp;Double) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;a&amp;nbsp;As&amp;nbsp;Range,&amp;nbsp;ws&amp;nbsp;As&amp;nbsp;Worksheet &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;r&amp;nbsp;As&amp;nbsp;Long,&amp;nbsp;c&amp;nbsp;As&amp;nbsp;Long,&amp;nbsp;cur&amp;nbsp;As&amp;nbsp;Double &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;topRow&amp;nbsp;As&amp;nbsp;Long,&amp;nbsp;leftCol&amp;nbsp;As&amp;nbsp;Long,&amp;nbsp;bottomRow&amp;nbsp;As&amp;nbsp;Long,&amp;nbsp;rightCol&amp;nbsp;As&amp;nbsp;Long &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;cell&amp;nbsp;As&amp;nbsp;Range,&amp;nbsp;tl&amp;nbsp;As&amp;nbsp;Range &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;For&amp;nbsp;Each&amp;nbsp;a&amp;nbsp;In&amp;nbsp;rng.Areas &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set&amp;nbsp;ws&amp;nbsp;=&amp;nbsp;a.Worksheet &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;topRow&amp;nbsp;=&amp;nbsp;a.Row:&amp;nbsp;leftCol&amp;nbsp;=&amp;nbsp;a.Column &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;bottomRow&amp;nbsp;=&amp;nbsp;a.Row&amp;nbsp;+&amp;nbsp;a.Rows.Count&amp;nbsp;-&amp;nbsp;1 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;rightCol&amp;nbsp;=&amp;nbsp;a.Column&amp;nbsp;+&amp;nbsp;a.Columns.Count&amp;nbsp;-&amp;nbsp;1 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;cur&amp;nbsp;=&amp;nbsp;firstVal &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;For&amp;nbsp;r&amp;nbsp;=&amp;nbsp;topRow&amp;nbsp;To&amp;nbsp;bottomRow &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;c&amp;nbsp;=&amp;nbsp;leftCol &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Do&amp;nbsp;While&amp;nbsp;c&amp;nbsp;&amp;lt;=&amp;nbsp;rightCol &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set&amp;nbsp;cell&amp;nbsp;=&amp;nbsp;ws.Cells(r,&amp;nbsp;c) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;병합이면&amp;nbsp;좌상단만&amp;nbsp;처리하고&amp;nbsp;우/하&amp;nbsp;범위를&amp;nbsp;한&amp;nbsp;번에&amp;nbsp;건너뜀 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;cell.MergeCells&amp;nbsp;Then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set&amp;nbsp;tl&amp;nbsp;=&amp;nbsp;cell.MergeArea.Cells(1,&amp;nbsp;1) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;cell.Address&amp;nbsp;&amp;lt;&amp;gt;&amp;nbsp;tl.Address&amp;nbsp;Then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;c&amp;nbsp;=&amp;nbsp;c&amp;nbsp;+&amp;nbsp;1 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;GoTo&amp;nbsp;NextCol &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;If &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;AssignValue&amp;nbsp;tl,&amp;nbsp;cur &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;다음&amp;nbsp;진행&amp;nbsp;위치:&amp;nbsp;병합영역의&amp;nbsp;&quot;마지막&amp;nbsp;열&amp;nbsp;+&amp;nbsp;1&quot; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;c&amp;nbsp;=&amp;nbsp;tl.MergeArea.Column&amp;nbsp;+&amp;nbsp;tl.MergeArea.Columns.Count &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Else &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;AssignValue&amp;nbsp;cell,&amp;nbsp;cur &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;c&amp;nbsp;=&amp;nbsp;c&amp;nbsp;+&amp;nbsp;1 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;If &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;cur&amp;nbsp;=&amp;nbsp;cur&amp;nbsp;+&amp;nbsp;diff &lt;br /&gt;NextCol: &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Loop &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Next&amp;nbsp;r &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Next&amp;nbsp;a &lt;br /&gt;End&amp;nbsp;Sub &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;'&amp;nbsp;&quot;숫자로&amp;nbsp;완전히&amp;nbsp;해석되지&amp;nbsp;않으면&quot;&amp;nbsp;텍스트로&amp;nbsp;간주 &lt;br /&gt;Private&amp;nbsp;Function&amp;nbsp;HasNonNumericText(ByVal&amp;nbsp;v&amp;nbsp;As&amp;nbsp;Variant)&amp;nbsp;As&amp;nbsp;Boolean &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;s&amp;nbsp;As&amp;nbsp;String:&amp;nbsp;s&amp;nbsp;=&amp;nbsp;Trim$(CStr(v)) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;s&amp;nbsp;=&amp;nbsp;&quot;&quot;&amp;nbsp;Then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;HasNonNumericText&amp;nbsp;=&amp;nbsp;False &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Else &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;HasNonNumericText&amp;nbsp;=&amp;nbsp;Not&amp;nbsp;IsNumeric(s) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;If &lt;br /&gt;End&amp;nbsp;Function &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Sub&amp;nbsp;SelectNumericCells() &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;selRng&amp;nbsp;As&amp;nbsp;Range,&amp;nbsp;c&amp;nbsp;As&amp;nbsp;Range &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;numRng&amp;nbsp;As&amp;nbsp;Range &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;선택한&amp;nbsp;범위&amp;nbsp;확인 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;TypeName(Selection)&amp;nbsp;&amp;lt;&amp;gt;&amp;nbsp;&quot;Range&quot;&amp;nbsp;Then&amp;nbsp;Exit&amp;nbsp;Sub &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set&amp;nbsp;selRng&amp;nbsp;=&amp;nbsp;ActiveSheet.UsedRange &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;숫자만&amp;nbsp;모으기 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;For&amp;nbsp;Each&amp;nbsp;c&amp;nbsp;In&amp;nbsp;selRng.Cells &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;IsNumeric(c.Value)&amp;nbsp;And&amp;nbsp;Not&amp;nbsp;IsEmpty(c.Value)&amp;nbsp;Then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;numRng&amp;nbsp;Is&amp;nbsp;Nothing&amp;nbsp;Then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set&amp;nbsp;numRng&amp;nbsp;=&amp;nbsp;c &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Else &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set&amp;nbsp;numRng&amp;nbsp;=&amp;nbsp;Union(numRng,&amp;nbsp;c) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;If &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;If &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Next&amp;nbsp;c &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;결과&amp;nbsp;처리 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;numRng&amp;nbsp;Is&amp;nbsp;Nothing&amp;nbsp;Then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;MsgBox&amp;nbsp;&quot;선택한&amp;nbsp;범위에&amp;nbsp;숫자가&amp;nbsp;없습니다.&quot;,&amp;nbsp;vbInformation &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Else &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;numRng.Select &lt;br /&gt;'&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;numRng.Interior.Color&amp;nbsp;=&amp;nbsp;vbYellow&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;숫자셀을&amp;nbsp;강조&amp;nbsp;표시 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;If &lt;br /&gt;End&amp;nbsp;Sub &lt;br /&gt;&lt;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;br /&gt;이제 순번 입력도 자동화해보세요. &lt;br /&gt;&lt;br /&gt;엑셀&amp;nbsp;VBA를&amp;nbsp;몰라도&amp;nbsp;&amp;nbsp; &lt;br /&gt;이&amp;nbsp;매크로는&amp;nbsp;설명이&amp;nbsp;직관적이어서&amp;nbsp;누구나&amp;nbsp;쉽게&amp;nbsp;사용할&amp;nbsp;수&amp;nbsp;있습니다. &lt;br /&gt;&lt;br /&gt;복잡한&amp;nbsp;순번&amp;nbsp;패턴도&amp;nbsp;이제&amp;nbsp;단&amp;nbsp;10초면&amp;nbsp;해결&amp;nbsp;가능합니다. &lt;br /&gt;&lt;br /&gt;엑셀&amp;nbsp;자동화를&amp;nbsp;활용한&amp;nbsp;스마트&amp;nbsp;워크에&amp;nbsp;관심&amp;nbsp;있다면&amp;nbsp;&amp;nbsp; &lt;br /&gt;지금&amp;nbsp;블로그를&amp;nbsp;구독하고&amp;nbsp;더&amp;nbsp;많은&amp;nbsp;실전&amp;nbsp;매크로를&amp;nbsp;받아보세요. &lt;br /&gt;&lt;br /&gt;감사합니다. &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;fileblock&quot; data-ke-align=&quot;alignCenter&quot;&gt;&lt;a href=&quot;https://blog.kakaocdn.net/dn/eu1f65/dJMb9XqGRBn/jrajdhTakAO6okniuo3H80/%EC%85%80%EC%97%90%20%EC%88%9C%EB%B2%88%20%EB%84%A3%EA%B8%B0%20%EB%B0%A9%EB%B2%95.xlsm?attach=1&amp;amp;knm=tfile.xlsm&quot; class=&quot;&quot;&gt;
    &lt;div class=&quot;image&quot;&gt;&lt;/div&gt;
    &lt;div class=&quot;desc&quot;&gt;&lt;div class=&quot;filename&quot;&gt;&lt;span class=&quot;name&quot;&gt;셀에 순번 넣기 방법.xlsm&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;size&quot;&gt;0.04MB&lt;/div&gt;
&lt;/div&gt;
  &lt;/a&gt;&lt;/figure&gt;
&lt;/p&gt;</description>
      <category>DATA</category>
      <category>엑셀VBA #엑셀매크로 자동순번입력 #병합셀순번 수열자동입력 #엑셀자동화 #엑셀팁 #엑셀번호입력</category>
      <author>노만e</author>
      <guid isPermaLink="true">https://dream2049.tistory.com/176</guid>
      <comments>https://dream2049.tistory.com/176#entry176comment</comments>
      <pubDate>Thu, 28 Aug 2025 21:06:58 +0900</pubDate>
    </item>
    <item>
      <title>엑셀 두 범위, 여러 열 중복값 찾기</title>
      <link>https://dream2049.tistory.com/175</link>
      <description>&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1069&quot; data-origin-height=&quot;615&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/oX8ot/btsQaTP3mhz/qI9WEn1sdSQdrKMCDBNFM0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/oX8ot/btsQaTP3mhz/qI9WEn1sdSQdrKMCDBNFM0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/oX8ot/btsQaTP3mhz/qI9WEn1sdSQdrKMCDBNFM0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FoX8ot%2FbtsQaTP3mhz%2FqI9WEn1sdSQdrKMCDBNFM0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1069&quot; height=&quot;615&quot; data-origin-width=&quot;1069&quot; data-origin-height=&quot;615&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;엑셀에서&amp;nbsp;두&amp;nbsp;범위의&amp;nbsp;중복&amp;nbsp;데이터를&amp;nbsp;빠르게&amp;nbsp;찾고&amp;nbsp;싶으신가요? &lt;br /&gt;&lt;br /&gt;두&amp;nbsp;개의&amp;nbsp;테이블이나&amp;nbsp;시트&amp;nbsp;간&amp;nbsp;데이터를&amp;nbsp;비교하다&amp;nbsp;보면&amp;nbsp;&amp;nbsp; &lt;br /&gt;중복되는&amp;nbsp;행이&amp;nbsp;있는지&amp;nbsp;확인하는&amp;nbsp;일이&amp;nbsp;참&amp;nbsp;번거롭습니다.&amp;nbsp;&amp;nbsp; &lt;br /&gt;눈으로&amp;nbsp;하나씩&amp;nbsp;확인하다&amp;nbsp;보면&amp;nbsp;실수도&amp;nbsp;생기고&amp;nbsp;시간이&amp;nbsp;오래&amp;nbsp;걸립니다. &lt;br /&gt;&lt;br /&gt;특히&amp;nbsp;수천&amp;nbsp;개의&amp;nbsp;데이터가&amp;nbsp;있는&amp;nbsp;경우라면&amp;nbsp;&amp;nbsp; &lt;br /&gt;이&amp;nbsp;작업은&amp;nbsp;반복과&amp;nbsp;지루함의&amp;nbsp;연속일&amp;nbsp;수밖에&amp;nbsp;없죠. &lt;br /&gt;&lt;br /&gt;그렇다면,&amp;nbsp;엑셀&amp;nbsp;매크로&amp;nbsp;한&amp;nbsp;줄로&amp;nbsp;이&amp;nbsp;문제를&amp;nbsp;해결할&amp;nbsp;수&amp;nbsp;있다면&amp;nbsp;어떨까요? &lt;br /&gt;&lt;br /&gt;두&amp;nbsp;데이터&amp;nbsp;범위에서&amp;nbsp;중복&amp;nbsp;행을&amp;nbsp;자동으로&amp;nbsp;찾아서&amp;nbsp;색상으로&amp;nbsp;표시하는&amp;nbsp;방법은? &lt;br /&gt;&lt;br /&gt;오늘&amp;nbsp;소개할&amp;nbsp;엑셀&amp;nbsp;VBA&amp;nbsp;매크로는&amp;nbsp;&amp;nbsp; &lt;br /&gt;두&amp;nbsp;개의&amp;nbsp;데이터&amp;nbsp;범위를&amp;nbsp;비교하여&amp;nbsp;중복되는&amp;nbsp;행을&amp;nbsp;자동으로&amp;nbsp;탐지하고,&amp;nbsp;&amp;nbsp; &lt;br /&gt;중복된&amp;nbsp;셀에&amp;nbsp;색상을&amp;nbsp;칠해&amp;nbsp;가시적으로&amp;nbsp;표시해주는&amp;nbsp;자동화&amp;nbsp;도구입니다. &lt;br /&gt;&lt;br /&gt;사용자는&amp;nbsp;비교할&amp;nbsp;두&amp;nbsp;범위를&amp;nbsp;직접&amp;nbsp;마우스로&amp;nbsp;선택만&amp;nbsp;하면&amp;nbsp;되고,&amp;nbsp;&amp;nbsp; &lt;br /&gt;머리글을&amp;nbsp;포함할지&amp;nbsp;여부도&amp;nbsp;선택할&amp;nbsp;수&amp;nbsp;있도록&amp;nbsp;설계되어&amp;nbsp;있어&amp;nbsp;유연하게&amp;nbsp;사용할&amp;nbsp;수&amp;nbsp;있습니다. &lt;br /&gt;&lt;br /&gt;핵심&amp;nbsp;기능은&amp;nbsp;다음과&amp;nbsp;같습니다: &lt;br /&gt;&amp;nbsp; 1. 두 범위 선택 (InputBox 방식으로 사용자가 직접 지정)&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp; 2. 머리글 제외 여부 선택 가능&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp; 3. 첫 열 기준으로 중복값 조건부 서식 적용 (빨간색 강조)&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp; 4. 전체 행이 동일할 경우, 양쪽 모두에 연한 노란색 배경 처리&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp; 5. 비교 대상이 하나의 열일 경우에도 지원됨 &lt;br /&gt;&lt;br /&gt;예:&amp;nbsp;제품&amp;nbsp;리스트&amp;nbsp;vs&amp;nbsp;발주&amp;nbsp;리스트&amp;nbsp;비교,&amp;nbsp;본사&amp;nbsp;자료&amp;nbsp;vs&amp;nbsp;지점&amp;nbsp;자료&amp;nbsp;등 &lt;br /&gt;&lt;br /&gt;중복&amp;nbsp;데이터를&amp;nbsp;찾는&amp;nbsp;실제&amp;nbsp;VBA&amp;nbsp;코드의&amp;nbsp;핵심&amp;nbsp;구조는&amp;nbsp;다음과&amp;nbsp;같습니다: &lt;br /&gt;&amp;nbsp; - 조건부 서식 활용으로 중복값 강조&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp; - 다중 열 비교 시 모든 열 값이 같아야 중복으로 판단&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp; - 비교 기준은 첫 번째 열을 기준으로 시작되며&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp; - 결과는 자동으로 색상 적용 &lt;br /&gt;&lt;br /&gt;이&amp;nbsp;매크로의&amp;nbsp;사용&amp;nbsp;예시는&amp;nbsp;다음과&amp;nbsp;같습니다: &lt;br /&gt;&amp;nbsp; 1. 판매 목록과 배송 목록 비교&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp; 2. 본사 마스터 파일과 각 지점 자료 비교&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp; 3. 과거 이력과 신규 등록 데이터 비교&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp; 4. 중복 등록 여부 점검 &lt;br /&gt;&lt;br /&gt;복잡한&amp;nbsp;IF나&amp;nbsp;VLOOKUP&amp;nbsp;없이,&amp;nbsp;&amp;nbsp; &lt;br /&gt;직접&amp;nbsp;선택만으로&amp;nbsp;정확한&amp;nbsp;비교가&amp;nbsp;가능하다는&amp;nbsp;것이&amp;nbsp;이&amp;nbsp;VBA의&amp;nbsp;가장&amp;nbsp;큰&amp;nbsp;장점입니다. &lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;VBA 코드&amp;nbsp;&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 100%;&quot;&gt;&lt;br /&gt;Option&amp;nbsp;Explicit &lt;br /&gt;&lt;br /&gt;'&amp;nbsp;=========================================== &lt;br /&gt;'&amp;nbsp;&amp;nbsp;두&amp;nbsp;범위&amp;nbsp;중복&amp;nbsp;표시&amp;nbsp;(머릿글&amp;nbsp;제외&amp;nbsp;버전) &lt;br /&gt;'&amp;nbsp;&amp;nbsp;-&amp;nbsp;1)&amp;nbsp;첫&amp;nbsp;번째&amp;nbsp;범위&amp;nbsp;내부&amp;nbsp;중복:&amp;nbsp;&quot;첫&amp;nbsp;열&quot;만&amp;nbsp;검사&amp;nbsp;(첫&amp;nbsp;행은&amp;nbsp;제외) &lt;br /&gt;'&amp;nbsp;&amp;nbsp;-&amp;nbsp;2)&amp;nbsp;두&amp;nbsp;범위&amp;nbsp;행&amp;nbsp;단위&amp;nbsp;완전&amp;nbsp;일치:&amp;nbsp;양쪽&amp;nbsp;모두&amp;nbsp;&quot;같은&amp;nbsp;색&quot;으로&amp;nbsp;강조 &lt;br /&gt;'&amp;nbsp;&amp;nbsp;-&amp;nbsp;비교&amp;nbsp;규칙:&amp;nbsp;Trim&amp;nbsp;+&amp;nbsp;대소문자&amp;nbsp;무시 &lt;br /&gt;'&amp;nbsp;=========================================== &lt;br /&gt;&lt;br /&gt;Private&amp;nbsp;Const&amp;nbsp;COLOR_DUP_COL1&amp;nbsp;As&amp;nbsp;Long&amp;nbsp;=&amp;nbsp;&amp;amp;H99CCFF&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;첫&amp;nbsp;범위의&amp;nbsp;&quot;첫&amp;nbsp;열&quot;&amp;nbsp;중복&amp;nbsp;표시&amp;nbsp;색 &lt;br /&gt;Private&amp;nbsp;Const&amp;nbsp;COLOR_ROW_MATCH&amp;nbsp;As&amp;nbsp;Long&amp;nbsp;=&amp;nbsp;&amp;amp;HCCFFCC&amp;nbsp;&amp;nbsp;'&amp;nbsp;r1&amp;harr;r2&amp;nbsp;행&amp;nbsp;완전일치&amp;nbsp;공통&amp;nbsp;색 &lt;br /&gt;&lt;br /&gt;Public&amp;nbsp;Sub&amp;nbsp;Mark_Duplicates_TwoRanges_NoHeader() &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;r1&amp;nbsp;As&amp;nbsp;Range,&amp;nbsp;r2&amp;nbsp;As&amp;nbsp;Range &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;--------&amp;nbsp;범위&amp;nbsp;선택&amp;nbsp;-------- &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;On&amp;nbsp;Error&amp;nbsp;Resume&amp;nbsp;Next &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set&amp;nbsp;r1&amp;nbsp;=&amp;nbsp;Application.InputBox(&amp;nbsp;_ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Prompt:=&quot;①&amp;nbsp;첫&amp;nbsp;번째&amp;nbsp;범위를&amp;nbsp;선택하세요.&quot;&amp;nbsp;&amp;amp;&amp;nbsp;vbCrLf&amp;nbsp;&amp;amp;&amp;nbsp;_ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&quot;(첫&amp;nbsp;행은&amp;nbsp;머릿글로&amp;nbsp;간주하고&amp;nbsp;제외합니다.)&quot;,&amp;nbsp;_ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Title:=&quot;첫&amp;nbsp;범위&amp;nbsp;선택&quot;,&amp;nbsp;Type:=8) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;On&amp;nbsp;Error&amp;nbsp;GoTo&amp;nbsp;0 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;r1&amp;nbsp;Is&amp;nbsp;Nothing&amp;nbsp;Then&amp;nbsp;Exit&amp;nbsp;Sub &lt;br /&gt;'&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;r1.Interior.ColorIndex&amp;nbsp;=&amp;nbsp;2 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;On&amp;nbsp;Error&amp;nbsp;Resume&amp;nbsp;Next &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set&amp;nbsp;r2&amp;nbsp;=&amp;nbsp;Application.InputBox(&amp;nbsp;_ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Prompt:=&quot;②&amp;nbsp;두&amp;nbsp;번째&amp;nbsp;범위를&amp;nbsp;선택하세요.&quot;&amp;nbsp;&amp;amp;&amp;nbsp;vbCrLf&amp;nbsp;&amp;amp;&amp;nbsp;_ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&quot;취소하면&amp;nbsp;첫&amp;nbsp;범위의&amp;nbsp;첫&amp;nbsp;열&amp;nbsp;중복만&amp;nbsp;처리합니다.&quot;&amp;nbsp;&amp;amp;&amp;nbsp;vbCrLf&amp;nbsp;&amp;amp;&amp;nbsp;_ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&quot;(여기도&amp;nbsp;첫&amp;nbsp;행은&amp;nbsp;머릿글로&amp;nbsp;제외합니다.)&quot;,&amp;nbsp;_ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Title:=&quot;두&amp;nbsp;번째&amp;nbsp;범위&amp;nbsp;선택(선택)&quot;,&amp;nbsp;Type:=8) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;r2&amp;nbsp;Is&amp;nbsp;Nothing&amp;nbsp;Then&amp;nbsp;Exit&amp;nbsp;Sub &lt;br /&gt;'&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;r2.Interior.ColorIndex&amp;nbsp;=&amp;nbsp;2 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;On&amp;nbsp;Error&amp;nbsp;GoTo&amp;nbsp;0 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Application.ScreenUpdating&amp;nbsp;=&amp;nbsp;False &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Application.EnableEvents&amp;nbsp;=&amp;nbsp;False &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Application.Calculation&amp;nbsp;=&amp;nbsp;xlCalculationManual &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ClearFill&amp;nbsp;r1 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;Not&amp;nbsp;r2&amp;nbsp;Is&amp;nbsp;Nothing&amp;nbsp;Then&amp;nbsp;ClearFill&amp;nbsp;r2 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;---&amp;nbsp;1)&amp;nbsp;r1&amp;nbsp;첫&amp;nbsp;열&amp;nbsp;중복&amp;nbsp;(첫&amp;nbsp;행&amp;nbsp;제외)&amp;nbsp;--- &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;HighlightCol1Duplicates_NoHeader&amp;nbsp;r1,&amp;nbsp;COLOR_DUP_COL1 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;---&amp;nbsp;2)&amp;nbsp;r1&amp;harr;r2&amp;nbsp;행&amp;nbsp;완전&amp;nbsp;일치&amp;nbsp;(첫&amp;nbsp;행&amp;nbsp;제외,&amp;nbsp;같은&amp;nbsp;색으로)&amp;nbsp;--- &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;Not&amp;nbsp;r2&amp;nbsp;Is&amp;nbsp;Nothing&amp;nbsp;Then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;r1.Columns.Count&amp;nbsp;&amp;lt;&amp;gt;&amp;nbsp;r2.Columns.Count&amp;nbsp;Then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;MsgBox&amp;nbsp;&quot;두&amp;nbsp;범위의&amp;nbsp;열&amp;nbsp;개수가&amp;nbsp;달라&amp;nbsp;행&amp;nbsp;단위&amp;nbsp;비교를&amp;nbsp;건너뜁니다.&quot;&amp;nbsp;&amp;amp;&amp;nbsp;vbCrLf&amp;nbsp;&amp;amp;&amp;nbsp;_ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&quot;첫&amp;nbsp;범위&amp;nbsp;열&amp;nbsp;수:&amp;nbsp;&quot;&amp;nbsp;&amp;amp;&amp;nbsp;r1.Columns.Count&amp;nbsp;&amp;amp;&amp;nbsp;&quot;&amp;nbsp;/&amp;nbsp;두&amp;nbsp;번째&amp;nbsp;범위&amp;nbsp;열&amp;nbsp;수:&amp;nbsp;&quot;&amp;nbsp;&amp;amp;&amp;nbsp;r2.Columns.Count,&amp;nbsp;vbInformation &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Else &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;HighlightRowMatches_NoHeader&amp;nbsp;r1,&amp;nbsp;r2,&amp;nbsp;COLOR_ROW_MATCH &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;If &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;If &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Application.ScreenUpdating&amp;nbsp;=&amp;nbsp;True &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Application.EnableEvents&amp;nbsp;=&amp;nbsp;True &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Application.Calculation&amp;nbsp;=&amp;nbsp;xlCalculationAutomatic &lt;br /&gt;End&amp;nbsp;Sub &lt;br /&gt;&lt;br /&gt;'&amp;nbsp;--------&amp;nbsp;범위&amp;nbsp;채우기&amp;nbsp;제거&amp;nbsp;-------- &lt;br /&gt;Private&amp;nbsp;Sub&amp;nbsp;ClearFill(ByVal&amp;nbsp;rng&amp;nbsp;As&amp;nbsp;Range) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;On&amp;nbsp;Error&amp;nbsp;Resume&amp;nbsp;Next &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;rng.Interior.Pattern&amp;nbsp;=&amp;nbsp;xlNone &lt;br /&gt;End&amp;nbsp;Sub &lt;br /&gt;&lt;br /&gt;'&amp;nbsp;--------&amp;nbsp;첫&amp;nbsp;열&amp;nbsp;중복(머릿글&amp;nbsp;제외)&amp;nbsp;-------- &lt;br /&gt;Private&amp;nbsp;Sub&amp;nbsp;HighlightCol1Duplicates_NoHeader(ByVal&amp;nbsp;rng&amp;nbsp;As&amp;nbsp;Range,&amp;nbsp;ByVal&amp;nbsp;fillColor&amp;nbsp;As&amp;nbsp;Long) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;dict&amp;nbsp;As&amp;nbsp;Object:&amp;nbsp;Set&amp;nbsp;dict&amp;nbsp;=&amp;nbsp;CreateObject(&quot;Scripting.Dictionary&quot;) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;r&amp;nbsp;As&amp;nbsp;Long,&amp;nbsp;arr&amp;nbsp;As&amp;nbsp;Variant &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;key&amp;nbsp;As&amp;nbsp;String &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;arr&amp;nbsp;=&amp;nbsp;rng.Value2 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;Not&amp;nbsp;IsArray(arr)&amp;nbsp;Then&amp;nbsp;Exit&amp;nbsp;Sub &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;집계&amp;nbsp;(2행부터&amp;nbsp;시작) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;For&amp;nbsp;r&amp;nbsp;=&amp;nbsp;2&amp;nbsp;To&amp;nbsp;UBound(arr,&amp;nbsp;1) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;key&amp;nbsp;=&amp;nbsp;Normalize(arr(r,&amp;nbsp;1)) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;Len(key)&amp;nbsp;&amp;gt;&amp;nbsp;0&amp;nbsp;Then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;dict.Exists(key)&amp;nbsp;Then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;dict(key)&amp;nbsp;=&amp;nbsp;dict(key)&amp;nbsp;+&amp;nbsp;1 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Else &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;dict.Add&amp;nbsp;key,&amp;nbsp;1 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;If &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;If &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Next&amp;nbsp;r &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;중복&amp;nbsp;표시 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;For&amp;nbsp;r&amp;nbsp;=&amp;nbsp;2&amp;nbsp;To&amp;nbsp;UBound(arr,&amp;nbsp;1) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;key&amp;nbsp;=&amp;nbsp;Normalize(arr(r,&amp;nbsp;1)) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;Len(key)&amp;nbsp;&amp;gt;&amp;nbsp;0&amp;nbsp;Then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;dict.Exists(key)&amp;nbsp;And&amp;nbsp;dict(key)&amp;nbsp;&amp;gt;=&amp;nbsp;2&amp;nbsp;Then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;rng.Cells(r,&amp;nbsp;1).Interior.Color&amp;nbsp;=&amp;nbsp;fillColor &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;If &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;If &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Next&amp;nbsp;r &lt;br /&gt;End&amp;nbsp;Sub &lt;br /&gt;&lt;br /&gt;'&amp;nbsp;--------&amp;nbsp;두&amp;nbsp;범위&amp;nbsp;행&amp;nbsp;일치&amp;nbsp;(머릿글&amp;nbsp;제외)&amp;nbsp;-------- &lt;br /&gt;Private&amp;nbsp;Sub&amp;nbsp;HighlightRowMatches_NoHeader(ByVal&amp;nbsp;r1&amp;nbsp;As&amp;nbsp;Range,&amp;nbsp;ByVal&amp;nbsp;r2&amp;nbsp;As&amp;nbsp;Range,&amp;nbsp;ByVal&amp;nbsp;fillColor&amp;nbsp;As&amp;nbsp;Long) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;dictR2&amp;nbsp;As&amp;nbsp;Object:&amp;nbsp;Set&amp;nbsp;dictR2&amp;nbsp;=&amp;nbsp;CreateObject(&quot;Scripting.Dictionary&quot;) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;arr1&amp;nbsp;As&amp;nbsp;Variant,&amp;nbsp;arr2&amp;nbsp;As&amp;nbsp;Variant &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;r&amp;nbsp;As&amp;nbsp;Long,&amp;nbsp;cols&amp;nbsp;As&amp;nbsp;Long &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;key&amp;nbsp;As&amp;nbsp;String,&amp;nbsp;delim&amp;nbsp;As&amp;nbsp;String &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;arr1&amp;nbsp;=&amp;nbsp;r1.Value2 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;arr2&amp;nbsp;=&amp;nbsp;r2.Value2 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;cols&amp;nbsp;=&amp;nbsp;r1.Columns.Count &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;delim&amp;nbsp;=&amp;nbsp;Chr$(30) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;r2&amp;nbsp;&amp;rarr;&amp;nbsp;Key&amp;nbsp;저장&amp;nbsp;(2행부터) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;For&amp;nbsp;r&amp;nbsp;=&amp;nbsp;2&amp;nbsp;To&amp;nbsp;UBound(arr2,&amp;nbsp;1) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;key&amp;nbsp;=&amp;nbsp;BuildRowKey(arr2,&amp;nbsp;r,&amp;nbsp;cols,&amp;nbsp;delim) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;Len(key)&amp;nbsp;&amp;gt;&amp;nbsp;0&amp;nbsp;Then&amp;nbsp;dictR2(key)&amp;nbsp;=&amp;nbsp;True &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Next&amp;nbsp;r &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;r1에서&amp;nbsp;매칭&amp;nbsp;확인 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;For&amp;nbsp;r&amp;nbsp;=&amp;nbsp;2&amp;nbsp;To&amp;nbsp;UBound(arr1,&amp;nbsp;1) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;key&amp;nbsp;=&amp;nbsp;BuildRowKey(arr1,&amp;nbsp;r,&amp;nbsp;cols,&amp;nbsp;delim) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;Len(key)&amp;nbsp;&amp;gt;&amp;nbsp;0&amp;nbsp;Then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;dictR2.Exists(key)&amp;nbsp;Then&amp;nbsp;r1.Rows(r).Interior.Color&amp;nbsp;=&amp;nbsp;fillColor &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;If &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Next&amp;nbsp;r &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;r2에서도&amp;nbsp;매칭&amp;nbsp;확인 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;For&amp;nbsp;r&amp;nbsp;=&amp;nbsp;2&amp;nbsp;To&amp;nbsp;UBound(arr2,&amp;nbsp;1) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;key&amp;nbsp;=&amp;nbsp;BuildRowKey(arr2,&amp;nbsp;r,&amp;nbsp;cols,&amp;nbsp;delim) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;Len(key)&amp;nbsp;&amp;gt;&amp;nbsp;0&amp;nbsp;Then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;dictR2.Exists(key)&amp;nbsp;Then&amp;nbsp;r2.Rows(r).Interior.Color&amp;nbsp;=&amp;nbsp;fillColor &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;If &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Next&amp;nbsp;r &lt;br /&gt;End&amp;nbsp;Sub &lt;br /&gt;&lt;br /&gt;'&amp;nbsp;--------&amp;nbsp;행&amp;nbsp;키&amp;nbsp;만들기&amp;nbsp;-------- &lt;br /&gt;Private&amp;nbsp;Function&amp;nbsp;BuildRowKey(ByRef&amp;nbsp;arr&amp;nbsp;As&amp;nbsp;Variant,&amp;nbsp;ByVal&amp;nbsp;rowIdx&amp;nbsp;As&amp;nbsp;Long,&amp;nbsp;ByVal&amp;nbsp;cols&amp;nbsp;As&amp;nbsp;Long,&amp;nbsp;ByVal&amp;nbsp;delim&amp;nbsp;As&amp;nbsp;String)&amp;nbsp;As&amp;nbsp;String &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;parts()&amp;nbsp;As&amp;nbsp;String,&amp;nbsp;c&amp;nbsp;As&amp;nbsp;Long &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ReDim&amp;nbsp;parts(1&amp;nbsp;To&amp;nbsp;cols) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;For&amp;nbsp;c&amp;nbsp;=&amp;nbsp;1&amp;nbsp;To&amp;nbsp;cols &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;parts(c)&amp;nbsp;=&amp;nbsp;Normalize(arr(rowIdx,&amp;nbsp;c)) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Next&amp;nbsp;c &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;BuildRowKey&amp;nbsp;=&amp;nbsp;Join(parts,&amp;nbsp;delim) &lt;br /&gt;End&amp;nbsp;Function &lt;br /&gt;&lt;br /&gt;'&amp;nbsp;--------&amp;nbsp;값&amp;nbsp;정규화&amp;nbsp;-------- &lt;br /&gt;Private&amp;nbsp;Function&amp;nbsp;Normalize(ByVal&amp;nbsp;v&amp;nbsp;As&amp;nbsp;Variant)&amp;nbsp;As&amp;nbsp;String &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;IsError(v)&amp;nbsp;Then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Normalize&amp;nbsp;=&amp;nbsp;&quot;#ERROR!&quot; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ElseIf&amp;nbsp;IsEmpty(v)&amp;nbsp;Or&amp;nbsp;IsNull(v)&amp;nbsp;Then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Normalize&amp;nbsp;=&amp;nbsp;&quot;&quot; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Else &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Normalize&amp;nbsp;=&amp;nbsp;LCase$(Trim$(CStr(v))) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;If &lt;br /&gt;End&amp;nbsp;Function &lt;br /&gt;&lt;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;br /&gt;엑셀&amp;nbsp;VBA가&amp;nbsp;어렵다고&amp;nbsp;느껴지시나요? &lt;br /&gt;&lt;br /&gt;걱정하지&amp;nbsp;않으셔도&amp;nbsp;됩니다. &lt;br /&gt;&lt;br /&gt;이&amp;nbsp;코드는&amp;nbsp;복사해서&amp;nbsp;그대로&amp;nbsp;VBA&amp;nbsp;편집기에&amp;nbsp;붙여넣기만&amp;nbsp;하면&amp;nbsp;바로&amp;nbsp;실행&amp;nbsp;가능하며,&amp;nbsp;&amp;nbsp; &lt;br /&gt;실행&amp;nbsp;시&amp;nbsp;사용자가&amp;nbsp;범위만&amp;nbsp;지정하면&amp;nbsp;나머지는&amp;nbsp;자동으로&amp;nbsp;처리됩니다. &lt;br /&gt;&lt;br /&gt;초보자도&amp;nbsp;실수&amp;nbsp;없이&amp;nbsp;활용할&amp;nbsp;수&amp;nbsp;있도록&amp;nbsp;안내&amp;nbsp;메시지가&amp;nbsp;포함되어&amp;nbsp;있어&amp;nbsp;&amp;nbsp; &lt;br /&gt;엑셀&amp;nbsp;자동화&amp;nbsp;입문용으로도&amp;nbsp;최적화된&amp;nbsp;구조입니다. &lt;br /&gt;&lt;br /&gt;정리하며 &lt;br /&gt;반복되는 데이터 비교 작업, 이제 수작업에서 벗어나 자동화로 전환해보세요. &lt;br /&gt;&lt;br /&gt;단순하지만&amp;nbsp;강력한&amp;nbsp;이&amp;nbsp;매크로&amp;nbsp;한&amp;nbsp;줄로&amp;nbsp;&amp;nbsp; &lt;br /&gt;업무&amp;nbsp;속도는&amp;nbsp;올라가고&amp;nbsp;오류는&amp;nbsp;줄어듭니다. &lt;br /&gt;&lt;br /&gt;엑셀&amp;nbsp;자동화를&amp;nbsp;통해&amp;nbsp;실무&amp;nbsp;생산성을&amp;nbsp;높이고&amp;nbsp;싶은&amp;nbsp;분들은&amp;nbsp;&amp;nbsp; &lt;br /&gt;지금&amp;nbsp;이&amp;nbsp;블로그를&amp;nbsp;구독해보세요. &lt;br /&gt;&lt;br /&gt;앞으로도&amp;nbsp;실무에&amp;nbsp;바로&amp;nbsp;써먹을&amp;nbsp;수&amp;nbsp;있는&amp;nbsp;엑셀&amp;nbsp;VBA&amp;nbsp;꿀팁을&amp;nbsp;지속적으로&amp;nbsp;공유드리겠습니다. &lt;br /&gt;&lt;br /&gt;감사합니다. &lt;br /&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;fileblock&quot; data-ke-align=&quot;alignCenter&quot;&gt;&lt;a href=&quot;https://blog.kakaocdn.net/dn/0bVXR/dJMb9Pe7UrK/r3K2KOiL7hnsx6wtAShQG0/%EC%A4%91%EB%B3%B5%EA%B0%92%20%EC%B0%BE%EA%B8%B0.xlsm?attach=1&amp;amp;knm=tfile.xlsm&quot; class=&quot;&quot;&gt;
    &lt;div class=&quot;image&quot;&gt;&lt;/div&gt;
    &lt;div class=&quot;desc&quot;&gt;&lt;div class=&quot;filename&quot;&gt;&lt;span class=&quot;name&quot;&gt;중복값 찾기.xlsm&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;size&quot;&gt;0.03MB&lt;/div&gt;
&lt;/div&gt;
  &lt;/a&gt;&lt;/figure&gt;
&lt;/p&gt;</description>
      <category>DATA</category>
      <category>엑셀VBA 엑셀매크로 중복데이터비교 엑셀조건부서식 엑셀자동화 엑셀중복확인 엑셀팁 엑셀실무 엑셀비교매크로 데이터정리</category>
      <author>노만e</author>
      <guid isPermaLink="true">https://dream2049.tistory.com/175</guid>
      <comments>https://dream2049.tistory.com/175#entry175comment</comments>
      <pubDate>Wed, 27 Aug 2025 20:12:59 +0900</pubDate>
    </item>
    <item>
      <title>보이는 셀에만 지점별 일련번호 입력</title>
      <link>https://dream2049.tistory.com/174</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;figure data-ke-type=&quot;video&quot; data-ke-style=&quot;alignCenter&quot; data-video-host=&quot;kakaotv&quot; data-video-url=&quot;https://tv.kakao.com/v/457536355&quot; data-video-thumbnail=&quot;https://scrap.kakaocdn.net/dn/Lzdnx/hyZDLhpKm7/qbm4mysdoYL0yFLkDgfUrk/img.jpg?width=1920&amp;amp;height=1080&amp;amp;face=0_0_1920_1080,https://scrap.kakaocdn.net/dn/B3WHR/hyZDLV2itn/TSLfCsS6uZYPiHF12cn98k/img.jpg?width=1920&amp;amp;height=1080&amp;amp;face=0_0_1920_1080&quot; data-video-width=&quot;860&quot; data-video-height=&quot;484&quot; data-video-origin-width=&quot;860&quot; data-video-origin-height=&quot;484&quot; data-ke-mobilestyle=&quot;widthContent&quot; data-video-title=&quot;'VBA 스나이퍼'에서 업로드한 동영상&quot; data-video-play-service=&quot;daum_tistory&quot; data-original-url=&quot;&quot;&gt;&lt;iframe src=&quot;https://play-tv.kakao.com/embed/player/cliplink/457536355?service=daum_tistory&quot; width=&quot;860&quot; height=&quot;484&quot; frameborder=&quot;0&quot; allowfullscreen=&quot;true&quot;&gt;&lt;/iframe&gt;
&lt;figcaption style=&quot;display: none;&quot;&gt;&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;엑셀&amp;nbsp;필터링&amp;nbsp;후&amp;nbsp;보이는&amp;nbsp;셀에만&amp;nbsp;값을&amp;nbsp;넣고&amp;nbsp;싶을&amp;nbsp;때&amp;nbsp;어떻게&amp;nbsp;하시나요? &lt;br /&gt;손으로 하나씩 입력하고 계시다면 이 글을 꼭 읽어보셔야 합니다. &lt;br /&gt;&lt;br /&gt;엑셀에서&amp;nbsp;필터를&amp;nbsp;걸었을&amp;nbsp;때&amp;nbsp;숨겨진&amp;nbsp;행은&amp;nbsp;건너뛰고&amp;nbsp;&amp;nbsp; &lt;br /&gt;보이는&amp;nbsp;셀에만&amp;nbsp;일련번호나&amp;nbsp;코드를&amp;nbsp;자동으로&amp;nbsp;입력하고&amp;nbsp;싶을&amp;nbsp;때가&amp;nbsp;많습니다. &lt;br /&gt;&lt;br /&gt;특히&amp;nbsp;물류,&amp;nbsp;재고,&amp;nbsp;거래처&amp;nbsp;코드&amp;nbsp;입력&amp;nbsp;등에서는&amp;nbsp;&amp;nbsp; &lt;br /&gt;일정한&amp;nbsp;접두어와&amp;nbsp;순차&amp;nbsp;번호가&amp;nbsp;포함된&amp;nbsp;값이&amp;nbsp;필요하죠. &lt;br /&gt;&lt;br /&gt;엑셀에서&amp;nbsp;지점별로&amp;nbsp;자동&amp;nbsp;일련번호를&amp;nbsp;매기고&amp;nbsp;싶으셨나요? &lt;br /&gt;&lt;br /&gt;필터로&amp;nbsp;구분된&amp;nbsp;항목마다&amp;nbsp;접두어가&amp;nbsp;다르고&amp;nbsp;&amp;nbsp; &lt;br /&gt;일련번호도&amp;nbsp;각각&amp;nbsp;다르게&amp;nbsp;시작해야&amp;nbsp;하는&amp;nbsp;작업,&amp;nbsp;&amp;nbsp; &lt;br /&gt;수작업으로&amp;nbsp;하면&amp;nbsp;시간도&amp;nbsp;오래&amp;nbsp;걸리고&amp;nbsp;실수도&amp;nbsp;생기기&amp;nbsp;쉽습니다. &lt;br /&gt;&lt;br /&gt;특히&amp;nbsp;파일&amp;nbsp;리스트나&amp;nbsp;판매&amp;nbsp;내역처럼&amp;nbsp;지점&amp;nbsp;단위로&amp;nbsp;&amp;nbsp; &lt;br /&gt;정리된&amp;nbsp;데이터를&amp;nbsp;다루는&amp;nbsp;경우엔&amp;nbsp;반복작업이&amp;nbsp;많습니다. &lt;br /&gt;&lt;br /&gt;엑셀로&amp;nbsp;이런&amp;nbsp;문제를&amp;nbsp;자동으로&amp;nbsp;해결할&amp;nbsp;수&amp;nbsp;있다면&amp;nbsp;어떨까요? &lt;br /&gt;&lt;br /&gt;엑셀&amp;nbsp;VBA로&amp;nbsp;지점별&amp;nbsp;자동&amp;nbsp;일련번호를&amp;nbsp;매길&amp;nbsp;수&amp;nbsp;있을까요? &lt;br /&gt;&lt;br /&gt;가능합니다.&amp;nbsp;&amp;nbsp; &lt;br /&gt;오늘&amp;nbsp;소개할&amp;nbsp;VBA&amp;nbsp;코드는&amp;nbsp;사용자의&amp;nbsp;선택&amp;nbsp;없이도&amp;nbsp;&amp;nbsp; &lt;br /&gt;B열의&amp;nbsp;지점명을&amp;nbsp;기준으로&amp;nbsp;자동&amp;nbsp;필터링을&amp;nbsp;수행한&amp;nbsp;후,&amp;nbsp;&amp;nbsp; &lt;br /&gt;각&amp;nbsp;지점별로&amp;nbsp;접두어와&amp;nbsp;함께&amp;nbsp;고유&amp;nbsp;일련번호를&amp;nbsp;매깁니다. &lt;br /&gt;&lt;br /&gt;예를&amp;nbsp;들어&amp;nbsp;&amp;nbsp; &lt;br /&gt;서울점은&amp;nbsp;S-01,&amp;nbsp;S-02&amp;nbsp;&amp;nbsp; &lt;br /&gt;부산점은&amp;nbsp;B-01,&amp;nbsp;B-02&amp;nbsp;&amp;nbsp; &lt;br /&gt;광주점은&amp;nbsp;G-01&amp;nbsp;형식으로&amp;nbsp;자동&amp;nbsp;생성되며,&amp;nbsp;&amp;nbsp; &lt;br /&gt;숨겨진&amp;nbsp;행은&amp;nbsp;건너뛰기&amp;nbsp;때문에&amp;nbsp;데이터&amp;nbsp;무결성도&amp;nbsp;유지됩니다. &lt;br /&gt;&lt;br /&gt;VBA&amp;nbsp;코드의&amp;nbsp;핵심&amp;nbsp;구조는&amp;nbsp;다음과&amp;nbsp;같습니다: &lt;br /&gt;&lt;br /&gt;1.&amp;nbsp;B열에서&amp;nbsp;지점명을&amp;nbsp;자동으로&amp;nbsp;감지 &lt;br /&gt;2.&amp;nbsp;각&amp;nbsp;지점별로&amp;nbsp;자동&amp;nbsp;필터&amp;nbsp;적용 &lt;br /&gt;3.&amp;nbsp;지점명에&amp;nbsp;따라&amp;nbsp;접두어&amp;nbsp;설정&amp;nbsp;(예:&amp;nbsp;서울점&amp;nbsp;&amp;rarr;&amp;nbsp;S) &lt;br /&gt;4.&amp;nbsp;각&amp;nbsp;지점별로&amp;nbsp;고유&amp;nbsp;일련번호&amp;nbsp;시작 &lt;br /&gt;5.&amp;nbsp;I열에&amp;nbsp;자동&amp;nbsp;입력&lt;br /&gt;VBA 코드&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 100%;&quot;&gt;Sub&amp;nbsp;AutoFill_Serial_ByBranch_Filtered() &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;ws&amp;nbsp;As&amp;nbsp;Worksheet &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;lastRow&amp;nbsp;As&amp;nbsp;Long &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;branchCol&amp;nbsp;As&amp;nbsp;Long:&amp;nbsp;branchCol&amp;nbsp;=&amp;nbsp;2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;지점은&amp;nbsp;B열 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;serialCol&amp;nbsp;As&amp;nbsp;Long:&amp;nbsp;serialCol&amp;nbsp;=&amp;nbsp;7&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;일련번호&amp;nbsp;출력은&amp;nbsp;I열 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;prefix&amp;nbsp;As&amp;nbsp;String &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;i&amp;nbsp;As&amp;nbsp;Long &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;serial&amp;nbsp;As&amp;nbsp;Long &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;cell&amp;nbsp;As&amp;nbsp;Range &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;branch&amp;nbsp;As&amp;nbsp;String &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;dict&amp;nbsp;As&amp;nbsp;Object &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;branchList&amp;nbsp;As&amp;nbsp;Collection &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;item&amp;nbsp;As&amp;nbsp;Variant &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set&amp;nbsp;ws&amp;nbsp;=&amp;nbsp;ActiveSheet &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set&amp;nbsp;dict&amp;nbsp;=&amp;nbsp;CreateObject(&quot;Scripting.Dictionary&quot;) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set&amp;nbsp;branchList&amp;nbsp;=&amp;nbsp;New&amp;nbsp;Collection &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;마지막&amp;nbsp;행&amp;nbsp;찾기 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;lastRow&amp;nbsp;=&amp;nbsp;ws.Cells(ws.Rows.Count,&amp;nbsp;branchCol).End(xlUp).Row &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;B열(지점명)에서&amp;nbsp;고유값&amp;nbsp;수집 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;For&amp;nbsp;i&amp;nbsp;=&amp;nbsp;2&amp;nbsp;To&amp;nbsp;lastRow &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;branch&amp;nbsp;=&amp;nbsp;ws.Cells(i,&amp;nbsp;branchCol).Value &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;branch&amp;nbsp;&amp;lt;&amp;gt;&amp;nbsp;&quot;&quot;&amp;nbsp;Then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;Not&amp;nbsp;dict.exists(branch)&amp;nbsp;Then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;dict.Add&amp;nbsp;branch,&amp;nbsp;True &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;branchList.Add&amp;nbsp;branch &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;If &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;If &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Next&amp;nbsp;i &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Application.ScreenUpdating&amp;nbsp;=&amp;nbsp;False &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;고유&amp;nbsp;지점명&amp;nbsp;순회하면서&amp;nbsp;자동&amp;nbsp;필터&amp;nbsp;및&amp;nbsp;일련번호&amp;nbsp;삽입 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;For&amp;nbsp;Each&amp;nbsp;item&amp;nbsp;In&amp;nbsp;branchList &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;필터&amp;nbsp;적용 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ws.Range(&quot;A1&quot;).AutoFilter&amp;nbsp;Field:=branchCol,&amp;nbsp;Criteria1:=item &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;접두어&amp;nbsp;결정 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Select&amp;nbsp;Case&amp;nbsp;item &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Case&amp;nbsp;&quot;서울점&quot;:&amp;nbsp;prefix&amp;nbsp;=&amp;nbsp;&quot;S&quot; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Case&amp;nbsp;&quot;부산점&quot;:&amp;nbsp;prefix&amp;nbsp;=&amp;nbsp;&quot;B&quot; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Case&amp;nbsp;&quot;대전점&quot;:&amp;nbsp;prefix&amp;nbsp;=&amp;nbsp;&quot;D&quot; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Case&amp;nbsp;&quot;광주점&quot;:&amp;nbsp;prefix&amp;nbsp;=&amp;nbsp;&quot;G&quot; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Case&amp;nbsp;&quot;대구점&quot;:&amp;nbsp;prefix&amp;nbsp;=&amp;nbsp;&quot;T&quot; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Case&amp;nbsp;Else:&amp;nbsp;prefix&amp;nbsp;=&amp;nbsp;&quot;X&quot; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;Select &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;serial&amp;nbsp;=&amp;nbsp;1 &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;보이는&amp;nbsp;셀만&amp;nbsp;처리 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;For&amp;nbsp;i&amp;nbsp;=&amp;nbsp;2&amp;nbsp;To&amp;nbsp;lastRow &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;Not&amp;nbsp;ws.Rows(i).Hidden&amp;nbsp;Then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ws.Cells(i,&amp;nbsp;serialCol).Value&amp;nbsp;=&amp;nbsp;prefix&amp;nbsp;&amp;amp;&amp;nbsp;&quot;-&quot;&amp;nbsp;&amp;amp;&amp;nbsp;Format(serial,&amp;nbsp;&quot;00&quot;) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;serial&amp;nbsp;=&amp;nbsp;serial&amp;nbsp;+&amp;nbsp;1 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;If &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Next&amp;nbsp;i &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Next&amp;nbsp;item &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;필터&amp;nbsp;해제 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ws.AutoFilterMode&amp;nbsp;=&amp;nbsp;False &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Application.ScreenUpdating&amp;nbsp;=&amp;nbsp;True &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;MsgBox&amp;nbsp;&quot;일련번호&amp;nbsp;자동&amp;nbsp;입력이&amp;nbsp;완료되었습니다.&quot; &lt;br /&gt;End&amp;nbsp;Sub &lt;br /&gt;&lt;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;br /&gt;&lt;br /&gt;실행&amp;nbsp;방법도&amp;nbsp;간단합니다 &lt;br /&gt;&amp;nbsp; 1. Alt + F11 &amp;rarr; 새 모듈 삽입 후 코드 붙여넣기&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp; 2. Alt + F8 &amp;rarr; 매크로 선택 후 실행&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp; 3. 결과는 자동으로 I열에 입력됨 &lt;br /&gt;&lt;br /&gt;파일&amp;nbsp;리스트에&amp;nbsp;하이퍼링크를&amp;nbsp;자동으로&amp;nbsp;연결할&amp;nbsp;수&amp;nbsp;있을까요? &lt;br /&gt;&lt;br /&gt;네.&amp;nbsp;이&amp;nbsp;코드를&amp;nbsp;확장하면&amp;nbsp;&amp;nbsp; &lt;br /&gt;파일&amp;nbsp;리스트를&amp;nbsp;자동으로&amp;nbsp;불러오고&amp;nbsp;&amp;nbsp; &lt;br /&gt;각&amp;nbsp;파일에&amp;nbsp;하이퍼링크까지&amp;nbsp;연결하는&amp;nbsp;매크로도&amp;nbsp;쉽게&amp;nbsp;제작할&amp;nbsp;수&amp;nbsp;있습니다. &lt;br /&gt;&lt;br /&gt;예를&amp;nbsp;들어&amp;nbsp;보고서&amp;nbsp;파일명을&amp;nbsp;리스트업하고&amp;nbsp;&amp;nbsp; &lt;br /&gt;각&amp;nbsp;파일명을&amp;nbsp;클릭하면&amp;nbsp;자동으로&amp;nbsp;파일이&amp;nbsp;열리는&amp;nbsp;구조를&amp;nbsp;만들&amp;nbsp;수&amp;nbsp;있습니다. &lt;br /&gt;&lt;br /&gt;이런&amp;nbsp;방식은&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp; 1. 팀원들과 공유할 때&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp; 2. 폴더에 파일이 자주 추가되는 경우&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp; 3. 버전별 문서를 관리할 때 매우 효과적입니다. &lt;br /&gt;&lt;br /&gt;엑셀&amp;nbsp;VBA는&amp;nbsp;단순&amp;nbsp;반복&amp;nbsp;작업을&amp;nbsp;줄이고&amp;nbsp;&amp;nbsp; &lt;br /&gt;실무&amp;nbsp;속도를&amp;nbsp;압도적으로&amp;nbsp;끌어올려줍니다. &lt;br /&gt;&lt;br /&gt;지금&amp;nbsp;이&amp;nbsp;코드부터&amp;nbsp;실무에&amp;nbsp;도입해보세요. &lt;br /&gt;&lt;br /&gt;오늘&amp;nbsp;소개한&amp;nbsp;매크로는&amp;nbsp;&amp;nbsp; &lt;br /&gt;데이터&amp;nbsp;관리,&amp;nbsp;판매&amp;nbsp;내역&amp;nbsp;정리,&amp;nbsp;코드&amp;nbsp;생성&amp;nbsp;등&amp;nbsp;&amp;nbsp; &lt;br /&gt;다양한&amp;nbsp;작업에&amp;nbsp;실질적인&amp;nbsp;도움이&amp;nbsp;될&amp;nbsp;수&amp;nbsp;있습니다. &lt;br /&gt;&lt;br /&gt;앞으로도&amp;nbsp;이런&amp;nbsp;자동화&amp;nbsp;팁이&amp;nbsp;더&amp;nbsp;궁금하시다면&amp;nbsp;&amp;nbsp; &lt;br /&gt;블로그&amp;nbsp;구독과&amp;nbsp;알림&amp;nbsp;설정을&amp;nbsp;통해&amp;nbsp;&amp;nbsp; &lt;br /&gt;빠르게&amp;nbsp;받아보세요. &lt;br /&gt;&lt;br /&gt;엑셀을&amp;nbsp;진짜&amp;nbsp;업무&amp;nbsp;도구로&amp;nbsp;바꾸는&amp;nbsp;가장&amp;nbsp;쉬운&amp;nbsp;방법,&amp;nbsp;&amp;nbsp; &lt;br /&gt;지금&amp;nbsp;이&amp;nbsp;글에서&amp;nbsp;시작해보세요. &lt;br /&gt;&lt;br /&gt;감사합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;fileblock&quot; data-ke-align=&quot;alignCenter&quot;&gt;&lt;a href=&quot;https://blog.kakaocdn.net/dn/xXsIn/dJMb9dAi7Hl/8cdjidjkKimQtYP5yXhoxK/%EC%A7%80%EC%A0%90%EB%B3%84%20%EC%9D%BC%EB%A0%A8%EB%B2%88%ED%98%B8%20%EB%84%A3%EA%B8%B0.xlsm?attach=1&amp;amp;knm=tfile.xlsm&quot; class=&quot;&quot;&gt;
    &lt;div class=&quot;image&quot;&gt;&lt;/div&gt;
    &lt;div class=&quot;desc&quot;&gt;&lt;div class=&quot;filename&quot;&gt;&lt;span class=&quot;name&quot;&gt;지점별 일련번호 넣기.xlsm&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;size&quot;&gt;0.02MB&lt;/div&gt;
&lt;/div&gt;
  &lt;/a&gt;&lt;/figure&gt;
&lt;/p&gt;</description>
      <category>Filter</category>
      <category>엑셀VBA #엑셀매크로 #보이는셀입력 #일련번호자동화 #엑셀자동입력 #엑셀팁 #엑셀코드 #자동화작업 #엑셀교육 #업무자동화 #엑셀초보</category>
      <author>노만e</author>
      <guid isPermaLink="true">https://dream2049.tistory.com/174</guid>
      <comments>https://dream2049.tistory.com/174#entry174comment</comments>
      <pubDate>Tue, 26 Aug 2025 23:02:05 +0900</pubDate>
    </item>
    <item>
      <title>  엑셀 VBA 꿀팁 모음 &amp;ndash; 행 삽입, 빈 행 삭제, 값 채우기, 자동 범위 선택  정리</title>
      <link>https://dream2049.tistory.com/173</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;figure data-ke-type=&quot;video&quot; data-ke-style=&quot;alignCenter&quot; data-video-host=&quot;kakaotv&quot; data-video-url=&quot;https://tv.kakao.com/v/457512148&quot; data-video-thumbnail=&quot;https://scrap.kakaocdn.net/dn/bCn52c/hyZDOSuSaQ/1zyc0ssTNCrgVDvg3eyUlK/img.jpg?width=1920&amp;amp;height=1080&amp;amp;face=0_0_1920_1080,https://scrap.kakaocdn.net/dn/kjpnZ/hyZDXBSNsl/hKepOo7GGsb1TOo0cnZKk0/img.jpg?width=1920&amp;amp;height=1080&amp;amp;face=0_0_1920_1080&quot; data-video-width=&quot;860&quot; data-video-height=&quot;484&quot; data-video-origin-width=&quot;860&quot; data-video-origin-height=&quot;484&quot; data-ke-mobilestyle=&quot;widthContent&quot; data-video-play-service=&quot;daum_tistory&quot; data-original-url=&quot;&quot; data-video-title=&quot;&quot;&gt;&lt;iframe src=&quot;https://play-tv.kakao.com/embed/player/cliplink/457512148?service=daum_tistory&quot; width=&quot;860&quot; height=&quot;484&quot; frameborder=&quot;0&quot; allowfullscreen=&quot;true&quot;&gt;&lt;/iframe&gt;
&lt;figcaption style=&quot;display: none;&quot;&gt;&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;엑셀에서 반복적으로 수행하는 작업을 VBA 매크로로 자동화하면 업무 효율이 크게 올라갑니다.&lt;br /&gt;이번 글에서는 &lt;b&gt;행 삽입 및 값 채우기, 빈 행 삭제, 현재 셀 기준 자동 범위 선택&lt;/b&gt;까지, 실무에서 꼭 필요한 VBA 코드를 한곳에 모아 정리했습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-end=&quot;367&quot; data-start=&quot;340&quot; data-ke-size=&quot;size26&quot;&gt;1️⃣ 선택 범위 사이에 행 삽입 매크로&lt;/h2&gt;
&lt;h3 data-end=&quot;377&quot; data-start=&quot;369&quot; data-ke-size=&quot;size23&quot;&gt;기능&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;469&quot; data-start=&quot;378&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;431&quot; data-start=&quot;378&quot;&gt;선택한 범위 내 &lt;b&gt;각 인접 행 사이&lt;/b&gt;에, 입력받은 개수(n)만큼 빈 행을 삽입합니다.&lt;/li&gt;
&lt;li data-end=&quot;469&quot; data-start=&quot;432&quot;&gt;삽입할 행 개수를 사용자에게 InputBox로 입력받습니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 style=&quot;color: #000000; text-align: start;&quot; data-start=&quot;790&quot; data-end=&quot;798&quot; data-ke-size=&quot;size23&quot;&gt;코드&lt;/h3&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 100%;&quot;&gt;Option&amp;nbsp;Explicit &lt;br /&gt;&lt;br /&gt;'&amp;nbsp;선택한&amp;nbsp;범위(여러&amp;nbsp;영역&amp;nbsp;가능)의&amp;nbsp;&quot;각&amp;nbsp;인접&amp;nbsp;행&amp;nbsp;사이&quot;에 &lt;br /&gt;'&amp;nbsp;사용자에게&amp;nbsp;입력받은&amp;nbsp;개수(n)만큼&amp;nbsp;행을&amp;nbsp;삽입합니다. &lt;br /&gt;Public&amp;nbsp;Sub&amp;nbsp;InsertRowsBetweenSelection() &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;n&amp;nbsp;As&amp;nbsp;Long,&amp;nbsp;ans&amp;nbsp;As&amp;nbsp;Variant &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;ws&amp;nbsp;As&amp;nbsp;Worksheet &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;ar&amp;nbsp;As&amp;nbsp;Range &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;firstRow&amp;nbsp;As&amp;nbsp;Long,&amp;nbsp;lastRow&amp;nbsp;As&amp;nbsp;Long &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;r&amp;nbsp;As&amp;nbsp;Long &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;rowsToProcess()&amp;nbsp;As&amp;nbsp;Long &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;cnt&amp;nbsp;As&amp;nbsp;Long &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;TypeName(Selection)&amp;nbsp;=&amp;nbsp;&quot;Nothing&quot;&amp;nbsp;Then&amp;nbsp;Exit&amp;nbsp;Sub &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;Selection.Rows.Count&amp;nbsp;=&amp;nbsp;0&amp;nbsp;Then&amp;nbsp;Exit&amp;nbsp;Sub &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;1)&amp;nbsp;삽입&amp;nbsp;행&amp;nbsp;수&amp;nbsp;입력 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ans&amp;nbsp;=&amp;nbsp;Application.InputBox(&amp;nbsp;_ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Prompt:=&quot;사이에&amp;nbsp;넣을&amp;nbsp;행의&amp;nbsp;개수를&amp;nbsp;입력하세요&amp;nbsp;(정수,&amp;nbsp;1&amp;nbsp;이상):&quot;,&amp;nbsp;_ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Title:=&quot;행&amp;nbsp;삽입&quot;,&amp;nbsp;Type:=1)&amp;nbsp;'&amp;nbsp;숫자만 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;ans&amp;nbsp;=&amp;nbsp;False&amp;nbsp;Then&amp;nbsp;Exit&amp;nbsp;Sub&amp;nbsp;&amp;nbsp;'&amp;nbsp;사용자가&amp;nbsp;취소 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;CLng(ans)&amp;nbsp;&amp;lt;&amp;nbsp;1&amp;nbsp;Then&amp;nbsp;Exit&amp;nbsp;Sub &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;n&amp;nbsp;=&amp;nbsp;CLng(ans) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set&amp;nbsp;ws&amp;nbsp;=&amp;nbsp;ActiveSheet &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Application.ScreenUpdating&amp;nbsp;=&amp;nbsp;False &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Application.EnableEvents&amp;nbsp;=&amp;nbsp;False &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Application.Calculation&amp;nbsp;=&amp;nbsp;xlCalculationManual &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;2)&amp;nbsp;각&amp;nbsp;영역&amp;nbsp;별로&amp;nbsp;처리 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;For&amp;nbsp;Each&amp;nbsp;ar&amp;nbsp;In&amp;nbsp;Selection.Areas &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;영역의&amp;nbsp;첫/끝&amp;nbsp;행 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;firstRow&amp;nbsp;=&amp;nbsp;ar.Rows(1).Row &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;lastRow&amp;nbsp;=&amp;nbsp;ar.Rows(ar.Rows.Count).Row &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;영역&amp;nbsp;내&amp;nbsp;&quot;사이&quot;가&amp;nbsp;없으면&amp;nbsp;스킵&amp;nbsp;(행이&amp;nbsp;1줄뿐인&amp;nbsp;영역) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;lastRow&amp;nbsp;-&amp;nbsp;firstRow&amp;nbsp;&amp;lt;&amp;nbsp;1&amp;nbsp;Then&amp;nbsp;GoTo&amp;nbsp;NextArea &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;3)&amp;nbsp;삽입&amp;nbsp;기준이&amp;nbsp;되는&amp;nbsp;&quot;아래에서&amp;nbsp;위로&quot;&amp;nbsp;행&amp;nbsp;인덱스&amp;nbsp;목록&amp;nbsp;만들기 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;예:&amp;nbsp;5~10행&amp;nbsp;선택이면&amp;nbsp;9,8,7,6,5&amp;nbsp;순으로&amp;nbsp;삽입&amp;nbsp;위치를&amp;nbsp;잡음 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;cnt&amp;nbsp;=&amp;nbsp;0 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Erase&amp;nbsp;rowsToProcess &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;For&amp;nbsp;r&amp;nbsp;=&amp;nbsp;lastRow&amp;nbsp;-&amp;nbsp;1&amp;nbsp;To&amp;nbsp;firstRow&amp;nbsp;Step&amp;nbsp;-1 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;cnt&amp;nbsp;=&amp;nbsp;cnt&amp;nbsp;+&amp;nbsp;1 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ReDim&amp;nbsp;Preserve&amp;nbsp;rowsToProcess(1&amp;nbsp;To&amp;nbsp;cnt) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;rowsToProcess(cnt)&amp;nbsp;=&amp;nbsp;r &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Next&amp;nbsp;r &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;4)&amp;nbsp;실제&amp;nbsp;삽입&amp;nbsp;(각&amp;nbsp;r의&amp;nbsp;&quot;아래&quot;에&amp;nbsp;n행&amp;nbsp;삽입) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;For&amp;nbsp;r&amp;nbsp;=&amp;nbsp;1&amp;nbsp;To&amp;nbsp;cnt &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ws.Rows(rowsToProcess(r)&amp;nbsp;+&amp;nbsp;1).Resize(n).Insert&amp;nbsp;Shift:=xlDown &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;필요&amp;nbsp;시&amp;nbsp;서식&amp;nbsp;기준&amp;nbsp;지정(신형&amp;nbsp;엑셀): &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;ws.Rows(rowsToProcess(r)&amp;nbsp;+&amp;nbsp;1).Resize(n).Insert&amp;nbsp;Shift:=xlDown,&amp;nbsp;CopyOrigin:=xlFormatFromLeftOrAbove &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Next&amp;nbsp;r &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;NextArea: &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Next&amp;nbsp;ar &lt;br /&gt;&lt;br /&gt;Cleanup: &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Application.Calculation&amp;nbsp;=&amp;nbsp;xlCalculationAutomatic &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Application.EnableEvents&amp;nbsp;=&amp;nbsp;True &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Application.ScreenUpdating&amp;nbsp;=&amp;nbsp;True &lt;br /&gt;End&amp;nbsp;Sub &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #000000; font-size: 1.44em; letter-spacing: -1px;&quot;&gt;사용 방법&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-end=&quot;682&quot; data-start=&quot;583&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li data-end=&quot;608&quot; data-start=&quot;583&quot;&gt;행 삽입이 필요한 범위를 선택합니다.&lt;/li&gt;
&lt;li data-end=&quot;645&quot; data-start=&quot;609&quot;&gt;매크로 실행 시 팝업창에 삽입할 행의 개수를 입력합니다.&lt;/li&gt;
&lt;li data-end=&quot;682&quot; data-start=&quot;646&quot;&gt;선택한 범위 사이사이에 지정한 수 만큼 행이 들어갑니다.&lt;/li&gt;
&lt;/ol&gt;
&lt;hr data-end=&quot;687&quot; data-start=&quot;684&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h2 data-end=&quot;716&quot; data-start=&quot;689&quot; data-ke-size=&quot;size26&quot;&gt;2️⃣ 선택 범위 내 빈 행 삭제 매크로&lt;/h2&gt;
&lt;h3 data-end=&quot;726&quot; data-start=&quot;718&quot; data-ke-size=&quot;size23&quot;&gt;기능&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;788&quot; data-start=&quot;727&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;762&quot; data-start=&quot;727&quot;&gt;선택된 범위에서 &lt;b&gt;완전히 빈 행&lt;/b&gt;만 찾아 삭제합니다.&lt;/li&gt;
&lt;li data-end=&quot;788&quot; data-start=&quot;763&quot;&gt;삭제된 행 개수를 메시지로 알려줍니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-end=&quot;798&quot; data-start=&quot;790&quot; data-ke-size=&quot;size23&quot;&gt;코드&lt;/h3&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 100%;&quot;&gt;'&amp;nbsp;선택된&amp;nbsp;범위&amp;nbsp;내에서&amp;nbsp;&quot;완전히&amp;nbsp;빈&amp;nbsp;행&quot;을&amp;nbsp;찾아&amp;nbsp;삭제합니다. &lt;br /&gt;'&amp;nbsp;(삭제&amp;nbsp;직전에&amp;nbsp;개수를&amp;nbsp;저장하여&amp;nbsp;424&amp;nbsp;오류&amp;nbsp;방지) &lt;br /&gt;Public&amp;nbsp;Sub&amp;nbsp;DeleteEmptyRowsInSelection() &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;rng&amp;nbsp;As&amp;nbsp;Range,&amp;nbsp;r&amp;nbsp;As&amp;nbsp;Range &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;delRows&amp;nbsp;As&amp;nbsp;Range &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;ws&amp;nbsp;As&amp;nbsp;Worksheet &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;deletedCount&amp;nbsp;As&amp;nbsp;Long&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;&amp;larr;&amp;nbsp;삭제&amp;nbsp;전&amp;nbsp;개수&amp;nbsp;저장용 &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;TypeName(Selection)&amp;nbsp;=&amp;nbsp;&quot;Nothing&quot;&amp;nbsp;Then&amp;nbsp;Exit&amp;nbsp;Sub &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;Selection.Rows.Count&amp;nbsp;=&amp;nbsp;0&amp;nbsp;Then&amp;nbsp;Exit&amp;nbsp;Sub &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set&amp;nbsp;ws&amp;nbsp;=&amp;nbsp;ActiveSheet &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set&amp;nbsp;rng&amp;nbsp;=&amp;nbsp;Selection &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Application.ScreenUpdating&amp;nbsp;=&amp;nbsp;False &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Application.Calculation&amp;nbsp;=&amp;nbsp;xlCalculationManual &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Application.EnableEvents&amp;nbsp;=&amp;nbsp;False &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;아래에서&amp;nbsp;위로&amp;nbsp;확인하면서&amp;nbsp;빈&amp;nbsp;행&amp;nbsp;수집 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;For&amp;nbsp;Each&amp;nbsp;r&amp;nbsp;In&amp;nbsp;rng.Rows &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;Application.CountA(r)&amp;nbsp;=&amp;nbsp;0&amp;nbsp;Then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;delRows&amp;nbsp;Is&amp;nbsp;Nothing&amp;nbsp;Then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set&amp;nbsp;delRows&amp;nbsp;=&amp;nbsp;r &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Else &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set&amp;nbsp;delRows&amp;nbsp;=&amp;nbsp;Union(delRows,&amp;nbsp;r) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;If &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;If &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Next&amp;nbsp;r &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;삭제&amp;nbsp;+&amp;nbsp;메시지 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;Not&amp;nbsp;delRows&amp;nbsp;Is&amp;nbsp;Nothing&amp;nbsp;Then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;deletedCount&amp;nbsp;=&amp;nbsp;delRows.Rows.Count&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;&amp;larr;&amp;nbsp;삭제&amp;nbsp;전에&amp;nbsp;개수&amp;nbsp;확보 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;delRows.Delete&amp;nbsp;Shift:=xlUp&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;선택&amp;nbsp;범위&amp;nbsp;안에서만&amp;nbsp;위로&amp;nbsp;당김 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;MsgBox&amp;nbsp;&quot;빈&amp;nbsp;행이&amp;nbsp;삭제되었습니다.&quot;,&amp;nbsp;vbInformation &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Else &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;MsgBox&amp;nbsp;&quot;선택한&amp;nbsp;범위에는&amp;nbsp;빈&amp;nbsp;행이&amp;nbsp;없습니다.&quot;,&amp;nbsp;vbInformation &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;If &lt;br /&gt;&lt;br /&gt;Cleanup: &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Application.EnableEvents&amp;nbsp;=&amp;nbsp;True &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Application.Calculation&amp;nbsp;=&amp;nbsp;xlCalculationAutomatic &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Application.ScreenUpdating&amp;nbsp;=&amp;nbsp;True &lt;br /&gt;End&amp;nbsp;Sub&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;h3 data-end=&quot;901&quot; data-start=&quot;890&quot; data-ke-size=&quot;size23&quot;&gt;사용 방법&lt;/h3&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-end=&quot;961&quot; data-start=&quot;902&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li data-end=&quot;932&quot; data-start=&quot;902&quot;&gt;빈 행이 포함된 영역을 드래그하여 선택합니다.&lt;/li&gt;
&lt;li data-end=&quot;961&quot; data-start=&quot;933&quot;&gt;매크로 실행 &amp;rarr; 빈 행이 모두 삭제됩니다.&lt;/li&gt;
&lt;/ol&gt;
&lt;hr data-end=&quot;966&quot; data-start=&quot;963&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h2 data-end=&quot;1003&quot; data-start=&quot;968&quot; data-ke-size=&quot;size26&quot;&gt;3️⃣ 행 삽입 + 값 자동 채우기 + 마지막 행 복제&lt;/h2&gt;
&lt;h3 data-end=&quot;1013&quot; data-start=&quot;1005&quot; data-ke-size=&quot;size23&quot;&gt;기능&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1129&quot; data-start=&quot;1014&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1044&quot; data-start=&quot;1014&quot;&gt;선택 범위의 &lt;b&gt;각 인접 행 사이에 행 삽입&lt;/b&gt;&lt;/li&gt;
&lt;li data-end=&quot;1073&quot; data-start=&quot;1045&quot;&gt;삽입된 행을 바로 위 행의 값으로 자동 채움&lt;/li&gt;
&lt;li data-end=&quot;1129&quot; data-start=&quot;1074&quot;&gt;선택 영역의 &lt;b&gt;마지막 행 아래에도 추가로 n행 삽입&lt;/b&gt; 후, 마지막 행 값으로 채워줍니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-end=&quot;1139&quot; data-start=&quot;1131&quot; data-ke-size=&quot;size23&quot;&gt;코드&lt;/h3&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 100%;&quot;&gt;'&amp;nbsp;선택한&amp;nbsp;범위(여러&amp;nbsp;영역&amp;nbsp;가능)의&amp;nbsp;&quot;각&amp;nbsp;인접&amp;nbsp;행&amp;nbsp;사이&quot;에 &lt;br /&gt;'&amp;nbsp;사용자에게&amp;nbsp;입력받은&amp;nbsp;개수(n)만큼&amp;nbsp;행을&amp;nbsp;삽입하고, &lt;br /&gt;'&amp;nbsp;삽입된&amp;nbsp;행은&amp;nbsp;&quot;바로&amp;nbsp;위&amp;nbsp;행의&amp;nbsp;값&quot;으로&amp;nbsp;채우며, &lt;br /&gt;'&amp;nbsp;각&amp;nbsp;영역의&amp;nbsp;&quot;맨&amp;nbsp;마지막&amp;nbsp;행&amp;nbsp;아래&quot;에도&amp;nbsp;n개&amp;nbsp;행을&amp;nbsp;추가로&amp;nbsp;삽입해&amp;nbsp;마지막&amp;nbsp;행의&amp;nbsp;값으로&amp;nbsp;채웁니다. &lt;br /&gt;Public&amp;nbsp;Sub&amp;nbsp;InsertRowsBetweenSelection_FillFromAbove_AppendBottom() &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;n&amp;nbsp;As&amp;nbsp;Long,&amp;nbsp;ans&amp;nbsp;As&amp;nbsp;Variant &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;ws&amp;nbsp;As&amp;nbsp;Worksheet &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;ar&amp;nbsp;As&amp;nbsp;Range &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;firstRow&amp;nbsp;As&amp;nbsp;Long,&amp;nbsp;lastRow&amp;nbsp;As&amp;nbsp;Long &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;areaFirstCol&amp;nbsp;As&amp;nbsp;Long,&amp;nbsp;areaLastCol&amp;nbsp;As&amp;nbsp;Long &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;r&amp;nbsp;As&amp;nbsp;Long,&amp;nbsp;k&amp;nbsp;As&amp;nbsp;Long &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;rowsToProcess()&amp;nbsp;As&amp;nbsp;Long &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;cnt&amp;nbsp;As&amp;nbsp;Long,&amp;nbsp;pairs&amp;nbsp;As&amp;nbsp;Long,&amp;nbsp;idx&amp;nbsp;As&amp;nbsp;Long &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;src&amp;nbsp;As&amp;nbsp;Variant,&amp;nbsp;srcBottom&amp;nbsp;As&amp;nbsp;Variant &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;currentBottom&amp;nbsp;As&amp;nbsp;Long,&amp;nbsp;insertStart&amp;nbsp;As&amp;nbsp;Long &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;TypeName(Selection)&amp;nbsp;=&amp;nbsp;&quot;Nothing&quot;&amp;nbsp;Then&amp;nbsp;Exit&amp;nbsp;Sub &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;Selection.Rows.Count&amp;nbsp;=&amp;nbsp;0&amp;nbsp;Then&amp;nbsp;Exit&amp;nbsp;Sub &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;1)&amp;nbsp;삽입&amp;nbsp;행&amp;nbsp;수&amp;nbsp;입력 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ans&amp;nbsp;=&amp;nbsp;Application.InputBox(&amp;nbsp;_ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Prompt:=&quot;사이에&amp;nbsp;넣을&amp;nbsp;행의&amp;nbsp;개수를&amp;nbsp;입력하세요&amp;nbsp;(정수,&amp;nbsp;1&amp;nbsp;이상):&quot;,&amp;nbsp;_ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Title:=&quot;행&amp;nbsp;삽입&quot;,&amp;nbsp;Type:=1)&amp;nbsp;'&amp;nbsp;숫자만 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;ans&amp;nbsp;=&amp;nbsp;False&amp;nbsp;Then&amp;nbsp;Exit&amp;nbsp;Sub &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;CLng(ans)&amp;nbsp;&amp;lt;&amp;nbsp;1&amp;nbsp;Then&amp;nbsp;Exit&amp;nbsp;Sub &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;n&amp;nbsp;=&amp;nbsp;CLng(ans) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set&amp;nbsp;ws&amp;nbsp;=&amp;nbsp;ActiveSheet &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Application.ScreenUpdating&amp;nbsp;=&amp;nbsp;False &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Application.EnableEvents&amp;nbsp;=&amp;nbsp;False &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Application.Calculation&amp;nbsp;=&amp;nbsp;xlCalculationManual &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;2)&amp;nbsp;각&amp;nbsp;영역&amp;nbsp;별로&amp;nbsp;처리 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;For&amp;nbsp;Each&amp;nbsp;ar&amp;nbsp;In&amp;nbsp;Selection.Areas &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;firstRow&amp;nbsp;=&amp;nbsp;ar.Rows(1).Row &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;lastRow&amp;nbsp;=&amp;nbsp;ar.Rows(ar.Rows.Count).Row &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;areaFirstCol&amp;nbsp;=&amp;nbsp;ar.Columns(1).Column &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;areaLastCol&amp;nbsp;=&amp;nbsp;ar.Columns(ar.Columns.Count).Column &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;미리&amp;nbsp;&quot;영역의&amp;nbsp;마지막&amp;nbsp;행&amp;nbsp;값&quot;을&amp;nbsp;확보&amp;nbsp;(맨&amp;nbsp;아래&amp;nbsp;추가용) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;srcBottom&amp;nbsp;=&amp;nbsp;ws.Range(ws.Cells(lastRow,&amp;nbsp;areaFirstCol),&amp;nbsp;_ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ws.Cells(lastRow,&amp;nbsp;areaLastCol)).Value &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;---&amp;nbsp;사이&amp;nbsp;삽입&amp;nbsp;(아래&amp;rarr;위)&amp;nbsp;--- &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;pairs&amp;nbsp;=&amp;nbsp;Application.Max(0,&amp;nbsp;lastRow&amp;nbsp;-&amp;nbsp;firstRow)&amp;nbsp;'&amp;nbsp;인접&amp;nbsp;구간&amp;nbsp;수 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;pairs&amp;nbsp;&amp;gt;&amp;nbsp;0&amp;nbsp;Then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;cnt&amp;nbsp;=&amp;nbsp;0 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Erase&amp;nbsp;rowsToProcess &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;For&amp;nbsp;r&amp;nbsp;=&amp;nbsp;lastRow&amp;nbsp;-&amp;nbsp;1&amp;nbsp;To&amp;nbsp;firstRow&amp;nbsp;Step&amp;nbsp;-1 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;cnt&amp;nbsp;=&amp;nbsp;cnt&amp;nbsp;+&amp;nbsp;1 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ReDim&amp;nbsp;Preserve&amp;nbsp;rowsToProcess(1&amp;nbsp;To&amp;nbsp;cnt) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;rowsToProcess(cnt)&amp;nbsp;=&amp;nbsp;r &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Next&amp;nbsp;r &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;For&amp;nbsp;idx&amp;nbsp;=&amp;nbsp;1&amp;nbsp;To&amp;nbsp;cnt &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;(1)&amp;nbsp;r&amp;nbsp;아래에&amp;nbsp;n행&amp;nbsp;삽입 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ws.Rows(rowsToProcess(idx)&amp;nbsp;+&amp;nbsp;1).Resize(n).Insert&amp;nbsp;Shift:=xlDown &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;필요&amp;nbsp;시:&amp;nbsp;CopyOrigin:=xlFormatFromLeftOrAbove &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;(2)&amp;nbsp;r(원본)의&amp;nbsp;값을&amp;nbsp;가져와&amp;nbsp;삽입된&amp;nbsp;각&amp;nbsp;행에&amp;nbsp;&quot;값&quot;&amp;nbsp;채우기 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;src&amp;nbsp;=&amp;nbsp;ws.Range(ws.Cells(rowsToProcess(idx),&amp;nbsp;areaFirstCol),&amp;nbsp;_ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ws.Cells(rowsToProcess(idx),&amp;nbsp;areaLastCol)).Value &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;For&amp;nbsp;k&amp;nbsp;=&amp;nbsp;1&amp;nbsp;To&amp;nbsp;n &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ws.Range(ws.Cells(rowsToProcess(idx)&amp;nbsp;+&amp;nbsp;k,&amp;nbsp;areaFirstCol),&amp;nbsp;_ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ws.Cells(rowsToProcess(idx)&amp;nbsp;+&amp;nbsp;k,&amp;nbsp;areaLastCol)).Value&amp;nbsp;=&amp;nbsp;src &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Next&amp;nbsp;k &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Next&amp;nbsp;idx &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;If &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;---&amp;nbsp;맨&amp;nbsp;아래&amp;nbsp;추가&amp;nbsp;삽입&amp;nbsp;--- &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;사이&amp;nbsp;삽입으로&amp;nbsp;마지막&amp;nbsp;행이&amp;nbsp;아래로&amp;nbsp;내려갔으므로&amp;nbsp;현재&amp;nbsp;마지막&amp;nbsp;행&amp;nbsp;위치를&amp;nbsp;계산 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;currentBottom&amp;nbsp;=&amp;nbsp;lastRow&amp;nbsp;+&amp;nbsp;pairs&amp;nbsp;*&amp;nbsp;n &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;insertStart&amp;nbsp;=&amp;nbsp;currentBottom&amp;nbsp;+&amp;nbsp;1 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;n행&amp;nbsp;삽입&amp;nbsp;후,&amp;nbsp;&quot;원래&amp;nbsp;마지막&amp;nbsp;행&amp;nbsp;값&quot;으로&amp;nbsp;채움 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ws.Rows(insertStart).Resize(n).Insert&amp;nbsp;Shift:=xlDown &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;For&amp;nbsp;k&amp;nbsp;=&amp;nbsp;0&amp;nbsp;To&amp;nbsp;n&amp;nbsp;-&amp;nbsp;1 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ws.Range(ws.Cells(insertStart&amp;nbsp;+&amp;nbsp;k,&amp;nbsp;areaFirstCol),&amp;nbsp;_ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ws.Cells(insertStart&amp;nbsp;+&amp;nbsp;k,&amp;nbsp;areaLastCol)).Value&amp;nbsp;=&amp;nbsp;srcBottom &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Next&amp;nbsp;k &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Next&amp;nbsp;ar &lt;br /&gt;&lt;br /&gt;Cleanup: &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Application.Calculation&amp;nbsp;=&amp;nbsp;xlCalculationAutomatic &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Application.EnableEvents&amp;nbsp;=&amp;nbsp;True &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Application.ScreenUpdating&amp;nbsp;=&amp;nbsp;True &lt;br /&gt;End&amp;nbsp;Sub&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;h3 data-end=&quot;1269&quot; data-start=&quot;1258&quot; data-ke-size=&quot;size23&quot;&gt;사용 방법&lt;/h3&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-end=&quot;1370&quot; data-start=&quot;1270&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li data-end=&quot;1293&quot; data-start=&quot;1270&quot;&gt;데이터가 있는 범위를 선택합니다.&lt;/li&gt;
&lt;li data-end=&quot;1323&quot; data-start=&quot;1294&quot;&gt;매크로 실행 후 삽입할 행 수를 입력합니다.&lt;/li&gt;
&lt;li data-end=&quot;1370&quot; data-start=&quot;1324&quot;&gt;선택 영역 사이와 마지막 행 아래에 행이 추가되며, 값이 자동 복제됩니다.&lt;/li&gt;
&lt;/ol&gt;
&lt;hr data-end=&quot;1375&quot; data-start=&quot;1372&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h2 data-end=&quot;1404&quot; data-start=&quot;1377&quot; data-ke-size=&quot;size26&quot;&gt;4️⃣ 현재 셀 기준으로 범위 자동 선택&lt;/h2&gt;
&lt;h3 data-end=&quot;1414&quot; data-start=&quot;1406&quot; data-ke-size=&quot;size23&quot;&gt;기능&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1508&quot; data-start=&quot;1415&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1472&quot; data-start=&quot;1415&quot;&gt;현재 활성 셀을 기준으로 &lt;b&gt;같은 행의 마지막 열&lt;/b&gt;과 &lt;b&gt;같은 열의 마지막 행&lt;/b&gt;을 찾습니다.&lt;/li&gt;
&lt;li data-end=&quot;1508&quot; data-start=&quot;1473&quot;&gt;이 두 지점을 기준으로 직사각형 범위를 자동 선택합니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-end=&quot;1518&quot; data-start=&quot;1510&quot; data-ke-size=&quot;size23&quot;&gt;코드&lt;/h3&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%; height: 16px;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr style=&quot;height: 16px;&quot;&gt;
&lt;td style=&quot;width: 100%; height: 16px;&quot;&gt;'&amp;nbsp;현재셀&amp;nbsp;기준으로 &lt;br /&gt;'&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;rarr;&amp;nbsp;같은&amp;nbsp;행의&amp;nbsp;마지막&amp;nbsp;사용&amp;nbsp;열 &lt;br /&gt;'&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;rarr;&amp;nbsp;같은&amp;nbsp;열의&amp;nbsp;마지막&amp;nbsp;사용&amp;nbsp;행 &lt;br /&gt;'&amp;nbsp;두&amp;nbsp;점을&amp;nbsp;잡아&amp;nbsp;직사각형&amp;nbsp;범위를&amp;nbsp;선택 &lt;br /&gt;Public&amp;nbsp;Sub&amp;nbsp;SelectRangeFromCurrentCell() &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;ws&amp;nbsp;As&amp;nbsp;Worksheet &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;startRow&amp;nbsp;As&amp;nbsp;Long,&amp;nbsp;startCol&amp;nbsp;As&amp;nbsp;Long &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;lastRow&amp;nbsp;As&amp;nbsp;Long,&amp;nbsp;lastCol&amp;nbsp;As&amp;nbsp;Long &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set&amp;nbsp;ws&amp;nbsp;=&amp;nbsp;ActiveSheet &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;startRow&amp;nbsp;=&amp;nbsp;ActiveCell.Row &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;startCol&amp;nbsp;=&amp;nbsp;ActiveCell.Column &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;현재&amp;nbsp;행에서&amp;nbsp;마지막&amp;nbsp;사용&amp;nbsp;열&amp;nbsp;찾기 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;lastCol&amp;nbsp;=&amp;nbsp;ws.Cells(startRow,&amp;nbsp;ws.Columns.Count).End(xlToLeft).Column &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;현재&amp;nbsp;열에서&amp;nbsp;마지막&amp;nbsp;사용&amp;nbsp;행&amp;nbsp;찾기 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;lastRow&amp;nbsp;=&amp;nbsp;ws.Cells(ws.Rows.Count,&amp;nbsp;startCol).End(xlUp).Row &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;직사각형&amp;nbsp;범위&amp;nbsp;선택 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ws.Range(ws.Cells(startRow,&amp;nbsp;startCol),&amp;nbsp;ws.Cells(lastRow,&amp;nbsp;lastCol)).Select &lt;br /&gt;End&amp;nbsp;Sub &lt;br /&gt;&lt;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;h3 data-end=&quot;1621&quot; data-start=&quot;1610&quot; data-ke-size=&quot;size23&quot;&gt;사용 방법&lt;/h3&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-end=&quot;1693&quot; data-start=&quot;1622&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li data-end=&quot;1646&quot; data-start=&quot;1622&quot;&gt;범위의 시작이 될 셀을 클릭합니다.&lt;/li&gt;
&lt;li data-end=&quot;1693&quot; data-start=&quot;1647&quot;&gt;매크로 실행 &amp;rarr; 현재 셀에서 마지막 데이터까지 자동으로 범위가 선택됩니다.&lt;/li&gt;
&lt;/ol&gt;
&lt;hr data-end=&quot;1698&quot; data-start=&quot;1695&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h2 data-end=&quot;1712&quot; data-start=&quot;1700&quot; data-ke-size=&quot;size26&quot;&gt;⚠️ 주의사항&lt;/h2&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1993&quot; data-start=&quot;1713&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1780&quot; data-start=&quot;1713&quot;&gt;VBA 코드는 반드시 &lt;b&gt;개발 도구 &amp;gt; VBA 편집기&lt;/b&gt;에서 해당 시트 모듈 또는 표준 모듈에 넣어야 실행됩니다.&lt;/li&gt;
&lt;li data-end=&quot;1837&quot; data-start=&quot;1781&quot;&gt;ActiveCell을 사용하는 매크로는 반드시 &lt;b&gt;현재 선택 셀&lt;/b&gt;을 확인 후 실행하세요.&lt;/li&gt;
&lt;li data-end=&quot;1993&quot; data-start=&quot;1838&quot;&gt;Application.EnableEvents와 ScreenUpdating을 꺼두는 구문이 있으므로, 예상치 못한 상황에서는 매크로 중간 종료 시 이벤트가 꺼질 수 있습니다. &amp;rarr; 그럴 땐 즉시창에서 Application.EnableEvents = True 입력.&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-end=&quot;1998&quot; data-start=&quot;1995&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h2 data-end=&quot;2016&quot; data-start=&quot;2000&quot; data-ke-size=&quot;size26&quot;&gt;✅ 마무리 (CTA)&lt;/h2&gt;
&lt;p data-end=&quot;2119&quot; data-start=&quot;2017&quot; data-ke-size=&quot;size16&quot;&gt;엑셀에서 반복 작업 때문에 시간을 허비하지 마세요.&lt;br /&gt;위의 VBA 매크로들을 활용하면 &lt;b&gt;행 삽입, 삭제, 값 채우기, 자동 범위 선택&lt;/b&gt;까지 클릭 한 번으로 끝낼 수 있습니다.&lt;/p&gt;
&lt;p data-end=&quot;2219&quot; data-start=&quot;2121&quot; data-ke-size=&quot;size16&quot;&gt;  더 많은 엑셀 VBA 꿀팁과 자동화 코드를 받아보고 싶다면 &lt;b&gt;블로그 이웃추가 + 구독&lt;/b&gt; 눌러주세요.&lt;/p&gt;
&lt;p data-end=&quot;2219&quot; data-start=&quot;2121&quot; data-ke-size=&quot;size16&quot;&gt;작은 자동화가 루루님의 시간을 크게 절약해 드릴 거예요  &lt;/p&gt;
&lt;p data-end=&quot;2219&quot; data-start=&quot;2121&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;fileblock&quot; data-ke-align=&quot;alignCenter&quot;&gt;&lt;a href=&quot;https://blog.kakaocdn.net/dn/bbXVn1/dJMb9Pe7NCg/NxOK0aztkvIg2wRw6ARN5K/%ED%96%89%EC%82%BD%EC%9E%85%20%EB%B0%8F%20%EA%B0%92%20%EC%B1%84%EC%9B%8C%EB%84%A3%EA%B8%B0_ver1.0.xlsm?attach=1&amp;amp;knm=tfile.xlsm&quot; class=&quot;&quot;&gt;
    &lt;div class=&quot;image&quot;&gt;&lt;/div&gt;
    &lt;div class=&quot;desc&quot;&gt;&lt;div class=&quot;filename&quot;&gt;&lt;span class=&quot;name&quot;&gt;행삽입 및 값 채워넣기_ver1.0.xlsm&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;size&quot;&gt;0.03MB&lt;/div&gt;
&lt;/div&gt;
  &lt;/a&gt;&lt;/figure&gt;
&lt;/p&gt;</description>
      <category>Range 개체</category>
      <category>#VBA자동화</category>
      <category>#빈행삭제</category>
      <category>#엑셀매크로</category>
      <category>#엑셀범위선택</category>
      <category>#엑셀행삽입</category>
      <author>노만e</author>
      <guid isPermaLink="true">https://dream2049.tistory.com/173</guid>
      <comments>https://dream2049.tistory.com/173#entry173comment</comments>
      <pubDate>Mon, 25 Aug 2025 22:25:14 +0900</pubDate>
    </item>
    <item>
      <title>엑셀 파일목록 가져오기 및 하이퍼링크 연결까지 5초안에 해결하기</title>
      <link>https://dream2049.tistory.com/172</link>
      <description>&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;794&quot; data-origin-height=&quot;664&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/FLkyn/btsP2AdP3mh/eaeBNSkYq2fwOD09loe7P0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/FLkyn/btsP2AdP3mh/eaeBNSkYq2fwOD09loe7P0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/FLkyn/btsP2AdP3mh/eaeBNSkYq2fwOD09loe7P0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FFLkyn%2FbtsP2AdP3mh%2FeaeBNSkYq2fwOD09loe7P0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;556&quot; height=&quot;465&quot; data-origin-width=&quot;794&quot; data-origin-height=&quot;664&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;1. 필요한 이유&lt;/span&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;엑셀에서 수작업으로 파일 하이퍼링크를 하나하나 하고 계신가요? &lt;br /&gt;&lt;br /&gt;업무&amp;nbsp;중&amp;nbsp;자주&amp;nbsp;쓰이는&amp;nbsp;폴더의&amp;nbsp;파일&amp;nbsp;리스트를&amp;nbsp;자동으로&amp;nbsp;불러오고,&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;클릭&amp;nbsp;한&amp;nbsp;번으로&amp;nbsp;파일을&amp;nbsp;열&amp;nbsp;수&amp;nbsp;있다면&amp;nbsp;얼마나&amp;nbsp;편리할까요?&amp;nbsp;&amp;nbsp; &lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;저는 회사에서 고급필터를 이용해 수많은 &lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;컨베이어 벨트를 검색하고,&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;해당 컨베이어 벨트의 pdf도면, 지도(SCADA), 관련 정보, 자재의 재고까지 &lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;하이퍼링크로 연결하여 바로 열어 확인 할 수 있도록 만들어 놓았습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;특히&amp;nbsp;수백&amp;nbsp;개의&amp;nbsp;파일을&amp;nbsp;정리해야&amp;nbsp;하는&amp;nbsp;사무직,&amp;nbsp;교육업,&amp;nbsp;프리랜서&amp;nbsp;분들에게는&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;업무&amp;nbsp;효율을&amp;nbsp;극대화할&amp;nbsp;수&amp;nbsp;있는&amp;nbsp;해결책이&amp;nbsp;됩니다. &lt;br /&gt;&lt;br /&gt;바로&amp;nbsp;'엑셀&amp;nbsp;VBA를&amp;nbsp;활용한&amp;nbsp;파일&amp;nbsp;리스트&amp;nbsp;자동화&amp;nbsp;및&amp;nbsp;하이퍼링크&amp;nbsp;연결'입니다. &lt;br /&gt;엑셀을 단순 데이터 관리 도구가 아닌, 자동화 솔루션으로 바꿔보세요. &lt;br /&gt;&lt;br /&gt;엑셀&amp;nbsp;VBA로&amp;nbsp;파일&amp;nbsp;리스트를&amp;nbsp;자동으로&amp;nbsp;불러오는&amp;nbsp;방법이&amp;nbsp;있을까요? &lt;br /&gt;가능합니다. 엑셀의 VBA(Visual Basic for Applications)를 이용하면&amp;nbsp;&amp;nbsp; &lt;br /&gt;특정&amp;nbsp;폴더&amp;nbsp;안의&amp;nbsp;파일&amp;nbsp;이름,&amp;nbsp;경로,&amp;nbsp;생성일&amp;nbsp;등을&amp;nbsp;자동으로&amp;nbsp;불러올&amp;nbsp;수&amp;nbsp;있고&amp;nbsp;&amp;nbsp; &lt;br /&gt;각&amp;nbsp;항목에&amp;nbsp;하이퍼링크까지&amp;nbsp;연결해&amp;nbsp;클릭만으로&amp;nbsp;파일을&amp;nbsp;열&amp;nbsp;수&amp;nbsp;있도록&amp;nbsp;만들&amp;nbsp;수&amp;nbsp;있습니다. &lt;br /&gt;&lt;br /&gt;핵심&amp;nbsp;코드는&amp;nbsp;다음과&amp;nbsp;같은&amp;nbsp;구조로&amp;nbsp;구성됩니다: &lt;br /&gt;&amp;nbsp; 1. 특정 폴더 경로 설정 &lt;br /&gt;&amp;nbsp; 2. 파일 목록을 순회하며 파일명과 경로 수집 &lt;br /&gt;&amp;nbsp; 3. 수집한 정보를 셀에 출력 &lt;br /&gt;&amp;nbsp; 4. 셀에 하이퍼링크 설정 &lt;br /&gt;&lt;br /&gt;예를&amp;nbsp;들어&amp;nbsp;아래와&amp;nbsp;같은&amp;nbsp;VBA&amp;nbsp;코드를&amp;nbsp;사용하면&amp;nbsp;&amp;nbsp; &lt;br /&gt;D&amp;nbsp;드라이브&amp;nbsp;안의&amp;nbsp;'보고서'&amp;nbsp;폴더에&amp;nbsp;있는&amp;nbsp;모든&amp;nbsp;엑셀&amp;nbsp;파일의&amp;nbsp;리스트와&amp;nbsp;&amp;nbsp; &lt;br /&gt;그에&amp;nbsp;대한&amp;nbsp;하이퍼링크를&amp;nbsp;엑셀&amp;nbsp;시트에&amp;nbsp;자동으로&amp;nbsp;출력할&amp;nbsp;수&amp;nbsp;있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;2. VBA 코드&lt;/h3&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 100%;&quot;&gt;Option&amp;nbsp;Explicit&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;변수&amp;nbsp;선언을&amp;nbsp;강제하여&amp;nbsp;실수를&amp;nbsp;줄임 &lt;br /&gt;&lt;br /&gt;'&amp;nbsp;메인&amp;nbsp;프로시저 &lt;br /&gt;Public&amp;nbsp;Sub&amp;nbsp;ListFiles_FromSelection_Recursive_Option() &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;fd&amp;nbsp;As&amp;nbsp;FileDialog&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;폴더&amp;nbsp;선택&amp;nbsp;창&amp;nbsp;객체 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;selPath&amp;nbsp;As&amp;nbsp;String&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;선택한&amp;nbsp;폴더&amp;nbsp;경로 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;ws&amp;nbsp;As&amp;nbsp;Worksheet&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;실행할&amp;nbsp;워크시트 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;anchor&amp;nbsp;As&amp;nbsp;Range&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;시작&amp;nbsp;셀(출력&amp;nbsp;시작&amp;nbsp;위치) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;startRow&amp;nbsp;As&amp;nbsp;Long,&amp;nbsp;startCol&amp;nbsp;As&amp;nbsp;Long&amp;nbsp;&amp;nbsp;'&amp;nbsp;시작&amp;nbsp;행/열&amp;nbsp;번호 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;nextRow&amp;nbsp;As&amp;nbsp;Long,&amp;nbsp;lastRow&amp;nbsp;As&amp;nbsp;Long &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;n&amp;nbsp;As&amp;nbsp;Long&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;순번&amp;nbsp;번호&amp;nbsp;(No.) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;excludeDetails&amp;nbsp;As&amp;nbsp;Boolean&amp;nbsp;'&amp;nbsp;확장자/경로&amp;nbsp;제외&amp;nbsp;여부 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;resp&amp;nbsp;As&amp;nbsp;VbMsgBoxResult&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;메시지&amp;nbsp;박스&amp;nbsp;결과&amp;nbsp;저장 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;lastColOffset&amp;nbsp;As&amp;nbsp;Long &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;rngAll&amp;nbsp;As&amp;nbsp;Range &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;성능&amp;nbsp;최적화&amp;nbsp;(화면&amp;nbsp;깜빡임&amp;nbsp;방지,&amp;nbsp;계산&amp;nbsp;중지) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Application.ScreenUpdating&amp;nbsp;=&amp;nbsp;False &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Application.EnableEvents&amp;nbsp;=&amp;nbsp;False &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Application.Calculation&amp;nbsp;=&amp;nbsp;xlCalculationManual &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set&amp;nbsp;ws&amp;nbsp;=&amp;nbsp;ActiveSheet &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;출력&amp;nbsp;시작&amp;nbsp;위치를&amp;nbsp;InputBox로&amp;nbsp;직접&amp;nbsp;선택 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set&amp;nbsp;anchor&amp;nbsp;=&amp;nbsp;ws.Range(&quot;A1&quot;) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;anchor&amp;nbsp;Is&amp;nbsp;Nothing&amp;nbsp;Then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;MsgBox&amp;nbsp;&quot;취소(ESC)버튼을&amp;nbsp;누르셨습니다.&quot; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Exit&amp;nbsp;Sub &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;If &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;startRow&amp;nbsp;=&amp;nbsp;anchor.Row &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;startCol&amp;nbsp;=&amp;nbsp;anchor.Column &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ws.Cells(startRow,&amp;nbsp;startCol).CurrentRegion.Clear &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;확장자/경로&amp;nbsp;제외&amp;nbsp;여부를&amp;nbsp;묻는&amp;nbsp;메시지&amp;nbsp;박스 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;resp&amp;nbsp;=&amp;nbsp;MsgBox(&amp;nbsp;_ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&quot;확장자와&amp;nbsp;경로를&amp;nbsp;제외할까요?&quot;&amp;nbsp;&amp;amp;&amp;nbsp;vbCrLf&amp;nbsp;&amp;amp;&amp;nbsp;vbCrLf&amp;nbsp;&amp;amp;&amp;nbsp;_ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&quot;예&amp;nbsp;:&amp;nbsp;순번&amp;nbsp;/&amp;nbsp;파일명(하이퍼링크)만&amp;nbsp;출력&quot;&amp;nbsp;&amp;amp;&amp;nbsp;vbCrLf&amp;nbsp;&amp;amp;&amp;nbsp;_ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&quot;아니오&amp;nbsp;:&amp;nbsp;순번&amp;nbsp;/&amp;nbsp;파일명(하이퍼링크)&amp;nbsp;/&amp;nbsp;확장자&amp;nbsp;/&amp;nbsp;경로&amp;nbsp;출력&quot;,&amp;nbsp;_ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;vbQuestion&amp;nbsp;+&amp;nbsp;vbYesNo,&amp;nbsp;&quot;열&amp;nbsp;구성&amp;nbsp;옵션&quot;) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;excludeDetails&amp;nbsp;=&amp;nbsp;(resp&amp;nbsp;=&amp;nbsp;vbYes) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;헤더&amp;nbsp;출력 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;With&amp;nbsp;ws &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.Cells(startRow,&amp;nbsp;startCol&amp;nbsp;+&amp;nbsp;0).Value&amp;nbsp;=&amp;nbsp;&quot;No.&quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;순번 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.Cells(startRow,&amp;nbsp;startCol&amp;nbsp;+&amp;nbsp;1).Value&amp;nbsp;=&amp;nbsp;&quot;파일명&quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;파일명 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;Not&amp;nbsp;excludeDetails&amp;nbsp;Then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.Cells(startRow,&amp;nbsp;startCol&amp;nbsp;+&amp;nbsp;2).Value&amp;nbsp;=&amp;nbsp;&quot;확장자&quot;&amp;nbsp;'&amp;nbsp;확장자 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.Cells(startRow,&amp;nbsp;startCol&amp;nbsp;+&amp;nbsp;3).Value&amp;nbsp;=&amp;nbsp;&quot;경로&quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;경로 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;If &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;헤더&amp;nbsp;스타일&amp;nbsp;(굵게&amp;nbsp;+&amp;nbsp;배경색&amp;nbsp;회색) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;headerLastCol&amp;nbsp;As&amp;nbsp;Long &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;headerLastCol&amp;nbsp;=&amp;nbsp;startCol&amp;nbsp;+&amp;nbsp;IIf(excludeDetails,&amp;nbsp;1,&amp;nbsp;3) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.Range(.Cells(startRow,&amp;nbsp;startCol),&amp;nbsp;.Cells(startRow,&amp;nbsp;headerLastCol)).Font.Bold&amp;nbsp;=&amp;nbsp;True &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.Range(.Cells(startRow,&amp;nbsp;startCol),&amp;nbsp;.Cells(startRow,&amp;nbsp;headerLastCol)).Interior.Color&amp;nbsp;=&amp;nbsp;RGB(242,&amp;nbsp;242,&amp;nbsp;242) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;With &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;폴더&amp;nbsp;선택&amp;nbsp;창&amp;nbsp;띄우기 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set&amp;nbsp;fd&amp;nbsp;=&amp;nbsp;Application.FileDialog(msoFileDialogFolderPicker) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;With&amp;nbsp;fd &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.Title&amp;nbsp;=&amp;nbsp;&quot;가져올&amp;nbsp;폴더를&amp;nbsp;선택하세요&quot; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.AllowMultiSelect&amp;nbsp;=&amp;nbsp;False &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;.Show&amp;nbsp;&amp;lt;&amp;gt;&amp;nbsp;-1&amp;nbsp;Then&amp;nbsp;GoTo&amp;nbsp;TidyExit&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;취소&amp;nbsp;시&amp;nbsp;종료 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;selPath&amp;nbsp;=&amp;nbsp;.SelectedItems(1)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;선택한&amp;nbsp;경로&amp;nbsp;저장 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;With &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;실제&amp;nbsp;파일&amp;nbsp;목록&amp;nbsp;채우기 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;nextRow&amp;nbsp;=&amp;nbsp;startRow&amp;nbsp;+&amp;nbsp;1 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;n&amp;nbsp;=&amp;nbsp;1 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Call&amp;nbsp;TraverseFolderAndWrite_ToSelection_Option(selPath,&amp;nbsp;ws,&amp;nbsp;nextRow,&amp;nbsp;startCol,&amp;nbsp;n,&amp;nbsp;excludeDetails) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;---&amp;nbsp;출력&amp;nbsp;후&amp;nbsp;마감&amp;nbsp;처리&amp;nbsp;--- &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;lastRow&amp;nbsp;=&amp;nbsp;nextRow&amp;nbsp;-&amp;nbsp;1 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;lastRow&amp;nbsp;&amp;gt;=&amp;nbsp;startRow&amp;nbsp;Then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;lastColOffset&amp;nbsp;=&amp;nbsp;IIf(excludeDetails,&amp;nbsp;1,&amp;nbsp;3) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;열&amp;nbsp;너비&amp;nbsp;자동&amp;nbsp;맞춤 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ws.Range(ws.Cells(startRow,&amp;nbsp;startCol),&amp;nbsp;ws.Cells(lastRow,&amp;nbsp;startCol&amp;nbsp;+&amp;nbsp;lastColOffset)).Columns.AutoFit &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;줄무늬&amp;nbsp;효과&amp;nbsp;(홀수행&amp;nbsp;은은한&amp;nbsp;배경) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;lastRow&amp;nbsp;&amp;gt;&amp;nbsp;startRow&amp;nbsp;Then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;rngBody&amp;nbsp;As&amp;nbsp;Range &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set&amp;nbsp;rngBody&amp;nbsp;=&amp;nbsp;ws.Range(ws.Cells(startRow&amp;nbsp;+&amp;nbsp;1,&amp;nbsp;startCol),&amp;nbsp;ws.Cells(lastRow,&amp;nbsp;startCol&amp;nbsp;+&amp;nbsp;lastColOffset)) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;With&amp;nbsp;rngBody.FormatConditions.Add(Type:=xlExpression,&amp;nbsp;_ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Formula1:=&quot;=MOD(ROW()-&quot;&amp;nbsp;&amp;amp;&amp;nbsp;startRow&amp;nbsp;&amp;amp;&amp;nbsp;&quot;,2)=1&quot;) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.Interior.Color&amp;nbsp;=&amp;nbsp;RGB(248,&amp;nbsp;248,&amp;nbsp;248) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;With &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;If &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;테두리&amp;nbsp;적용 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set&amp;nbsp;rngAll&amp;nbsp;=&amp;nbsp;ws.Range(ws.Cells(startRow,&amp;nbsp;startCol),&amp;nbsp;ws.Cells(lastRow,&amp;nbsp;startCol&amp;nbsp;+&amp;nbsp;lastColOffset)) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Call&amp;nbsp;ApplyPrettyBorders(rngAll) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;If &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;TidyExit: &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;최적화&amp;nbsp;원상&amp;nbsp;복구 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Application.Calculation&amp;nbsp;=&amp;nbsp;xlCalculationAutomatic &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Application.EnableEvents&amp;nbsp;=&amp;nbsp;True &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Application.ScreenUpdating&amp;nbsp;=&amp;nbsp;True &lt;br /&gt;End&amp;nbsp;Sub &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;'&amp;nbsp;----------------------------------------------------------- &lt;br /&gt;'&amp;nbsp;파일과&amp;nbsp;하위&amp;nbsp;폴더까지&amp;nbsp;모두&amp;nbsp;탐색해서&amp;nbsp;목록을&amp;nbsp;출력하는&amp;nbsp;재귀&amp;nbsp;프로시저 &lt;br /&gt;'&amp;nbsp;----------------------------------------------------------- &lt;br /&gt;Private&amp;nbsp;Sub&amp;nbsp;TraverseFolderAndWrite_ToSelection_Option(&amp;nbsp;_ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ByVal&amp;nbsp;folderPath&amp;nbsp;As&amp;nbsp;String,&amp;nbsp;_ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ByVal&amp;nbsp;ws&amp;nbsp;As&amp;nbsp;Worksheet,&amp;nbsp;_ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ByRef&amp;nbsp;nextRow&amp;nbsp;As&amp;nbsp;Long,&amp;nbsp;_ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ByVal&amp;nbsp;startCol&amp;nbsp;As&amp;nbsp;Long,&amp;nbsp;_ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ByRef&amp;nbsp;n&amp;nbsp;As&amp;nbsp;Long,&amp;nbsp;_ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ByVal&amp;nbsp;excludeDetails&amp;nbsp;As&amp;nbsp;Boolean) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;fso&amp;nbsp;As&amp;nbsp;Object&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;FileSystemObject&amp;nbsp;(파일/폴더&amp;nbsp;관리) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;fldr&amp;nbsp;As&amp;nbsp;Object&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;현재&amp;nbsp;폴더 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;subFldr&amp;nbsp;As&amp;nbsp;Object&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;하위&amp;nbsp;폴더 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;fil&amp;nbsp;As&amp;nbsp;Object&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;개별&amp;nbsp;파일 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;baseName&amp;nbsp;As&amp;nbsp;String&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;확장자&amp;nbsp;제외&amp;nbsp;파일명 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;extName&amp;nbsp;As&amp;nbsp;String&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;확장자 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;fullPath&amp;nbsp;As&amp;nbsp;String&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;전체&amp;nbsp;경로 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;parentPath&amp;nbsp;As&amp;nbsp;String&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;폴더&amp;nbsp;경로 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;cellB&amp;nbsp;As&amp;nbsp;Range &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;On&amp;nbsp;Error&amp;nbsp;GoTo&amp;nbsp;SafeExit &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set&amp;nbsp;fso&amp;nbsp;=&amp;nbsp;CreateObject(&quot;Scripting.FileSystemObject&quot;) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set&amp;nbsp;fldr&amp;nbsp;=&amp;nbsp;fso.GetFolder(folderPath) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;현재&amp;nbsp;폴더의&amp;nbsp;파일&amp;nbsp;나열 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;For&amp;nbsp;Each&amp;nbsp;fil&amp;nbsp;In&amp;nbsp;fldr.Files &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;fullPath&amp;nbsp;=&amp;nbsp;fil.Path &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;~$&amp;nbsp;로&amp;nbsp;시작하는&amp;nbsp;임시파일은&amp;nbsp;제외 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;Not&amp;nbsp;Left$(fso.GetFileName(fullPath),&amp;nbsp;2)&amp;nbsp;=&amp;nbsp;&quot;~$&quot;&amp;nbsp;Then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;baseName&amp;nbsp;=&amp;nbsp;fso.GetBaseName(fullPath) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;extName&amp;nbsp;=&amp;nbsp;fso.GetExtensionName(fullPath) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;parentPath&amp;nbsp;=&amp;nbsp;fso.GetParentFolderName(fullPath) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;A열&amp;nbsp;=&amp;nbsp;순번 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ws.Cells(nextRow,&amp;nbsp;startCol&amp;nbsp;+&amp;nbsp;0).Value&amp;nbsp;=&amp;nbsp;n &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;B열&amp;nbsp;=&amp;nbsp;파일명&amp;nbsp;(하이퍼링크&amp;nbsp;적용) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set&amp;nbsp;cellB&amp;nbsp;=&amp;nbsp;ws.Cells(nextRow,&amp;nbsp;startCol&amp;nbsp;+&amp;nbsp;1) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ws.Hyperlinks.Add&amp;nbsp;anchor:=cellB,&amp;nbsp;Address:=fullPath,&amp;nbsp;_ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;SubAddress:=&quot;&quot;,&amp;nbsp;TextToDisplay:=baseName &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;확장자/경로&amp;nbsp;포함&amp;nbsp;여부에&amp;nbsp;따라&amp;nbsp;출력 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;Not&amp;nbsp;excludeDetails&amp;nbsp;Then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ws.Cells(nextRow,&amp;nbsp;startCol&amp;nbsp;+&amp;nbsp;2).Value&amp;nbsp;=&amp;nbsp;extName &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ws.Cells(nextRow,&amp;nbsp;startCol&amp;nbsp;+&amp;nbsp;3).Value&amp;nbsp;=&amp;nbsp;parentPath &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;If &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;n&amp;nbsp;=&amp;nbsp;n&amp;nbsp;+&amp;nbsp;1 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;nextRow&amp;nbsp;=&amp;nbsp;nextRow&amp;nbsp;+&amp;nbsp;1 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;If &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Next&amp;nbsp;fil &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;하위&amp;nbsp;폴더도&amp;nbsp;재귀적으로&amp;nbsp;탐색 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;For&amp;nbsp;Each&amp;nbsp;subFldr&amp;nbsp;In&amp;nbsp;fldr.SubFolders &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Call&amp;nbsp;TraverseFolderAndWrite_ToSelection_Option(subFldr.Path,&amp;nbsp;ws,&amp;nbsp;nextRow,&amp;nbsp;startCol,&amp;nbsp;n,&amp;nbsp;excludeDetails) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Next&amp;nbsp;subFldr &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;SafeExit: &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;On&amp;nbsp;Error&amp;nbsp;Resume&amp;nbsp;Next &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set&amp;nbsp;subFldr&amp;nbsp;=&amp;nbsp;Nothing &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set&amp;nbsp;fldr&amp;nbsp;=&amp;nbsp;Nothing &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set&amp;nbsp;fso&amp;nbsp;=&amp;nbsp;Nothing &lt;br /&gt;End&amp;nbsp;Sub &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;'&amp;nbsp;----------------------------------------------------------- &lt;br /&gt;'&amp;nbsp;보기&amp;nbsp;좋은&amp;nbsp;테두리&amp;nbsp;스타일&amp;nbsp;적용 &lt;br /&gt;'&amp;nbsp;----------------------------------------------------------- &lt;br /&gt;Private&amp;nbsp;Sub&amp;nbsp;ApplyPrettyBorders(ByVal&amp;nbsp;rng&amp;nbsp;As&amp;nbsp;Range) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;rng.HorizontalAlignment&amp;nbsp;=&amp;nbsp;xlCenter &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;With&amp;nbsp;rng.Borders &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.LineStyle&amp;nbsp;=&amp;nbsp;xlContinuous &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.Color&amp;nbsp;=&amp;nbsp;RGB(200,&amp;nbsp;200,&amp;nbsp;200)&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;연한&amp;nbsp;회색 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.Weight&amp;nbsp;=&amp;nbsp;xlThin&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;얇은&amp;nbsp;선 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;With &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;외곽선은&amp;nbsp;조금&amp;nbsp;더&amp;nbsp;두껍게 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;With&amp;nbsp;rng.Borders(xlEdgeLeft):&amp;nbsp;&amp;nbsp;&amp;nbsp;.Weight&amp;nbsp;=&amp;nbsp;xlMedium:&amp;nbsp;End&amp;nbsp;With &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;With&amp;nbsp;rng.Borders(xlEdgeRight):&amp;nbsp;&amp;nbsp;.Weight&amp;nbsp;=&amp;nbsp;xlMedium:&amp;nbsp;End&amp;nbsp;With &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;With&amp;nbsp;rng.Borders(xlEdgeTop):&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.Weight&amp;nbsp;=&amp;nbsp;xlMedium:&amp;nbsp;End&amp;nbsp;With &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;With&amp;nbsp;rng.Borders(xlEdgeBottom):&amp;nbsp;.Weight&amp;nbsp;=&amp;nbsp;xlMedium:&amp;nbsp;End&amp;nbsp;With &lt;br /&gt;End&amp;nbsp;Sub &lt;br /&gt;&lt;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;3. 실행&amp;nbsp;방법&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;실행&amp;nbsp;방법 은&amp;nbsp;간단합니다.&amp;nbsp;Alt&amp;nbsp;+&amp;nbsp;F11을&amp;nbsp;눌러&amp;nbsp;VBA&amp;nbsp;편집기를&amp;nbsp;열고&amp;nbsp;&amp;nbsp; &lt;br /&gt;새&amp;nbsp;모듈에&amp;nbsp;위&amp;nbsp;코드를&amp;nbsp;붙여넣은&amp;nbsp;후&amp;nbsp;실행만&amp;nbsp;하면&amp;nbsp;됩니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;아니면, 아래 파일을 다운로드 하여 사용하세요.&lt;br /&gt;&lt;br /&gt;하이퍼링크를&amp;nbsp;직접&amp;nbsp;걸&amp;nbsp;필요&amp;nbsp;없이&amp;nbsp;자동으로&amp;nbsp;연결되기&amp;nbsp;때문에&amp;nbsp;&amp;nbsp; &lt;br /&gt;반복&amp;nbsp;작업이&amp;nbsp;많을수록&amp;nbsp;업무&amp;nbsp;효율이&amp;nbsp;기하급수적으로&amp;nbsp;증가합니다. &lt;br /&gt;&lt;br /&gt;파일&amp;nbsp;목록&amp;nbsp;관리를&amp;nbsp;자동화하면&amp;nbsp;어떤&amp;nbsp;점이&amp;nbsp;좋을까요? &lt;br /&gt;&lt;br /&gt;1.&amp;nbsp;문서&amp;nbsp;정리&amp;nbsp;속도&amp;nbsp;향상 &lt;br /&gt;2.&amp;nbsp;파일&amp;nbsp;누락&amp;nbsp;방지 &lt;br /&gt;3.&amp;nbsp;팀원&amp;nbsp;간&amp;nbsp;파일&amp;nbsp;공유&amp;nbsp;용이 &lt;br /&gt;4.&amp;nbsp;실수로&amp;nbsp;인한&amp;nbsp;오작업&amp;nbsp;최소화 &lt;br /&gt;&lt;br /&gt;특히&amp;nbsp;교육&amp;nbsp;자료,&amp;nbsp;회의록,&amp;nbsp;보고서,&amp;nbsp;견적서처럼&amp;nbsp;&amp;nbsp; &lt;br /&gt;버전&amp;nbsp;관리가&amp;nbsp;중요한&amp;nbsp;업무에&amp;nbsp;매우&amp;nbsp;효과적입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;또한&amp;nbsp;이런&amp;nbsp;자동화&amp;nbsp;매크로는&amp;nbsp;필요에&amp;nbsp;따라&amp;nbsp;PDF,&amp;nbsp;Word,&amp;nbsp;이미지&amp;nbsp;파일로&amp;nbsp;확장도&amp;nbsp;가능합니다. &lt;br /&gt;&lt;br /&gt;엑셀&amp;nbsp;VBA를&amp;nbsp;처음&amp;nbsp;접하는&amp;nbsp;분들도&amp;nbsp;&amp;nbsp; &lt;br /&gt;위와&amp;nbsp;같은&amp;nbsp;간단한&amp;nbsp;구조부터&amp;nbsp;시작하면&amp;nbsp;금방&amp;nbsp;익힐&amp;nbsp;수&amp;nbsp;있으며&amp;nbsp;&amp;nbsp; &lt;br /&gt;점차&amp;nbsp;자신만의&amp;nbsp;자동화&amp;nbsp;시스템으로&amp;nbsp;발전시킬&amp;nbsp;수&amp;nbsp;있습니다. &lt;br /&gt;&lt;br /&gt;지금&amp;nbsp;바로&amp;nbsp;실무에&amp;nbsp;적용해보세요.&amp;nbsp;단순&amp;nbsp;반복&amp;nbsp;업무가&amp;nbsp;놀라운&amp;nbsp;자동화로&amp;nbsp;바뀔&amp;nbsp;수&amp;nbsp;있습니다. &lt;br /&gt;&lt;br /&gt;엑셀&amp;nbsp;VBA로&amp;nbsp;효율을&amp;nbsp;높이고&amp;nbsp;싶은&amp;nbsp;분이라면&amp;nbsp;&amp;nbsp; &lt;br /&gt;앞으로도&amp;nbsp;다양한&amp;nbsp;자동화&amp;nbsp;팁을&amp;nbsp;받아보세요. &lt;br /&gt;&lt;br /&gt;블로그&amp;nbsp;구독과&amp;nbsp;알림&amp;nbsp;설정은&amp;nbsp;효율적인&amp;nbsp;일처리의&amp;nbsp;시작입니다. &lt;br /&gt;&lt;br /&gt;함께&amp;nbsp;더&amp;nbsp;똑똑한&amp;nbsp;업무&amp;nbsp;환경을&amp;nbsp;만들어보세요.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;fileblock&quot; data-ke-align=&quot;alignCenter&quot;&gt;&lt;a href=&quot;https://blog.kakaocdn.net/dn/cO7uUB/dJMb81UaY93/6fVjK7T4g8BHmsXf8rhPw1/%ED%8C%8C%EC%9D%BC%EB%A6%AC%EC%8A%A4%ED%8A%B8%20%EA%B0%80%EC%A0%B8%EC%98%A4%EA%B8%B0%20%EB%B0%8F%20%ED%95%98%EC%9D%B4%ED%8D%BC%EB%A7%81%ED%81%AC%20%EC%97%B0%EA%B2%B0.xlsm?attach=1&amp;amp;knm=tfile.xlsm&quot; class=&quot;&quot;&gt;
    &lt;div class=&quot;image&quot;&gt;&lt;/div&gt;
    &lt;div class=&quot;desc&quot;&gt;&lt;div class=&quot;filename&quot;&gt;&lt;span class=&quot;name&quot;&gt;파일리스트 가져오기 및 하이퍼링크 연결.xlsm&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;size&quot;&gt;0.05MB&lt;/div&gt;
&lt;/div&gt;
  &lt;/a&gt;&lt;/figure&gt;
&lt;/p&gt;</description>
      <category>File</category>
      <category>엑셀VBA#엑셀매크로 파일리스트자동화#엑셀하이퍼링크#엑셀팁#사무자동화#엑셀교육#엑셀사용법#엑셀초보#엑셀강의</category>
      <author>노만e</author>
      <guid isPermaLink="true">https://dream2049.tistory.com/172</guid>
      <comments>https://dream2049.tistory.com/172#entry172comment</comments>
      <pubDate>Sun, 24 Aug 2025 13:30:01 +0900</pubDate>
    </item>
    <item>
      <title>엑셀 선택셀 강조, 하이라이트</title>
      <link>https://dream2049.tistory.com/171</link>
      <description>&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;956&quot; data-origin-height=&quot;386&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/uKel6/btsP2CWMfle/9HaKghIpygthpitwAIibh1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/uKel6/btsP2CWMfle/9HaKghIpygthpitwAIibh1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/uKel6/btsP2CWMfle/9HaKghIpygthpitwAIibh1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FuKel6%2FbtsP2CWMfle%2F9HaKghIpygthpitwAIibh1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;956&quot; height=&quot;386&quot; data-origin-width=&quot;956&quot; data-origin-height=&quot;386&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h2 data-end=&quot;196&quot; data-start=&quot;161&quot; data-ke-size=&quot;size26&quot;&gt;가로+세로 동시 강조로 대용량 시트에서도 실수 0에 가깝게&lt;/h2&gt;
&lt;h3 data-end=&quot;223&quot; data-start=&quot;198&quot; data-ke-size=&quot;size23&quot;&gt;왜 필요한가? (Pain &amp;rarr; Gain)&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;446&quot; data-start=&quot;224&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;300&quot; data-start=&quot;224&quot;&gt;&lt;b&gt;스크롤 지옥:&lt;/b&gt; 열이 10개, 20개 넘어가면 가로로 조금만 스크롤해도 내가 보고 있던 &lt;b&gt;행&amp;middot;열의 기준점을 잃기 쉽습니다.&lt;/b&gt;&lt;/li&gt;
&lt;li data-end=&quot;356&quot; data-start=&quot;301&quot;&gt;&lt;b&gt;눈이 먼저 피곤:&lt;/b&gt; 머리로 좌표를 계속 맞추려다 보니 &lt;b&gt;피로도&amp;uarr;, 속도&amp;darr;, 오입력&amp;uarr;&lt;/b&gt;.&lt;/li&gt;
&lt;li data-end=&quot;446&quot; data-start=&quot;357&quot;&gt;&lt;b&gt;필터/정렬 후 검증 어려움:&lt;/b&gt; 필터링된 상태에서 특정 셀의 **가로줄(행)과 세로줄(열)**을 함께 보지 않으면 &lt;b&gt;맥락 파악이 번번이 틀어집니다.&lt;/b&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-end=&quot;575&quot; data-start=&quot;448&quot; data-ke-size=&quot;size16&quot;&gt;  해결책: &lt;b&gt;선택한 셀을 기준으로 &amp;lsquo;가로줄 + 세로줄&amp;rsquo;을 동시에 연노랑으로 칠해 십자가 모양을 만들어&lt;/b&gt; 시선을 안내합니다.&lt;br /&gt;행과 열이 한눈에 잡히니, &lt;b&gt;타이핑 실수&amp;middot;참조 실수&amp;middot;검증 시간&lt;/b&gt;이 드라마틱하게 줄어듭니다.&lt;/p&gt;
&lt;p data-end=&quot;575&quot; data-start=&quot;448&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-end=&quot;599&quot; data-start=&quot;582&quot; data-ke-size=&quot;size26&quot;&gt;무엇이 달라지나? (효과)&lt;/h2&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;826&quot; data-start=&quot;600&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;663&quot; data-start=&quot;600&quot;&gt;&lt;b&gt;즉시 맥락 파악:&lt;/b&gt; 선택 셀의 &lt;b&gt;행 전체 + 열 전체&lt;/b&gt;가 함께 강조 &amp;rarr; 좌표를 외우지 않아도 됩니다.&lt;/li&gt;
&lt;li data-end=&quot;724&quot; data-start=&quot;664&quot;&gt;&lt;b&gt;정확도 향상:&lt;/b&gt; SKU, 코드, 금액, 날짜 등 &lt;b&gt;옆&amp;middot;위 데이터 매칭 실수&lt;/b&gt;가 크게 줄어듭니다.&lt;/li&gt;
&lt;li data-end=&quot;779&quot; data-start=&quot;725&quot;&gt;&lt;b&gt;속도 개선:&lt;/b&gt; 셀 이동만 해도 &lt;b&gt;실시간으로 하이라이트가 따라옴&lt;/b&gt; &amp;rarr; 검수/입력 속도&amp;uarr;&lt;/li&gt;
&lt;li data-end=&quot;826&quot; data-start=&quot;780&quot;&gt;&lt;b&gt;집중 유지:&lt;/b&gt; 복잡한 표일수록 &lt;b&gt;시선 분산을 줄이고 뇌 부하를 낮춤&lt;/b&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-end=&quot;831&quot; data-start=&quot;828&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h2 data-end=&quot;841&quot; data-start=&quot;833&quot; data-ke-size=&quot;size26&quot;&gt;기능 요약&lt;/h2&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1035&quot; data-start=&quot;842&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;881&quot; data-start=&quot;842&quot;&gt;선택한 셀 기준 &lt;b&gt;행 전체(연노랑) + 열 전체(하늘색)&lt;/b&gt;&amp;nbsp;강조(십자가).&lt;/li&gt;
&lt;li data-end=&quot;919&quot; data-start=&quot;882&quot;&gt;&lt;b&gt;선택 셀 자체는 더 분홍색&lt;/b&gt;으로 강조(선택점이 또렷).&lt;/li&gt;
&lt;li data-end=&quot;958&quot; data-start=&quot;920&quot;&gt;&lt;b&gt;데이터 영역 안에서만&lt;/b&gt; 색칠(헤더/바깥 영역은 제외 가능).&lt;/li&gt;
&lt;li data-end=&quot;988&quot; data-start=&quot;959&quot;&gt;&lt;b&gt;다중 선택 시 자동 비활성화&lt;/b&gt;(혼란 방지).&lt;/li&gt;
&lt;li data-end=&quot;1035&quot; data-start=&quot;989&quot;&gt;&lt;b&gt;빠른 동작&lt;/b&gt;: 지난 강조만 지우고 새로 칠해 &lt;b&gt;대용량에서도 부드럽게&lt;/b&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-end=&quot;1040&quot; data-start=&quot;1037&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h2 data-end=&quot;1068&quot; data-start=&quot;1042&quot; data-ke-size=&quot;size26&quot;&gt;설치&amp;middot;사용법 (Alt+F11로 바로 적용)&lt;/h2&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-end=&quot;1217&quot; data-start=&quot;1069&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li data-end=&quot;1100&quot; data-start=&quot;1069&quot;&gt;&lt;b&gt;Alt + F11&lt;/b&gt; &amp;rarr; VBA 편집기 열기&lt;/li&gt;
&lt;li data-end=&quot;1160&quot; data-start=&quot;1101&quot;&gt;&lt;b&gt;프로젝트 탐색기&lt;/b&gt;에서 하이라이트를 적용할 &lt;b&gt;워크시트(예: Sheet1 등)&lt;/b&gt; 더블클릭&lt;/li&gt;
&lt;li data-end=&quot;1193&quot; data-start=&quot;1161&quot;&gt;아래 코드를 &lt;b&gt;그 워크시트 코드창&lt;/b&gt;에 붙여넣기&lt;/li&gt;
&lt;li data-end=&quot;1217&quot; data-start=&quot;1194&quot;&gt;엑셀로 돌아와 셀을 클릭해 동작 확인&lt;/li&gt;
&lt;/ol&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 100%;&quot;&gt;&lt;br /&gt;'======================================== &lt;br /&gt;'&amp;nbsp;선택&amp;nbsp;셀&amp;nbsp;기준&amp;nbsp;&quot;십자가(행+열)&quot;&amp;nbsp;하이라이트&amp;nbsp;(빠르고&amp;nbsp;깔끔한&amp;nbsp;버전) &lt;br /&gt;'&amp;nbsp;-&amp;nbsp;데이터&amp;nbsp;테이블&amp;nbsp;기준점&amp;nbsp;:&amp;nbsp;A3&amp;nbsp;기준&amp;nbsp;CurrentRegion &lt;br /&gt;'&amp;nbsp;-&amp;nbsp;헤더&amp;nbsp;2행,&amp;nbsp;왼쪽&amp;nbsp;1열은&amp;nbsp;제외해&amp;nbsp;데이터영역만&amp;nbsp;칠함 &lt;br /&gt;' - 선택 셀 : 핑크색, 행 : 연노랑, 열 : 하늘색&lt;br /&gt;'======================================== &lt;br /&gt;Private&amp;nbsp;Sub&amp;nbsp;Worksheet_SelectionChange(ByVal&amp;nbsp;Target&amp;nbsp;As&amp;nbsp;Range) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;On&amp;nbsp;Error&amp;nbsp;GoTo&amp;nbsp;SafeExit &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;Target.CountLarge&amp;nbsp;&amp;gt;&amp;nbsp;1&amp;nbsp;Then&amp;nbsp;Exit&amp;nbsp;Sub&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'다중&amp;nbsp;선택&amp;nbsp;시&amp;nbsp;동작&amp;nbsp;안&amp;nbsp;함 &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Application.EnableEvents&amp;nbsp;=&amp;nbsp;False &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;base&amp;nbsp;As&amp;nbsp;Range,&amp;nbsp;rTable&amp;nbsp;As&amp;nbsp;Range &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;t&amp;nbsp;As&amp;nbsp;Range,&amp;nbsp;rowR&amp;nbsp;As&amp;nbsp;Range,&amp;nbsp;colR&amp;nbsp;As&amp;nbsp;Range &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;1)&amp;nbsp;데이터&amp;nbsp;영역&amp;nbsp;정의&amp;nbsp;(필요&amp;nbsp;시&amp;nbsp;A1,&amp;nbsp;오프셋/리사이즈&amp;nbsp;값을&amp;nbsp;바꿔&amp;nbsp;쓰세요) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set&amp;nbsp;base&amp;nbsp;=&amp;nbsp;Me.Range(&quot;A1&quot;).CurrentRegion &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set&amp;nbsp;rTable&amp;nbsp;=&amp;nbsp;base.Offset(1).Resize(base.Rows.Count&amp;nbsp;-&amp;nbsp;1) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;2)&amp;nbsp;이전&amp;nbsp;하이라이트&amp;nbsp;제거 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ActiveSheet.UsedRange.Offset(1).Interior.ColorIndex&amp;nbsp;=&amp;nbsp;xlNone&amp;nbsp;&amp;nbsp;'&amp;nbsp;기존&amp;nbsp;색&amp;nbsp;지우기 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;3)&amp;nbsp;현재&amp;nbsp;타깃(다중&amp;nbsp;선택&amp;nbsp;대비:&amp;nbsp;첫&amp;nbsp;셀만&amp;nbsp;사용) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set&amp;nbsp;t&amp;nbsp;=&amp;nbsp;Target.Cells(1,&amp;nbsp;1) &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;4)&amp;nbsp;행/열&amp;nbsp;교차&amp;nbsp;범위&amp;nbsp;계산 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set&amp;nbsp;rowR&amp;nbsp;=&amp;nbsp;Intersect(rTable,&amp;nbsp;t.EntireRow) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set&amp;nbsp;colR&amp;nbsp;=&amp;nbsp;Intersect(rTable,&amp;nbsp;t.EntireColumn) &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;5)&amp;nbsp;색칠:&amp;nbsp;연노랑(행),&amp;nbsp;하/열),&amp;nbsp;진한&amp;nbsp;노랑(선택&amp;nbsp;셀) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;Not&amp;nbsp;rowR&amp;nbsp;Is&amp;nbsp;Nothing&amp;nbsp;Then&amp;nbsp;rowR.Interior.ColorIndex&amp;nbsp;=&amp;nbsp;36&amp;nbsp;&amp;nbsp;&amp;nbsp;'연노랑 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;Not&amp;nbsp;colR&amp;nbsp;Is&amp;nbsp;Nothing&amp;nbsp;Then&amp;nbsp;colR.Interior.ColorIndex&amp;nbsp;=&amp;nbsp;34&amp;nbsp;&amp;nbsp;&amp;nbsp;'하늘색 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;Not&amp;nbsp;Intersect(rTable,&amp;nbsp;t)&amp;nbsp;Is&amp;nbsp;Nothing&amp;nbsp;Then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;t.Interior.ColorIndex = 38&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'핑크색(선택점) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;If &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;SafeExit: &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Application.EnableEvents&amp;nbsp;=&amp;nbsp;True &lt;br /&gt;End&amp;nbsp;Sub &lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;fileblock&quot; data-ke-align=&quot;alignCenter&quot;&gt;&lt;a href=&quot;https://blog.kakaocdn.net/dn/pDpUW/dJMb82S5hvQ/7ZugtkoypxA6cjW2yJHVL0/%EC%97%91%EC%85%80VBA%20%EC%84%A0%ED%83%9D%EC%85%80%20%EA%B0%95%EC%A1%B0.xlsm?attach=1&amp;amp;knm=tfile.xlsm&quot; class=&quot;&quot;&gt;
    &lt;div class=&quot;image&quot;&gt;&lt;/div&gt;
    &lt;div class=&quot;desc&quot;&gt;&lt;div class=&quot;filename&quot;&gt;&lt;span class=&quot;name&quot;&gt;엑셀VBA 선택셀 강조.xlsm&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;size&quot;&gt;0.06MB&lt;/div&gt;
&lt;/div&gt;
  &lt;/a&gt;&lt;/figure&gt;
&lt;/p&gt;</description>
      <category>Event</category>
      <category>엑셀 선택셀 강조</category>
      <category>엑셀활용 #코딩연습 #엑셀자동화 #엑셀VBA</category>
      <category>하이라이트</category>
      <author>노만e</author>
      <guid isPermaLink="true">https://dream2049.tistory.com/171</guid>
      <comments>https://dream2049.tistory.com/171#entry171comment</comments>
      <pubDate>Sat, 23 Aug 2025 05:25:48 +0900</pubDate>
    </item>
    <item>
      <title>추가기능 단축키로 엑셀 화면에 보이는 셀만 복사 붙여넣기</title>
      <link>https://dream2049.tistory.com/170</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;제목을 입력해주세요..png&quot; data-origin-width=&quot;1080&quot; data-origin-height=&quot;1920&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/l9Zgs/btsP2bDzEu1/TEK6opQAtiU3TpNb1akKoK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/l9Zgs/btsP2bDzEu1/TEK6opQAtiU3TpNb1akKoK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/l9Zgs/btsP2bDzEu1/TEK6opQAtiU3TpNb1akKoK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fl9Zgs%2FbtsP2bDzEu1%2FTEK6opQAtiU3TpNb1akKoK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;308&quot; height=&quot;548&quot; data-filename=&quot;제목을 입력해주세요..png&quot; data-origin-width=&quot;1080&quot; data-origin-height=&quot;1920&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;자동필터 보이는 셀만 &amp;ldquo;원클릭 복사&amp;rarr;원하는 열에 붙여넣기&amp;rdquo;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-end=&quot;169&quot; data-start=&quot;144&quot; data-ke-size=&quot;size26&quot;&gt;왜 이 애드인이 실무에서 꼭 필요할까요?&lt;/h2&gt;
&lt;p data-end=&quot;264&quot; data-start=&quot;170&quot; data-ke-size=&quot;size16&quot;&gt;필터 걸린 목록에서 &lt;b&gt;보이는 셀만&lt;/b&gt; 골라 복사&amp;middot;붙여넣기&amp;hellip; 매번 손으로 하면 실수도 나고 시간이 줄줄 새죠.&lt;br /&gt;이 애드인은 그 과정을 &lt;b&gt;단축키 2개&lt;/b&gt;로 끝냅니다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;578&quot; data-start=&quot;266&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;332&quot; data-start=&quot;266&quot;&gt;&lt;b&gt;Ctrl+Shift+C&lt;/b&gt;: 현재 선택(단일/다열)의 &lt;b&gt;보이는 행만&lt;/b&gt; 내부 버퍼에 복사 + 개미행진 표시&lt;/li&gt;
&lt;li data-end=&quot;394&quot; data-start=&quot;333&quot;&gt;&lt;b&gt;Ctrl+Shift+V&lt;/b&gt;: &lt;b&gt;클릭해 둔 셀의 열부터&lt;/b&gt; 연속 열로 깔끔하게 &lt;b&gt;값만&lt;/b&gt; 붙여넣기&lt;/li&gt;
&lt;li data-end=&quot;452&quot; data-start=&quot;395&quot;&gt;&lt;b&gt;다열 지원&lt;/b&gt;: B:D를 복사했다면, 붙여넣기는 클릭한 열부터 &lt;b&gt;3열&lt;/b&gt;이 한 번에 들어감&lt;/li&gt;
&lt;li data-end=&quot;510&quot; data-start=&quot;453&quot;&gt;&lt;b&gt;안전장치&lt;/b&gt;: 소스&amp;middot;대상에 병합 셀이 하나라도 있으면 &lt;b&gt;조용히 중단&lt;/b&gt;(데이터 꼬임 방지)&lt;/li&gt;
&lt;li data-end=&quot;539&quot; data-start=&quot;511&quot;&gt;&lt;b&gt;무음&amp;middot;무팝업&lt;/b&gt;: 작업 흐름 끊기지 않음&lt;/li&gt;
&lt;li data-end=&quot;578&quot; data-start=&quot;540&quot;&gt;&lt;b&gt;선택 안 했을 때&lt;/b&gt;: C열의 2행~끝을 기본 범위로 사용&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-end=&quot;631&quot; data-start=&quot;580&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-end=&quot;661&quot; data-start=&quot;638&quot; data-ke-size=&quot;size26&quot;&gt;&amp;nbsp;&lt;/h2&gt;
&lt;h2 data-end=&quot;661&quot; data-start=&quot;638&quot; data-ke-size=&quot;size26&quot;&gt;무엇을 할 수 있나요? (기능 요약)&lt;/h2&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;894&quot; data-start=&quot;662&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;714&quot; data-start=&quot;662&quot;&gt;자동필터/표(Filter/ListObject) 환경에서 &lt;b&gt;보이는 행만&lt;/b&gt; 정확히 집계&lt;/li&gt;
&lt;li data-end=&quot;755&quot; data-start=&quot;715&quot;&gt;&lt;b&gt;다열 선택&lt;/b&gt; 후 복사 &amp;rarr; &lt;b&gt;연속 열 붙여넣기&lt;/b&gt; 자동 계산&lt;/li&gt;
&lt;li data-end=&quot;781&quot; data-start=&quot;756&quot;&gt;&lt;b&gt;값만&lt;/b&gt; 이동(서식은 그대로 유지)&lt;/li&gt;
&lt;li data-end=&quot;830&quot; data-start=&quot;782&quot;&gt;복사 모드는 &lt;b&gt;버퍼가 유지&lt;/b&gt;되어 원하는 위치에 &lt;b&gt;여러 번 붙여넣기 가능&lt;/b&gt;&lt;/li&gt;
&lt;li data-end=&quot;894&quot; data-start=&quot;831&quot;&gt;&lt;b&gt;Application.CutCopyMode = xlCopy&lt;/b&gt; 상태 유지 &amp;rarr; 개미행진으로 복사 영역 시각화&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-end=&quot;899&quot; data-start=&quot;896&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h2 data-end=&quot;920&quot; data-start=&quot;901&quot; data-ke-size=&quot;size26&quot;&gt;설치 방법(애드인 .xlam)&lt;/h2&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-end=&quot;1169&quot; data-start=&quot;921&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li data-end=&quot;971&quot; data-start=&quot;921&quot;&gt;엑셀에서 Alt + F11 &amp;rarr; &lt;b&gt;삽입 ▸ 모듈&lt;/b&gt;에 제공 코드 전부 붙여넣기&lt;/li&gt;
&lt;li data-end=&quot;1007&quot; data-start=&quot;972&quot;&gt;파일을 &lt;b&gt;Excel 애드인(.xlam)&lt;/b&gt; 으로 저장&lt;/li&gt;
&lt;li data-end=&quot;1068&quot; data-start=&quot;1008&quot;&gt;엑셀 &lt;b&gt;파일 ▸ 옵션 ▸ 추가 기능 ▸ Excel 추가 기능 ▸ 이동&lt;/b&gt; &amp;rarr; 방금 .xlam 체크&lt;/li&gt;
&lt;li data-end=&quot;1169&quot; data-start=&quot;1069&quot;&gt;이제부터
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1169&quot; data-start=&quot;1082&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1121&quot; data-start=&quot;1082&quot;&gt;&lt;b&gt;Ctrl+Shift+C&lt;/b&gt; = 보이는 행만 복사(단일/다열)&lt;/li&gt;
&lt;li data-end=&quot;1169&quot; data-start=&quot;1125&quot;&gt;&lt;b&gt;Ctrl+Shift+V&lt;/b&gt; = 클릭한 셀의 열부터 연속 열로 값 붙여넣기&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;figure class=&quot;fileblock&quot; data-ke-align=&quot;alignCenter&quot;&gt;&lt;a href=&quot;https://blog.kakaocdn.net/dn/oGwgw/dJMb9Lqf6wC/JYjI5UosFJTzg0xplBoK31/%EB%B3%B4%EC%9D%B4%EB%8A%94%20%EC%85%80%EB%A7%8C%20%EB%B3%B5%EC%82%AC%20%EB%B6%99%EC%97%AC%EB%84%A3%EA%B8%B0_ver1.1.xlam?attach=1&amp;amp;knm=tfile.xlam&quot; class=&quot;&quot;&gt;
    &lt;div class=&quot;image&quot;&gt;&lt;/div&gt;
    &lt;div class=&quot;desc&quot;&gt;&lt;div class=&quot;filename&quot;&gt;&lt;span class=&quot;name&quot;&gt;보이는 셀만 복사 붙여넣기_ver1.1.xlam&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;size&quot;&gt;0.04MB&lt;/div&gt;
&lt;/div&gt;
  &lt;/a&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;hr data-end=&quot;1261&quot; data-start=&quot;1258&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h2 data-end=&quot;1281&quot; data-start=&quot;1263&quot; data-ke-size=&quot;size26&quot;&gt;사용 방법 (핵심 시나리오)&lt;/h2&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-end=&quot;1296&quot; data-start=&quot;1282&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li data-end=&quot;1296&quot; data-start=&quot;1282&quot;&gt;&lt;b&gt;복사 준비&lt;/b&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1397&quot; data-start=&quot;1297&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1370&quot; data-start=&quot;1297&quot;&gt;필터를 적용하고, 붙여넣고 싶은 &lt;b&gt;원본 열(들)&lt;/b&gt; 을 선택
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1370&quot; data-start=&quot;1338&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1370&quot; data-start=&quot;1338&quot;&gt;예) B:D 선택 &amp;rarr; 보이는 행의 B,C,D만 수집&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li data-end=&quot;1397&quot; data-start=&quot;1371&quot;&gt;선택을 생략하면 C열(2행~끝)을 기본 사용&lt;/li&gt;
&lt;/ul&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-end=&quot;1413&quot; data-start=&quot;1399&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li data-end=&quot;1413&quot; data-start=&quot;1399&quot;&gt;&lt;b&gt;복사 실행&lt;/b&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1460&quot; data-start=&quot;1414&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1460&quot; data-start=&quot;1414&quot;&gt;&lt;b&gt;Ctrl+Shift+C&lt;/b&gt; &amp;rarr; 보이는 행만 내부 버퍼 저장 + 개미행진 표시&lt;/li&gt;
&lt;/ul&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-end=&quot;1481&quot; data-start=&quot;1462&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li data-end=&quot;1481&quot; data-start=&quot;1462&quot;&gt;&lt;b&gt;붙여넣기 위치 지정&lt;/b&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1549&quot; data-start=&quot;1482&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1514&quot; data-start=&quot;1482&quot;&gt;붙여넣기를 시작할 &lt;b&gt;한 셀&lt;/b&gt;을 클릭(예: G5)&lt;/li&gt;
&lt;li data-end=&quot;1549&quot; data-start=&quot;1515&quot;&gt;선택한 열이 3개였다면 &lt;b&gt;G:H:I&lt;/b&gt;에 순서대로 들어감&lt;/li&gt;
&lt;/ul&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-end=&quot;1567&quot; data-start=&quot;1551&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li data-end=&quot;1567&quot; data-start=&quot;1551&quot;&gt;&lt;b&gt;붙여넣기 실행&lt;/b&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1631&quot; data-start=&quot;1568&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1598&quot; data-start=&quot;1568&quot;&gt;&lt;b&gt;Ctrl+Shift+V&lt;/b&gt; &amp;rarr; 값만 붙습니다&lt;/li&gt;
&lt;li data-end=&quot;1631&quot; data-start=&quot;1599&quot;&gt;복사 모드이므로 &lt;b&gt;다른 열에도 계속 붙여넣기&lt;/b&gt; 가능&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-end=&quot;1636&quot; data-start=&quot;1633&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h2 data-end=&quot;1645&quot; data-start=&quot;1638&quot; data-ke-size=&quot;size26&quot;&gt;사용 팁&lt;/h2&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1805&quot; data-start=&quot;1646&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1698&quot; data-start=&quot;1646&quot;&gt;&lt;b&gt;병합 셀 금지&lt;/b&gt;: 소스&amp;middot;대상 중 하나라도 병합이면 동작을 멈춥니다(데이터 보호).&lt;/li&gt;
&lt;li data-end=&quot;1738&quot; data-start=&quot;1699&quot;&gt;&lt;b&gt;열 오버런 보호&lt;/b&gt;: 붙여넣기가 XFD를 넘기면 자동 중단.&lt;/li&gt;
&lt;li data-end=&quot;1805&quot; data-start=&quot;1739&quot;&gt;&lt;b&gt;값만 붙임&lt;/b&gt;: 서식 동기화가 필요하면 별도 옵션 버전으로 확장 가능합니다(요청 주시면 바로 확장해 드릴게요).&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;figure class=&quot;fileblock&quot; data-ke-align=&quot;alignCenter&quot;&gt;&lt;a href=&quot;https://blog.kakaocdn.net/dn/5OQVy/dJMb9Lqf6wA/rlcKtrvcaHL1YRi2kEdQAk/%EB%B3%B4%EC%9D%B4%EB%8A%94%20%EC%85%80%EB%A7%8C%20%EB%B3%B5%EC%82%AC%20%EB%B6%99%EC%97%AC%EB%84%A3%EA%B8%B0_ver1.1.xlam?attach=1&amp;amp;knm=tfile.xlam&quot; class=&quot;&quot;&gt;
    &lt;div class=&quot;image&quot;&gt;&lt;/div&gt;
    &lt;div class=&quot;desc&quot;&gt;&lt;div class=&quot;filename&quot;&gt;&lt;span class=&quot;name&quot;&gt;보이는 셀만 복사 붙여넣기_ver1.1.xlam&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;size&quot;&gt;0.04MB&lt;/div&gt;
&lt;/div&gt;
  &lt;/a&gt;&lt;/figure&gt;
&lt;/p&gt;</description>
      <category>DATA</category>
      <category>#엑셀VBA #엑셀자동화 #화면에 보이는셀 복사/붙여넣기 #업무효율화</category>
      <author>노만e</author>
      <guid isPermaLink="true">https://dream2049.tistory.com/170</guid>
      <comments>https://dream2049.tistory.com/170#entry170comment</comments>
      <pubDate>Thu, 21 Aug 2025 23:01:11 +0900</pubDate>
    </item>
    <item>
      <title>엑셀 파일 안 열릴때, 무거울 때? 10초 만에 다이어트! 파일 용량 확 줄이기</title>
      <link>https://dream2049.tistory.com/169</link>
      <description>&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;590&quot; data-origin-height=&quot;656&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/lwRCv/btsPXT4pwJN/DcOS5YUKORTIvioVxJ0Q3K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/lwRCv/btsPXT4pwJN/DcOS5YUKORTIvioVxJ0Q3K/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/lwRCv/btsPXT4pwJN/DcOS5YUKORTIvioVxJ0Q3K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FlwRCv%2FbtsPXT4pwJN%2FDcOS5YUKORTIvioVxJ0Q3K%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;396&quot; height=&quot;440&quot; data-origin-width=&quot;590&quot; data-origin-height=&quot;656&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;figure data-ke-type=&quot;video&quot; data-ke-style=&quot;alignCenter&quot; data-video-host=&quot;kakaotv&quot; data-video-url=&quot;https://tv.kakao.com/v/457374741&quot; data-video-thumbnail=&quot;https://scrap.kakaocdn.net/dn/ZYcbd/hyZzBzDXbu/AJ4ZkPfXC8K7QYzvEsr8gK/img.jpg?width=1280&amp;amp;height=720&amp;amp;face=0_0_1280_720,https://scrap.kakaocdn.net/dn/tjIoS/hyZzDRLKKI/LjdWDA5cFjoF1rBWs9ECu0/img.jpg?width=1280&amp;amp;height=720&amp;amp;face=0_0_1280_720&quot; data-video-width=&quot;860&quot; data-video-height=&quot;484&quot; data-video-origin-width=&quot;860&quot; data-video-origin-height=&quot;484&quot; data-ke-mobilestyle=&quot;widthContent&quot; data-video-play-service=&quot;daum_tistory&quot; data-original-url=&quot;&quot; data-video-title=&quot;&quot;&gt;&lt;iframe src=&quot;https://play-tv.kakao.com/embed/player/cliplink/457374741?service=daum_tistory&quot; width=&quot;860&quot; height=&quot;484&quot; frameborder=&quot;0&quot; allowfullscreen=&quot;true&quot;&gt;&lt;/iframe&gt;
&lt;figcaption&gt;엑셀 무거울 땐? 원클릭 VBA 매크로로 10초 만에 다이어트!&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;h2 data-end=&quot;154&quot; data-start=&quot;143&quot; data-ke-size=&quot;size26&quot;&gt;&amp;nbsp;&lt;/h2&gt;
&lt;h2 data-end=&quot;154&quot; data-start=&quot;143&quot; data-ke-size=&quot;size26&quot;&gt;1. 기능 소개&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-end=&quot;227&quot; data-start=&quot;155&quot; data-ke-size=&quot;size16&quot;&gt;엑셀 파일을 열때, 20초 이상 걸리거나, 안 열릴때, 다운되거나, 마우스가 천천히 움직일때,&lt;/p&gt;
&lt;p data-end=&quot;227&quot; data-start=&quot;155&quot; data-ke-size=&quot;size16&quot;&gt;이 매크로 하나면 복잡하고 무거워진 엑셀 파일을 단번에 다이어트 할 수 있습니다.&lt;br /&gt;실행 시 아래 작업을 선택적으로 수행합니다:&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;416&quot; data-start=&quot;229&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;269&quot; data-start=&quot;229&quot;&gt;✅ &lt;b&gt;불필요한 사용자 정의 스타일 삭제&lt;/b&gt; (깨끗한 서식 유지)&lt;/li&gt;
&lt;li data-end=&quot;301&quot; data-start=&quot;270&quot;&gt;✅ &lt;b&gt;깨진 이름 정의(#REF!) 자동 삭제&lt;/b&gt;&lt;/li&gt;
&lt;li data-end=&quot;355&quot; data-start=&quot;302&quot;&gt;✅ &lt;b&gt;사진은 보존하면서 모든 도형&amp;middot;개체 싹 정리&lt;/b&gt; (AllShapeDelete 적용)&lt;/li&gt;
&lt;li data-end=&quot;390&quot; data-start=&quot;356&quot;&gt;✅ &lt;b&gt;외부 연결 링크 끊기&lt;/b&gt; (불필요한 링크 제거)&lt;/li&gt;
&lt;li data-end=&quot;416&quot; data-start=&quot;391&quot;&gt;✅ &lt;b&gt;이미지 크기 최적화 &amp;amp; 압축&lt;/b&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-end=&quot;466&quot; data-start=&quot;418&quot; data-ke-size=&quot;size16&quot;&gt;  파일 용량이 줄고 속도도 빨라져서 &lt;b&gt;실무에서 바로 효과 체감&lt;/b&gt;할 수 있습니다.&lt;/p&gt;
&lt;p data-end=&quot;466&quot; data-start=&quot;418&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-end=&quot;484&quot; data-start=&quot;473&quot; data-ke-size=&quot;size26&quot;&gt;2. 사용 방법&lt;/h2&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-end=&quot;622&quot; data-start=&quot;485&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li data-end=&quot;512&quot; data-start=&quot;485&quot;&gt;Alt + F11 &amp;rarr; VBA 편집기 열기&lt;/li&gt;
&lt;li data-end=&quot;531&quot; data-start=&quot;513&quot;&gt;새 모듈에 코드 붙여넣기&lt;/li&gt;
&lt;li data-end=&quot;553&quot; data-start=&quot;532&quot;&gt;엑셀파일최적화 매크로 실행&lt;/li&gt;
&lt;li data-end=&quot;588&quot; data-start=&quot;554&quot;&gt;단계별로 &lt;b&gt;예/아니오&lt;/b&gt; 선택하여 최적화 항목 결정&lt;/li&gt;
&lt;li data-end=&quot;622&quot; data-start=&quot;589&quot;&gt;완료 후 최적화 결과와 소요 시간이 메시지로 표시됨&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 style=&quot;color: #000000; text-align: start;&quot; data-start=&quot;473&quot; data-end=&quot;484&quot; data-ke-size=&quot;size26&quot;&gt;3. 코드&lt;/h2&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 100%;&quot;&gt;Option&amp;nbsp;Explicit &lt;br /&gt;&lt;br /&gt;'=============================== &lt;br /&gt;'&amp;nbsp;엑셀&amp;nbsp;파일&amp;nbsp;최적화&amp;nbsp;(정리된&amp;nbsp;최종본) &lt;br /&gt;'&amp;nbsp;-&amp;nbsp;스타일&amp;nbsp;삭제 &lt;br /&gt;'&amp;nbsp;-&amp;nbsp;오류난&amp;nbsp;이름&amp;nbsp;삭제 &lt;br /&gt;'&amp;nbsp;-&amp;nbsp;사진을&amp;nbsp;제외한&amp;nbsp;개체/도형&amp;nbsp;일괄&amp;nbsp;정리(AllShapeDelete&amp;nbsp;실행) &lt;br /&gt;'&amp;nbsp;-&amp;nbsp;외부&amp;nbsp;링크&amp;nbsp;삭제 &lt;br /&gt;'&amp;nbsp;-&amp;nbsp;이미지&amp;nbsp;압축 &lt;br /&gt;'=============================== &lt;br /&gt;&lt;br /&gt;Public&amp;nbsp;Sub&amp;nbsp;엑셀파일최적화() &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;response&amp;nbsp;As&amp;nbsp;VbMsgBoxResult &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;totalDeleted&amp;nbsp;As&amp;nbsp;Long &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;startTime&amp;nbsp;As&amp;nbsp;Double &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;endTime&amp;nbsp;As&amp;nbsp;Double &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;startTime&amp;nbsp;=&amp;nbsp;Timer &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Application.ScreenUpdating&amp;nbsp;=&amp;nbsp;False &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Application.Calculation&amp;nbsp;=&amp;nbsp;xlCalculationManual &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Application.EnableEvents&amp;nbsp;=&amp;nbsp;False &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;사용자&amp;nbsp;확인 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;response&amp;nbsp;=&amp;nbsp;MsgBox(&quot;엑셀&amp;nbsp;파일&amp;nbsp;최적화를&amp;nbsp;시작하시겠습니까?&quot;&amp;nbsp;&amp;amp;&amp;nbsp;vbCrLf&amp;nbsp;&amp;amp;&amp;nbsp;vbCrLf&amp;nbsp;&amp;amp;&amp;nbsp;_ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&quot;다음&amp;nbsp;작업이&amp;nbsp;수행됩니다:&quot;&amp;nbsp;&amp;amp;&amp;nbsp;vbCrLf&amp;nbsp;&amp;amp;&amp;nbsp;_ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&quot;?&amp;nbsp;스타일&amp;nbsp;삭제&quot;&amp;nbsp;&amp;amp;&amp;nbsp;vbCrLf&amp;nbsp;&amp;amp;&amp;nbsp;_ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&quot;?&amp;nbsp;오류난&amp;nbsp;이름&amp;nbsp;삭제&quot;&amp;nbsp;&amp;amp;&amp;nbsp;vbCrLf&amp;nbsp;&amp;amp;&amp;nbsp;_ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&quot;?&amp;nbsp;사진을&amp;nbsp;제외한&amp;nbsp;개체/도형&amp;nbsp;정리(AllShapeDelete)&quot;&amp;nbsp;&amp;amp;&amp;nbsp;vbCrLf&amp;nbsp;&amp;amp;&amp;nbsp;_ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&quot;?&amp;nbsp;외부&amp;nbsp;연결링크&amp;nbsp;삭제&quot;&amp;nbsp;&amp;amp;&amp;nbsp;vbCrLf&amp;nbsp;&amp;amp;&amp;nbsp;_ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&quot;?&amp;nbsp;이미지&amp;nbsp;압축&quot;,&amp;nbsp;_ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;vbYesNo&amp;nbsp;+&amp;nbsp;vbQuestion,&amp;nbsp;&quot;파일&amp;nbsp;최적화&quot;) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;response&amp;nbsp;=&amp;nbsp;vbNo&amp;nbsp;Then&amp;nbsp;GoTo&amp;nbsp;정리 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;On&amp;nbsp;Error&amp;nbsp;GoTo&amp;nbsp;ErrorHandler &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;1.&amp;nbsp;스타일&amp;nbsp;삭제 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;response&amp;nbsp;=&amp;nbsp;MsgBox(&quot;1.&amp;nbsp;사용자&amp;nbsp;정의&amp;nbsp;스타일을&amp;nbsp;삭제하시겠습니까?&quot;,&amp;nbsp;vbYesNo&amp;nbsp;+&amp;nbsp;vbQuestion,&amp;nbsp;&quot;스타일&amp;nbsp;삭제&quot;) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;response&amp;nbsp;=&amp;nbsp;vbYes&amp;nbsp;Then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Call&amp;nbsp;스타일삭제 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;MsgBox&amp;nbsp;&quot;사용자&amp;nbsp;정의&amp;nbsp;스타일이&amp;nbsp;삭제되었습니다.&quot;,&amp;nbsp;vbInformation &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;If &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;2.&amp;nbsp;오류난&amp;nbsp;이름&amp;nbsp;삭제 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;response&amp;nbsp;=&amp;nbsp;MsgBox(&quot;2.&amp;nbsp;오류가&amp;nbsp;있는&amp;nbsp;이름&amp;nbsp;정의를&amp;nbsp;삭제하시겠습니까?&quot;,&amp;nbsp;vbYesNo&amp;nbsp;+&amp;nbsp;vbQuestion,&amp;nbsp;&quot;이름&amp;nbsp;정의&amp;nbsp;삭제&quot;) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;response&amp;nbsp;=&amp;nbsp;vbYes&amp;nbsp;Then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;totalDeleted&amp;nbsp;=&amp;nbsp;오류이름삭제() &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;MsgBox&amp;nbsp;totalDeleted&amp;nbsp;&amp;amp;&amp;nbsp;&quot;개의&amp;nbsp;오류&amp;nbsp;이름이&amp;nbsp;삭제되었습니다.&quot;,&amp;nbsp;vbInformation &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;If &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;3.&amp;nbsp;사진&amp;nbsp;제외&amp;nbsp;개체/도형&amp;nbsp;일괄&amp;nbsp;정리&amp;nbsp;&amp;rarr;&amp;nbsp;AllShapeDelete&amp;nbsp;실행 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;response&amp;nbsp;=&amp;nbsp;MsgBox(&quot;3.&amp;nbsp;사진을&amp;nbsp;제외한&amp;nbsp;모든&amp;nbsp;개체/도형을&amp;nbsp;정리하시겠습니까?&quot;&amp;nbsp;&amp;amp;&amp;nbsp;vbCrLf&amp;nbsp;&amp;amp;&amp;nbsp;_ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&quot;(시트별&amp;nbsp;삭제&amp;nbsp;결과&amp;nbsp;요약&amp;nbsp;창이&amp;nbsp;표시됩니다)&quot;,&amp;nbsp;vbYesNo&amp;nbsp;+&amp;nbsp;vbQuestion,&amp;nbsp;&quot;개체/도형&amp;nbsp;정리&quot;) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;response&amp;nbsp;=&amp;nbsp;vbYes&amp;nbsp;Then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;AllShapeDelete &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;AllShapeDelete&amp;nbsp;내부에서&amp;nbsp;결과&amp;nbsp;요약을&amp;nbsp;표시하므로&amp;nbsp;별도&amp;nbsp;메시지는&amp;nbsp;생략 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;If &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;4.&amp;nbsp;외부&amp;nbsp;연결링크&amp;nbsp;삭제 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;response&amp;nbsp;=&amp;nbsp;MsgBox(&quot;4.&amp;nbsp;외부&amp;nbsp;연결&amp;nbsp;링크를&amp;nbsp;삭제하시겠습니까?&quot;,&amp;nbsp;vbYesNo&amp;nbsp;+&amp;nbsp;vbQuestion,&amp;nbsp;&quot;외부&amp;nbsp;링크&amp;nbsp;삭제&quot;) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;response&amp;nbsp;=&amp;nbsp;vbYes&amp;nbsp;Then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;totalDeleted&amp;nbsp;=&amp;nbsp;외부링크삭제() &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;MsgBox&amp;nbsp;totalDeleted&amp;nbsp;&amp;amp;&amp;nbsp;&quot;개의&amp;nbsp;외부&amp;nbsp;링크가&amp;nbsp;삭제되었습니다.&quot;,&amp;nbsp;vbInformation &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;If &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;5.&amp;nbsp;이미지&amp;nbsp;압축 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;response&amp;nbsp;=&amp;nbsp;MsgBox(&quot;5.&amp;nbsp;이미지를&amp;nbsp;압축하시겠습니까?&quot;,&amp;nbsp;vbYesNo&amp;nbsp;+&amp;nbsp;vbQuestion,&amp;nbsp;&quot;이미지&amp;nbsp;압축&quot;) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;response&amp;nbsp;=&amp;nbsp;vbYes&amp;nbsp;Then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;이미지압축 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;이미지압축&amp;nbsp;내부에서&amp;nbsp;안내&amp;nbsp;메시지를&amp;nbsp;표시함 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;If &lt;br /&gt;&lt;br /&gt;정리: &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Application.ScreenUpdating&amp;nbsp;=&amp;nbsp;True &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Application.Calculation&amp;nbsp;=&amp;nbsp;xlCalculationAutomatic &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Application.EnableEvents&amp;nbsp;=&amp;nbsp;True &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;endTime&amp;nbsp;=&amp;nbsp;Timer &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;MsgBox&amp;nbsp;&quot;최적화&amp;nbsp;작업이&amp;nbsp;완료되었습니다!&quot;&amp;nbsp;&amp;amp;&amp;nbsp;vbCrLf&amp;nbsp;&amp;amp;&amp;nbsp;_ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&quot;소요&amp;nbsp;시간:&amp;nbsp;&quot;&amp;nbsp;&amp;amp;&amp;nbsp;Format(endTime&amp;nbsp;-&amp;nbsp;startTime,&amp;nbsp;&quot;0.0&quot;)&amp;nbsp;&amp;amp;&amp;nbsp;&quot;초&quot;,&amp;nbsp;_ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;vbInformation,&amp;nbsp;&quot;완료&quot; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Exit&amp;nbsp;Sub &lt;br /&gt;&lt;br /&gt;ErrorHandler: &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;MsgBox&amp;nbsp;&quot;오류가&amp;nbsp;발생했습니다:&amp;nbsp;&quot;&amp;nbsp;&amp;amp;&amp;nbsp;Err.Description,&amp;nbsp;vbCritical &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Resume&amp;nbsp;정리 &lt;br /&gt;End&amp;nbsp;Sub &lt;br /&gt;&lt;br /&gt;'------------------------------- &lt;br /&gt;'&amp;nbsp;스타일&amp;nbsp;삭제 &lt;br /&gt;'------------------------------- &lt;br /&gt;Private&amp;nbsp;Sub&amp;nbsp;스타일삭제() &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;st&amp;nbsp;As&amp;nbsp;Style &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;stylesToDelete&amp;nbsp;As&amp;nbsp;Collection &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;i&amp;nbsp;As&amp;nbsp;Long &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set&amp;nbsp;stylesToDelete&amp;nbsp;=&amp;nbsp;New&amp;nbsp;Collection &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;기본&amp;nbsp;스타일을&amp;nbsp;제외한&amp;nbsp;사용자&amp;nbsp;정의&amp;nbsp;스타일&amp;nbsp;수집 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;For&amp;nbsp;Each&amp;nbsp;st&amp;nbsp;In&amp;nbsp;ActiveWorkbook.Styles &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;Not&amp;nbsp;IsBuiltInStyle(st.Name)&amp;nbsp;Then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;stylesToDelete.Add&amp;nbsp;st.Name &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;If &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Next&amp;nbsp;st &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;수집된&amp;nbsp;스타일&amp;nbsp;삭제 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;For&amp;nbsp;i&amp;nbsp;=&amp;nbsp;1&amp;nbsp;To&amp;nbsp;stylesToDelete.Count &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;On&amp;nbsp;Error&amp;nbsp;Resume&amp;nbsp;Next &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ActiveWorkbook.Styles(stylesToDelete(i)).Delete &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;On&amp;nbsp;Error&amp;nbsp;GoTo&amp;nbsp;0 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Next&amp;nbsp;i &lt;br /&gt;End&amp;nbsp;Sub &lt;br /&gt;&lt;br /&gt;Private&amp;nbsp;Function&amp;nbsp;IsBuiltInStyle(styleName&amp;nbsp;As&amp;nbsp;String)&amp;nbsp;As&amp;nbsp;Boolean &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;builtInStyles&amp;nbsp;As&amp;nbsp;Variant &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;i&amp;nbsp;As&amp;nbsp;Long &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;builtInStyles&amp;nbsp;=&amp;nbsp;Array(&amp;nbsp;_ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&quot;Normal&quot;,&amp;nbsp;&quot;Comma&quot;,&amp;nbsp;&quot;Currency&quot;,&amp;nbsp;&quot;Percent&quot;,&amp;nbsp;&quot;Comma&amp;nbsp;[0]&quot;,&amp;nbsp;_ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&quot;Currency&amp;nbsp;[0]&quot;,&amp;nbsp;&quot;Hyperlink&quot;,&amp;nbsp;&quot;Followed&amp;nbsp;Hyperlink&quot;,&amp;nbsp;_ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&quot;Good&quot;,&amp;nbsp;&quot;Bad&quot;,&amp;nbsp;&quot;Neutral&quot;,&amp;nbsp;&quot;Calculation&quot;,&amp;nbsp;&quot;Check&amp;nbsp;Cell&quot;,&amp;nbsp;_ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&quot;Explanatory&amp;nbsp;Text&quot;,&amp;nbsp;&quot;Input&quot;,&amp;nbsp;&quot;Linked&amp;nbsp;Cell&quot;,&amp;nbsp;&quot;Note&quot;,&amp;nbsp;_ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&quot;Output&quot;,&amp;nbsp;&quot;Warning&amp;nbsp;Text&quot;,&amp;nbsp;&quot;Heading&amp;nbsp;1&quot;,&amp;nbsp;&quot;Heading&amp;nbsp;2&quot;,&amp;nbsp;_ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&quot;Heading&amp;nbsp;3&quot;,&amp;nbsp;&quot;Heading&amp;nbsp;4&quot;,&amp;nbsp;&quot;Title&quot;,&amp;nbsp;&quot;Total&quot;) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;For&amp;nbsp;i&amp;nbsp;=&amp;nbsp;LBound(builtInStyles)&amp;nbsp;To&amp;nbsp;UBound(builtInStyles) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;StrComp(styleName,&amp;nbsp;builtInStyles(i),&amp;nbsp;vbTextCompare)&amp;nbsp;=&amp;nbsp;0&amp;nbsp;Then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;IsBuiltInStyle&amp;nbsp;=&amp;nbsp;True &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Exit&amp;nbsp;Function &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;If &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Next&amp;nbsp;i &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;IsBuiltInStyle&amp;nbsp;=&amp;nbsp;False &lt;br /&gt;End&amp;nbsp;Function &lt;br /&gt;&lt;br /&gt;'------------------------------- &lt;br /&gt;'&amp;nbsp;오류난&amp;nbsp;이름&amp;nbsp;정의&amp;nbsp;삭제 &lt;br /&gt;'------------------------------- &lt;br /&gt;Private&amp;nbsp;Function&amp;nbsp;오류이름삭제()&amp;nbsp;As&amp;nbsp;Long &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;nm&amp;nbsp;As&amp;nbsp;Name &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;deletedCount&amp;nbsp;As&amp;nbsp;Long &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;namesToDelete&amp;nbsp;As&amp;nbsp;Collection &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;i&amp;nbsp;As&amp;nbsp;Long &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set&amp;nbsp;namesToDelete&amp;nbsp;=&amp;nbsp;New&amp;nbsp;Collection &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;deletedCount&amp;nbsp;=&amp;nbsp;0 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;For&amp;nbsp;Each&amp;nbsp;nm&amp;nbsp;In&amp;nbsp;ActiveWorkbook.Names &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;On&amp;nbsp;Error&amp;nbsp;Resume&amp;nbsp;Next &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;InStr(1,&amp;nbsp;nm.RefersTo,&amp;nbsp;&quot;#REF!&quot;,&amp;nbsp;vbTextCompare)&amp;nbsp;&amp;gt;&amp;nbsp;0&amp;nbsp;Then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;namesToDelete.Add&amp;nbsp;nm.Name &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ElseIf&amp;nbsp;Not&amp;nbsp;nm&amp;nbsp;Is&amp;nbsp;Nothing&amp;nbsp;Then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;범위가&amp;nbsp;아닐&amp;nbsp;수도&amp;nbsp;있으니&amp;nbsp;접근&amp;nbsp;시&amp;nbsp;예외&amp;nbsp;처리 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;tmp&amp;nbsp;As&amp;nbsp;Variant &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;tmp&amp;nbsp;=&amp;nbsp;nm.RefersTo &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;If &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;On&amp;nbsp;Error&amp;nbsp;GoTo&amp;nbsp;0 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Next&amp;nbsp;nm &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;For&amp;nbsp;i&amp;nbsp;=&amp;nbsp;1&amp;nbsp;To&amp;nbsp;namesToDelete.Count &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;On&amp;nbsp;Error&amp;nbsp;Resume&amp;nbsp;Next &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ActiveWorkbook.Names(namesToDelete(i)).Delete &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;Err.Number&amp;nbsp;=&amp;nbsp;0&amp;nbsp;Then&amp;nbsp;deletedCount&amp;nbsp;=&amp;nbsp;deletedCount&amp;nbsp;+&amp;nbsp;1 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;On&amp;nbsp;Error&amp;nbsp;GoTo&amp;nbsp;0 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Next&amp;nbsp;i &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;오류이름삭제&amp;nbsp;=&amp;nbsp;deletedCount &lt;br /&gt;End&amp;nbsp;Function &lt;br /&gt;&lt;br /&gt;'------------------------------- &lt;br /&gt;'&amp;nbsp;사진을&amp;nbsp;제외한&amp;nbsp;개체/도형&amp;nbsp;일괄&amp;nbsp;삭제&amp;nbsp;(시트별&amp;nbsp;보고) &lt;br /&gt;'------------------------------- &lt;br /&gt;Public&amp;nbsp;Sub&amp;nbsp;AllShapeDelete() &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;ws&amp;nbsp;As&amp;nbsp;Worksheet &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;result&amp;nbsp;As&amp;nbsp;String &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Application.ScreenUpdating&amp;nbsp;=&amp;nbsp;False &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Application.Calculation&amp;nbsp;=&amp;nbsp;xlCalculationManual &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Application.EnableEvents&amp;nbsp;=&amp;nbsp;False &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;result&amp;nbsp;=&amp;nbsp;&quot;개체/도형&amp;nbsp;삭제&amp;nbsp;결과:&quot;&amp;nbsp;&amp;amp;&amp;nbsp;vbCrLf&amp;nbsp;&amp;amp;&amp;nbsp;vbCrLf &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;For&amp;nbsp;Each&amp;nbsp;ws&amp;nbsp;In&amp;nbsp;ActiveWorkbook.Worksheets &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;result&amp;nbsp;=&amp;nbsp;result&amp;nbsp;&amp;amp;&amp;nbsp;&quot;워크시트:&amp;nbsp;&quot;&amp;nbsp;&amp;amp;&amp;nbsp;ws.Name&amp;nbsp;&amp;amp;&amp;nbsp;vbCrLf &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;result&amp;nbsp;=&amp;nbsp;result&amp;nbsp;&amp;amp;&amp;nbsp;워크시트개체삭제(ws)&amp;nbsp;&amp;amp;&amp;nbsp;vbCrLf&amp;nbsp;&amp;amp;&amp;nbsp;vbCrLf &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Next&amp;nbsp;ws &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Application.ScreenUpdating&amp;nbsp;=&amp;nbsp;True &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Application.Calculation&amp;nbsp;=&amp;nbsp;xlCalculationAutomatic &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Application.EnableEvents&amp;nbsp;=&amp;nbsp;True &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;MsgBox&amp;nbsp;result,&amp;nbsp;vbInformation,&amp;nbsp;&quot;개체/도형&amp;nbsp;정리&amp;nbsp;완료&quot; &lt;br /&gt;End&amp;nbsp;Sub &lt;br /&gt;&lt;br /&gt;Private&amp;nbsp;Function&amp;nbsp;워크시트개체삭제(ws&amp;nbsp;As&amp;nbsp;Worksheet)&amp;nbsp;As&amp;nbsp;String &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;deleteCount&amp;nbsp;As&amp;nbsp;Long &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;deleteCount&amp;nbsp;=&amp;nbsp;0 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;deleteCount&amp;nbsp;=&amp;nbsp;deleteCount&amp;nbsp;+&amp;nbsp;Shapes컬렉션삭제(ws)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;사진&amp;nbsp;제외 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;deleteCount&amp;nbsp;=&amp;nbsp;deleteCount&amp;nbsp;+&amp;nbsp;DrawingObjects삭제(ws)&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;구버전&amp;nbsp;포함,&amp;nbsp;사진&amp;nbsp;제외 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;deleteCount&amp;nbsp;=&amp;nbsp;deleteCount&amp;nbsp;+&amp;nbsp;OLEObjects삭제(ws)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;ActiveX&amp;nbsp;등 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;워크시트개체삭제&amp;nbsp;=&amp;nbsp;&quot;&amp;nbsp;&amp;nbsp;삭제된&amp;nbsp;개체&amp;nbsp;수:&amp;nbsp;&quot;&amp;nbsp;&amp;amp;&amp;nbsp;deleteCount&amp;nbsp;&amp;amp;&amp;nbsp;&quot;개&quot; &lt;br /&gt;End&amp;nbsp;Function &lt;br /&gt;&lt;br /&gt;Private&amp;nbsp;Function&amp;nbsp;Shapes컬렉션삭제(ws&amp;nbsp;As&amp;nbsp;Worksheet)&amp;nbsp;As&amp;nbsp;Long &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;i&amp;nbsp;As&amp;nbsp;Long &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;shp&amp;nbsp;As&amp;nbsp;Shape &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;deleteCount&amp;nbsp;As&amp;nbsp;Long &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;On&amp;nbsp;Error&amp;nbsp;Resume&amp;nbsp;Next &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;For&amp;nbsp;i&amp;nbsp;=&amp;nbsp;ws.Shapes.Count&amp;nbsp;To&amp;nbsp;1&amp;nbsp;Step&amp;nbsp;-1 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set&amp;nbsp;shp&amp;nbsp;=&amp;nbsp;ws.Shapes(i) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;Not&amp;nbsp;shp&amp;nbsp;Is&amp;nbsp;Nothing&amp;nbsp;Then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;사진&amp;nbsp;및&amp;nbsp;연결된&amp;nbsp;사진은&amp;nbsp;보존 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;shp.Type&amp;nbsp;&amp;lt;&amp;gt;&amp;nbsp;msoPicture&amp;nbsp;And&amp;nbsp;shp.Type&amp;nbsp;&amp;lt;&amp;gt;&amp;nbsp;msoLinkedPicture&amp;nbsp;Then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;shp.Delete &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;Err.Number&amp;nbsp;=&amp;nbsp;0&amp;nbsp;Then&amp;nbsp;deleteCount&amp;nbsp;=&amp;nbsp;deleteCount&amp;nbsp;+&amp;nbsp;1&amp;nbsp;Else&amp;nbsp;Err.Clear &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;If &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;If &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Next&amp;nbsp;i &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;On&amp;nbsp;Error&amp;nbsp;GoTo&amp;nbsp;0 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Shapes컬렉션삭제&amp;nbsp;=&amp;nbsp;deleteCount &lt;br /&gt;End&amp;nbsp;Function &lt;br /&gt;&lt;br /&gt;Private&amp;nbsp;Function&amp;nbsp;DrawingObjects삭제(ws&amp;nbsp;As&amp;nbsp;Worksheet)&amp;nbsp;As&amp;nbsp;Long &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;i&amp;nbsp;As&amp;nbsp;Long &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;obj&amp;nbsp;As&amp;nbsp;Object &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;deleteCount&amp;nbsp;As&amp;nbsp;Long &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;On&amp;nbsp;Error&amp;nbsp;Resume&amp;nbsp;Next &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;For&amp;nbsp;i&amp;nbsp;=&amp;nbsp;ws.DrawingObjects.Count&amp;nbsp;To&amp;nbsp;1&amp;nbsp;Step&amp;nbsp;-1 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set&amp;nbsp;obj&amp;nbsp;=&amp;nbsp;ws.DrawingObjects(i) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;Not&amp;nbsp;obj&amp;nbsp;Is&amp;nbsp;Nothing&amp;nbsp;Then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;TypeName으로&amp;nbsp;사진&amp;nbsp;제외 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;TypeName(obj)&amp;nbsp;&amp;lt;&amp;gt;&amp;nbsp;&quot;Picture&quot;&amp;nbsp;Then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;obj.Delete &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;Err.Number&amp;nbsp;=&amp;nbsp;0&amp;nbsp;Then&amp;nbsp;deleteCount&amp;nbsp;=&amp;nbsp;deleteCount&amp;nbsp;+&amp;nbsp;1&amp;nbsp;Else&amp;nbsp;Err.Clear &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;If &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;If &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Next&amp;nbsp;i &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;On&amp;nbsp;Error&amp;nbsp;GoTo&amp;nbsp;0 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;DrawingObjects삭제&amp;nbsp;=&amp;nbsp;deleteCount &lt;br /&gt;End&amp;nbsp;Function &lt;br /&gt;&lt;br /&gt;Private&amp;nbsp;Function&amp;nbsp;OLEObjects삭제(ws&amp;nbsp;As&amp;nbsp;Worksheet)&amp;nbsp;As&amp;nbsp;Long &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;i&amp;nbsp;As&amp;nbsp;Long &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;oleObj&amp;nbsp;As&amp;nbsp;OLEObject &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;deleteCount&amp;nbsp;As&amp;nbsp;Long &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;On&amp;nbsp;Error&amp;nbsp;Resume&amp;nbsp;Next &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;For&amp;nbsp;i&amp;nbsp;=&amp;nbsp;ws.OLEObjects.Count&amp;nbsp;To&amp;nbsp;1&amp;nbsp;Step&amp;nbsp;-1 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set&amp;nbsp;oleObj&amp;nbsp;=&amp;nbsp;ws.OLEObjects(i) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;Not&amp;nbsp;oleObj&amp;nbsp;Is&amp;nbsp;Nothing&amp;nbsp;Then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;oleObj.Delete &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;Err.Number&amp;nbsp;=&amp;nbsp;0&amp;nbsp;Then&amp;nbsp;deleteCount&amp;nbsp;=&amp;nbsp;deleteCount&amp;nbsp;+&amp;nbsp;1&amp;nbsp;Else&amp;nbsp;Err.Clear &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;If &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Next&amp;nbsp;i &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;On&amp;nbsp;Error&amp;nbsp;GoTo&amp;nbsp;0 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;OLEObjects삭제&amp;nbsp;=&amp;nbsp;deleteCount &lt;br /&gt;End&amp;nbsp;Function &lt;br /&gt;&lt;br /&gt;'Private&amp;nbsp;Function&amp;nbsp;ChartObjects삭제(ws&amp;nbsp;As&amp;nbsp;Worksheet)&amp;nbsp;As&amp;nbsp;Long &lt;br /&gt;'&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;i&amp;nbsp;As&amp;nbsp;Long &lt;br /&gt;'&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;deleteCount&amp;nbsp;As&amp;nbsp;Long &lt;br /&gt;' &lt;br /&gt;'&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;On&amp;nbsp;Error&amp;nbsp;Resume&amp;nbsp;Next &lt;br /&gt;'&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;For&amp;nbsp;i&amp;nbsp;=&amp;nbsp;ws.ChartObjects.Count&amp;nbsp;To&amp;nbsp;1&amp;nbsp;Step&amp;nbsp;-1 &lt;br /&gt;'&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ws.ChartObjects(i).Delete &lt;br /&gt;'&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;Err.Number&amp;nbsp;=&amp;nbsp;0&amp;nbsp;Then&amp;nbsp;deleteCount&amp;nbsp;=&amp;nbsp;deleteCount&amp;nbsp;+&amp;nbsp;1&amp;nbsp;Else&amp;nbsp;Err.Clear &lt;br /&gt;'&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Next&amp;nbsp;i &lt;br /&gt;'&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;On&amp;nbsp;Error&amp;nbsp;GoTo&amp;nbsp;0 &lt;br /&gt;' &lt;br /&gt;'&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ChartObjects삭제&amp;nbsp;=&amp;nbsp;deleteCount &lt;br /&gt;'End&amp;nbsp;Function &lt;br /&gt;' &lt;br /&gt;'Private&amp;nbsp;Function&amp;nbsp;Comments삭제(ws&amp;nbsp;As&amp;nbsp;Worksheet)&amp;nbsp;As&amp;nbsp;Long &lt;br /&gt;'&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;deleteCount&amp;nbsp;As&amp;nbsp;Long &lt;br /&gt;' &lt;br /&gt;'&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;On&amp;nbsp;Error&amp;nbsp;Resume&amp;nbsp;Next &lt;br /&gt;'&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;현대&amp;nbsp;버전:&amp;nbsp;CommentsThreaded &lt;br /&gt;'&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;ws.CommentsThreaded.Count&amp;nbsp;&amp;gt;&amp;nbsp;0&amp;nbsp;Then &lt;br /&gt;'&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ws.CommentsThreaded.Delete &lt;br /&gt;'&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;Err.Number&amp;nbsp;=&amp;nbsp;0&amp;nbsp;Then&amp;nbsp;deleteCount&amp;nbsp;=&amp;nbsp;deleteCount&amp;nbsp;+&amp;nbsp;1&amp;nbsp;Else&amp;nbsp;Err.Clear &lt;br /&gt;'&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;If &lt;br /&gt;'&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;구버전:&amp;nbsp;Comments &lt;br /&gt;'&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;ws.Comments.Count&amp;nbsp;&amp;gt;&amp;nbsp;0&amp;nbsp;Then &lt;br /&gt;'&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ws.Comments.Delete &lt;br /&gt;'&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;Err.Number&amp;nbsp;=&amp;nbsp;0&amp;nbsp;Then&amp;nbsp;deleteCount&amp;nbsp;=&amp;nbsp;deleteCount&amp;nbsp;+&amp;nbsp;1&amp;nbsp;Else&amp;nbsp;Err.Clear &lt;br /&gt;'&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;If &lt;br /&gt;'&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;On&amp;nbsp;Error&amp;nbsp;GoTo&amp;nbsp;0 &lt;br /&gt;' &lt;br /&gt;'&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Comments삭제&amp;nbsp;=&amp;nbsp;deleteCount &lt;br /&gt;'End&amp;nbsp;Function &lt;br /&gt;&lt;br /&gt;'------------------------------- &lt;br /&gt;'&amp;nbsp;외부&amp;nbsp;링크&amp;nbsp;끊기 &lt;br /&gt;'------------------------------- &lt;br /&gt;Private&amp;nbsp;Function&amp;nbsp;외부링크삭제()&amp;nbsp;As&amp;nbsp;Long &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;linksVar&amp;nbsp;As&amp;nbsp;Variant &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;i&amp;nbsp;As&amp;nbsp;Long &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;deletedCount&amp;nbsp;As&amp;nbsp;Long &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;deletedCount&amp;nbsp;=&amp;nbsp;0 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;linksVar&amp;nbsp;=&amp;nbsp;ActiveWorkbook.LinkSources(xlExcelLinks) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;Not&amp;nbsp;IsEmpty(linksVar)&amp;nbsp;Then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;For&amp;nbsp;i&amp;nbsp;=&amp;nbsp;LBound(linksVar)&amp;nbsp;To&amp;nbsp;UBound(linksVar) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;On&amp;nbsp;Error&amp;nbsp;Resume&amp;nbsp;Next &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ActiveWorkbook.BreakLink&amp;nbsp;Name:=linksVar(i),&amp;nbsp;Type:=xlLinkTypeExcelLinks &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;Err.Number&amp;nbsp;=&amp;nbsp;0&amp;nbsp;Then&amp;nbsp;deletedCount&amp;nbsp;=&amp;nbsp;deletedCount&amp;nbsp;+&amp;nbsp;1&amp;nbsp;Else&amp;nbsp;Err.Clear &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;On&amp;nbsp;Error&amp;nbsp;GoTo&amp;nbsp;0 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Next&amp;nbsp;i &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;If &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;외부링크삭제&amp;nbsp;=&amp;nbsp;deletedCount &lt;br /&gt;End&amp;nbsp;Function &lt;br /&gt;&lt;br /&gt;'------------------------------- &lt;br /&gt;'&amp;nbsp;이미지&amp;nbsp;압축&amp;nbsp;(간이/호환&amp;nbsp;방식) &lt;br /&gt;'------------------------------- &lt;br /&gt;&lt;br /&gt;Sub&amp;nbsp;이미지압축() &lt;br /&gt;Dim&amp;nbsp;i&amp;nbsp;As&amp;nbsp;Integer &lt;br /&gt;Dim&amp;nbsp;sht&amp;nbsp;As&amp;nbsp;Integer &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Application.ScreenUpdating&amp;nbsp;=&amp;nbsp;False &lt;br /&gt;On&amp;nbsp;Error&amp;nbsp;Resume&amp;nbsp;Next &lt;br /&gt;sht&amp;nbsp;=&amp;nbsp;InputBox(&quot;모든&amp;nbsp;시트의&amp;nbsp;사진을&amp;nbsp;압축할까요?&amp;nbsp;&quot;&amp;nbsp;&amp;amp;&amp;nbsp;vbCrLf&amp;nbsp;&amp;amp;&amp;nbsp;&quot;모든시트&amp;nbsp;:&amp;nbsp;1,&amp;nbsp;&amp;nbsp;현재시트만&amp;nbsp;:&amp;nbsp;2&quot;,&amp;nbsp;Default:=1) &lt;br /&gt;&lt;br /&gt;If&amp;nbsp;IsNumeric(sht)&amp;nbsp;And&amp;nbsp;sht&amp;nbsp;=&amp;nbsp;2&amp;nbsp;Then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ActiveSheet.Shapes.SelectAll &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;SendKeys&amp;nbsp;&quot;%w&quot;,&amp;nbsp;True &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;SendKeys&amp;nbsp;&quot;%d&quot;,&amp;nbsp;True &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;SendKeys&amp;nbsp;&quot;%a&quot;,&amp;nbsp;True &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;SendKeys&amp;nbsp;&quot;~&quot;,&amp;nbsp;True &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Application.CommandBars.ExecuteMso&amp;nbsp;&quot;PicturesCompress&quot; &lt;br /&gt;'&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;SendKeys&amp;nbsp;&quot;{ESC}&quot;,&amp;nbsp;True &lt;br /&gt;ElseIf&amp;nbsp;IsNumeric(sht)&amp;nbsp;And&amp;nbsp;sht&amp;nbsp;=&amp;nbsp;1&amp;nbsp;Then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;For&amp;nbsp;i&amp;nbsp;=&amp;nbsp;1&amp;nbsp;To&amp;nbsp;Sheets.Count &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Sheets(i).Shapes.SelectAll &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;SendKeys&amp;nbsp;&quot;%w&quot;,&amp;nbsp;True &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;SendKeys&amp;nbsp;&quot;%d&quot;,&amp;nbsp;True &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;SendKeys&amp;nbsp;&quot;%a&quot;,&amp;nbsp;True &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;SendKeys&amp;nbsp;&quot;~&quot;,&amp;nbsp;True &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Application.CommandBars.ExecuteMso&amp;nbsp;&quot;PicturesCompress&quot; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Next&amp;nbsp;i &lt;br /&gt;'&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;SendKeys&amp;nbsp;&quot;{ESC}&quot;,&amp;nbsp;True &lt;br /&gt;End&amp;nbsp;If &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Application.ScreenUpdating&amp;nbsp;=&amp;nbsp;True &lt;br /&gt;SendKeys&amp;nbsp;&quot;{ESC}&quot;,&amp;nbsp;True &lt;br /&gt;SendKeys&amp;nbsp;&quot;{NUMLOCK}&quot;,&amp;nbsp;True &lt;br /&gt;Application.Wait&amp;nbsp;(Now&amp;nbsp;+&amp;nbsp;TimeValue(&quot;0:00:01&quot;)) &lt;br /&gt;End&amp;nbsp;Sub &lt;br /&gt;&lt;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;color: #000000; text-align: start;&quot; data-end=&quot;484&quot; data-start=&quot;473&quot; data-ke-size=&quot;size26&quot;&gt;4. 파일 다운로드&lt;/h2&gt;
&lt;p&gt;&lt;figure class=&quot;fileblock&quot; data-ke-align=&quot;alignCenter&quot;&gt;&lt;a href=&quot;https://blog.kakaocdn.net/dn/clItSW/dJMb9cuC8Fw/Op8y2VI0iMOCvn9AEvltCK/%EC%97%91%EC%85%80%EB%AC%B8%EC%84%9C%20%EC%98%AC%EC%9D%B8%EC%9B%90%20%EB%8B%A4%EC%9D%B4%EC%96%B4%ED%8A%B8_ver1.2.xlsm?attach=1&amp;amp;knm=tfile.xlsm&quot; class=&quot;&quot;&gt;
    &lt;div class=&quot;image&quot;&gt;&lt;/div&gt;
    &lt;div class=&quot;desc&quot;&gt;&lt;div class=&quot;filename&quot;&gt;&lt;span class=&quot;name&quot;&gt;엑셀문서 올인원 다이어트_ver1.2.xlsm&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;size&quot;&gt;0.18MB&lt;/div&gt;
&lt;/div&gt;
  &lt;/a&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h2 style=&quot;color: #000000; text-align: start;&quot; data-start=&quot;473&quot; data-end=&quot;484&quot; data-ke-size=&quot;size26&quot;&gt;&amp;nbsp;&lt;/h2&gt;</description>
      <category>꿀팁</category>
      <category>#엑셀 #VBA #엑셀최적화 #엑셀속도개선 #엑셀매크로 #업무자동화 #엑셀다이어트 #Excel #엑셀파일용량줄이기 #엑셀팁</category>
      <author>노만e</author>
      <guid isPermaLink="true">https://dream2049.tistory.com/169</guid>
      <comments>https://dream2049.tistory.com/169#entry169comment</comments>
      <pubDate>Tue, 19 Aug 2025 22:38:14 +0900</pubDate>
    </item>
    <item>
      <title>엑셀VBA 병합셀에 사진 한방에 넣기!</title>
      <link>https://dream2049.tistory.com/168</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;수백 개 이미지도 1분안에 자동 삽입하는 &lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;VBA 마법!!&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;아래의 양식이 아니어도 상관없습니다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;여러분의 양식에 아래 첨부된 VBA 코드를 복사 붙여 넣고 사용하시면 됩니다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;905&quot; data-origin-height=&quot;803&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bmI17b/btsPUCCOdjv/mGe1x49akfMuMtmevJ7dVK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bmI17b/btsPUCCOdjv/mGe1x49akfMuMtmevJ7dVK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bmI17b/btsPUCCOdjv/mGe1x49akfMuMtmevJ7dVK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbmI17b%2FbtsPUCCOdjv%2FmGe1x49akfMuMtmevJ7dVK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;559&quot; height=&quot;803&quot; data-origin-width=&quot;905&quot; data-origin-height=&quot;803&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&quot;병합셀마다 일일이 사진 넣느라 하루 종일 걸렸던 당신, 이제 Stop!&quot;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;엑셀로 카탈로그, 상품목록, 직원명부를 만들 때 가장 귀찮은 작업이 뭘까요?&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그건 바로 &lt;b&gt;병합셀마다 하나씩 이미지를 삽입하는 작업&lt;/b&gt;이죠.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;수십, 수백 개의 사진을 넣어야 할 때면 정말 막막합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;하지만 이제 걱정 끝!&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;단 한 번의 클릭으로 모든 병합셀에 이미지를 자동으로 삽입&lt;/b&gt;해주는 VBA 매크로를 소개합니다.&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;✨ 이런 분들께 강력 추천!&lt;/h2&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;  &lt;b&gt;상품 카탈로그&lt;/b&gt; 제작하시는 분&lt;/li&gt;
&lt;li&gt;  &lt;b&gt;직원 명부&lt;/b&gt;에 프로필 사진 넣으시는 분&lt;/li&gt;
&lt;li&gt;  &lt;b&gt;회사 소개서, 프레젠테이션&lt;/b&gt; 자료 만드시는 분&lt;/li&gt;
&lt;li&gt;  &lt;b&gt;재고 관리표&lt;/b&gt;에 제품 이미지 넣으시는 분&lt;/li&gt;
&lt;li&gt;  &lt;b&gt;포트폴리오, 갤러리&lt;/b&gt; 형태 문서 작성하시는 분&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;  핵심 기능 한눈에 보기&lt;/h2&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;1️⃣ 똑똑한 자동 인식&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;✅ &lt;b&gt;빈 병합셀만&lt;/b&gt; 자동으로 찾아서 처리&lt;/li&gt;
&lt;li&gt;✅ &lt;b&gt;이미지가 이미 있는 곳은 건드리지 않음&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;✅ &lt;b&gt;원하는 크기 이상의 병합셀만&lt;/b&gt; 선택 가능&lt;/li&gt;
&lt;li&gt;✅&lt;span&gt; VBA코드만 복사해서 &lt;b&gt;임의의 양식에 적용 가능&lt;/b&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;2️⃣ 두 가지 입력 모드&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;  &lt;b&gt;자동 모드&lt;/b&gt;: 폴더 선택하면 이름순으로 자동 배치&lt;/li&gt;
&lt;li&gt;  &lt;b&gt;수동 모드&lt;/b&gt;: 각 셀마다 원하는 이미지 직접 선택&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;3️⃣ 완벽한 크기 조절&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;딱맞게&lt;/b&gt;: 병합셀 전체 영역 활용&lt;/li&gt;
&lt;li&gt;&lt;b&gt;조금 작게&lt;/b&gt;: 여백을 둬서 깔끔하게&lt;/li&gt;
&lt;li&gt;&lt;b&gt;더 작게&lt;/b&gt;: 넉넉한 여백으로 세련되게&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;  사용법 완벽 가이드&lt;/h2&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;STEP 1: VBA 코드 적용하기&lt;/h3&gt;
&lt;div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;
&lt;pre class=&quot;angelscript&quot; style=&quot;color: #383a42; text-align: left;&quot;&gt;&lt;code&gt;1. Alt + F11로 VBA 에디터 열기
2. 삽입 &amp;rarr; 모듈 선택
3. 제공된 코드 전체 복사&amp;amp;붙여넣기
4. Ctrl + S로 저장&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&amp;nbsp;&lt;/h3&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;STEP 2: 마법사 실행하기&lt;/h3&gt;
&lt;div&gt;
&lt;div&gt;
&lt;pre class=&quot;lsl&quot; style=&quot;color: #383a42; text-align: left;&quot;&gt;&lt;code&gt;1. Alt + F8 (또는 개발도구 &amp;rarr; 매크로)
2. &quot;PictureFill_MergedCells_Wizard&quot; 선택 후 실행
3. 단계별 안내에 따라 설정&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;STEP 3: 설정 완료하기&lt;/h3&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;&lt;b&gt;병합행 개수&lt;/b&gt;: 몇 행 이상 병합셀에 넣을지 결정 (예: 3행)&lt;/li&gt;
&lt;li&gt;&lt;b&gt;크기 옵션&lt;/b&gt;: 1(딱맞게) / 2(조금 작게) / 3(더 작게)&lt;/li&gt;
&lt;li&gt;&lt;b&gt;입력 방식&lt;/b&gt;: 1(자동) / 2(수동)&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&amp;nbsp;&lt;/h3&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;※ VBA 코드&lt;/h3&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 100%;&quot;&gt;Option&amp;nbsp;Explicit &lt;br /&gt;&lt;br /&gt;'&amp;nbsp;============================================ &lt;br /&gt;'&amp;nbsp;병합셀&amp;nbsp;사진&amp;nbsp;삽입&amp;nbsp;위저드&amp;nbsp;(자동/수동&amp;nbsp;선택) &lt;br /&gt;'&amp;nbsp;-&amp;nbsp;병합행&amp;nbsp;수&amp;nbsp;기준(cnt)&amp;nbsp;이상&amp;nbsp;+&amp;nbsp;&quot;값이&amp;nbsp;비어&amp;nbsp;있고&quot;&amp;nbsp;+&amp;nbsp;&quot;그림&amp;nbsp;없는&quot;&amp;nbsp;병합셀만&amp;nbsp;대상 &lt;br /&gt;'&amp;nbsp;-&amp;nbsp;모드&amp;nbsp;1:&amp;nbsp;폴더&amp;nbsp;내&amp;nbsp;이미지&amp;nbsp;자동&amp;nbsp;배치(이름순) &lt;br /&gt;'&amp;nbsp;-&amp;nbsp;모드&amp;nbsp;2:&amp;nbsp;각&amp;nbsp;병합셀마다&amp;nbsp;파일&amp;nbsp;직접&amp;nbsp;선택 &lt;br /&gt;'&amp;nbsp;-&amp;nbsp;크기&amp;nbsp;옵션:&amp;nbsp;1=딱맞게,&amp;nbsp;2=조금&amp;nbsp;작게,&amp;nbsp;3=더&amp;nbsp;작게 &lt;br /&gt;'&amp;nbsp;-&amp;nbsp;파일명(확장자&amp;nbsp;제외)&amp;nbsp;기록&amp;nbsp;위치:&amp;nbsp;병합셀의&amp;nbsp;&quot;다음&amp;nbsp;행&amp;nbsp;첫&amp;nbsp;칸&quot; &lt;br /&gt;'&amp;nbsp;&amp;nbsp;&amp;nbsp;예)&amp;nbsp;A3:F14&amp;nbsp;병합&amp;nbsp;&amp;rarr;&amp;nbsp;A15에&amp;nbsp;파일명 &lt;br /&gt;'&amp;nbsp;============================================ &lt;br /&gt;&lt;br /&gt;Public&amp;nbsp;Sub&amp;nbsp;PictureFill_MergedCells_Wizard() &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;rTable&amp;nbsp;As&amp;nbsp;Range,&amp;nbsp;rng&amp;nbsp;As&amp;nbsp;Range &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;cnt&amp;nbsp;As&amp;nbsp;Long,&amp;nbsp;picSize&amp;nbsp;As&amp;nbsp;Long,&amp;nbsp;modeSel&amp;nbsp;As&amp;nbsp;Long &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;prng()&amp;nbsp;As&amp;nbsp;Range &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;i&amp;nbsp;As&amp;nbsp;Long,&amp;nbsp;j&amp;nbsp;As&amp;nbsp;Long &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;folderPath&amp;nbsp;As&amp;nbsp;String &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;imgFiles()&amp;nbsp;As&amp;nbsp;String &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;imgCount&amp;nbsp;As&amp;nbsp;Long &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;maxN&amp;nbsp;As&amp;nbsp;Long &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Application.ScreenUpdating&amp;nbsp;=&amp;nbsp;False &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;On&amp;nbsp;Error&amp;nbsp;GoTo&amp;nbsp;SafeExit &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;1)&amp;nbsp;대상&amp;nbsp;범위:&amp;nbsp;현재&amp;nbsp;시트&amp;nbsp;사용영역 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set&amp;nbsp;rTable&amp;nbsp;=&amp;nbsp;ActiveSheet.UsedRange &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;rTable&amp;nbsp;Is&amp;nbsp;Nothing&amp;nbsp;Then&amp;nbsp;GoTo&amp;nbsp;SafeExit &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;2)&amp;nbsp;병합행&amp;nbsp;최소&amp;nbsp;개수 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;cnt&amp;nbsp;=&amp;nbsp;Application.InputBox(&quot;병합셀이&amp;nbsp;몇&amp;nbsp;행&amp;nbsp;이상일&amp;nbsp;때&amp;nbsp;사진을&amp;nbsp;입력할까요?&quot;,&amp;nbsp;_ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&quot;병합셀&amp;nbsp;행&amp;nbsp;개수&amp;nbsp;기준&quot;,&amp;nbsp;Default:=3,&amp;nbsp;Type:=1) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;cnt&amp;nbsp;&amp;lt;=&amp;nbsp;0&amp;nbsp;Then&amp;nbsp;GoTo&amp;nbsp;SafeExit &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;3)&amp;nbsp;크기&amp;nbsp;옵션 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;picSize&amp;nbsp;=&amp;nbsp;Application.InputBox(&quot;사진의&amp;nbsp;크기를&amp;nbsp;선택하세요:&quot;&amp;nbsp;&amp;amp;&amp;nbsp;vbCrLf&amp;nbsp;&amp;amp;&amp;nbsp;_ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&quot;1:&amp;nbsp;딱맞게,&amp;nbsp;2:&amp;nbsp;조금&amp;nbsp;작게,&amp;nbsp;3:&amp;nbsp;더&amp;nbsp;작게&quot;,&amp;nbsp;_ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&quot;크기&amp;nbsp;옵션&quot;,&amp;nbsp;Default:=1,&amp;nbsp;Type:=1) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;picSize&amp;nbsp;&amp;lt;&amp;nbsp;1&amp;nbsp;Or&amp;nbsp;picSize&amp;nbsp;&amp;gt;&amp;nbsp;3&amp;nbsp;Then&amp;nbsp;GoTo&amp;nbsp;SafeExit &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;4)&amp;nbsp;입력&amp;nbsp;방식&amp;nbsp;선택 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;modeSel&amp;nbsp;=&amp;nbsp;Application.InputBox(&quot;입력&amp;nbsp;방식을&amp;nbsp;선택하세요:&quot;&amp;nbsp;&amp;amp;&amp;nbsp;vbCrLf&amp;nbsp;&amp;amp;&amp;nbsp;_ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&quot;1:&amp;nbsp;폴더&amp;nbsp;자동&amp;nbsp;입력(이름순)&quot;&amp;nbsp;&amp;amp;&amp;nbsp;vbCrLf&amp;nbsp;&amp;amp;&amp;nbsp;_ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&quot;2:&amp;nbsp;개별&amp;nbsp;파일&amp;nbsp;수동&amp;nbsp;선택&quot;,&amp;nbsp;_ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&quot;입력&amp;nbsp;방식&quot;,&amp;nbsp;Default:=1,&amp;nbsp;Type:=1) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;(modeSel&amp;nbsp;&amp;lt;&amp;gt;&amp;nbsp;1)&amp;nbsp;And&amp;nbsp;(modeSel&amp;nbsp;&amp;lt;&amp;gt;&amp;nbsp;2)&amp;nbsp;Then&amp;nbsp;GoTo&amp;nbsp;SafeExit &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;5)&amp;nbsp;조건을&amp;nbsp;만족하는&amp;nbsp;병합셀&amp;nbsp;수집 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;i&amp;nbsp;=&amp;nbsp;0 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;For&amp;nbsp;Each&amp;nbsp;rng&amp;nbsp;In&amp;nbsp;rTable &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;rng.MergeCells&amp;nbsp;Then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;rng.Address&amp;nbsp;=&amp;nbsp;rng.MergeArea.Cells(1,&amp;nbsp;1).Address&amp;nbsp;Then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;rng.MergeArea.Rows.Count&amp;nbsp;&amp;gt;=&amp;nbsp;cnt&amp;nbsp;Then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;***&amp;nbsp;수정&amp;nbsp;포인트&amp;nbsp;*** &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;&amp;nbsp;&amp;nbsp;값이&amp;nbsp;완전히&amp;nbsp;비어&amp;nbsp;있고(CountA=0) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;&amp;nbsp;&amp;nbsp;+&amp;nbsp;그림(사진)이&amp;nbsp;겹치지&amp;nbsp;않는&amp;nbsp;병합셀만&amp;nbsp;수집 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;IsRangeEmpty(rng.MergeArea)&amp;nbsp;Then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;Not&amp;nbsp;RangeHasImage(rng.MergeArea)&amp;nbsp;Then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;i&amp;nbsp;=&amp;nbsp;i&amp;nbsp;+&amp;nbsp;1 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ReDim&amp;nbsp;Preserve&amp;nbsp;prng(1&amp;nbsp;To&amp;nbsp;i) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set&amp;nbsp;prng(i)&amp;nbsp;=&amp;nbsp;rng.MergeArea &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;If &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;If &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;If &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;If &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;If &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Next&amp;nbsp;rng &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;i&amp;nbsp;=&amp;nbsp;0&amp;nbsp;Then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;MsgBox&amp;nbsp;&quot;조건(비어있고&amp;nbsp;그림이&amp;nbsp;없는)&amp;nbsp;병합셀이&amp;nbsp;없습니다.&quot;,&amp;nbsp;vbInformation &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;GoTo&amp;nbsp;SafeExit &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;If &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;6)&amp;nbsp;모드&amp;nbsp;분기 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;modeSel&amp;nbsp;=&amp;nbsp;1&amp;nbsp;Then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;----&amp;nbsp;자동&amp;nbsp;모드:&amp;nbsp;폴더&amp;nbsp;선택&amp;nbsp;&amp;rarr;&amp;nbsp;이미지&amp;nbsp;목록&amp;nbsp;수집&amp;nbsp;&amp;rarr;&amp;nbsp;이름순&amp;nbsp;정렬&amp;nbsp;후&amp;nbsp;순서대로 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;folderPath&amp;nbsp;=&amp;nbsp;PickFolderPath(&quot;이미지&amp;nbsp;폴더를&amp;nbsp;선택하세요&quot;) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;Len(folderPath)&amp;nbsp;=&amp;nbsp;0&amp;nbsp;Then&amp;nbsp;GoTo&amp;nbsp;SafeExit &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;imgCount&amp;nbsp;=&amp;nbsp;GetImageFiles(folderPath,&amp;nbsp;imgFiles) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;imgCount&amp;nbsp;=&amp;nbsp;0&amp;nbsp;Then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;MsgBox&amp;nbsp;&quot;선택한&amp;nbsp;폴더에&amp;nbsp;사용할&amp;nbsp;수&amp;nbsp;있는&amp;nbsp;이미지&amp;nbsp;파일이&amp;nbsp;없습니다.&quot;,&amp;nbsp;vbInformation &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;GoTo&amp;nbsp;SafeExit &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;If &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;imgCount&amp;nbsp;&amp;gt;&amp;nbsp;1&amp;nbsp;Then&amp;nbsp;QuickSortStrings&amp;nbsp;imgFiles,&amp;nbsp;LBound(imgFiles),&amp;nbsp;UBound(imgFiles) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;maxN&amp;nbsp;=&amp;nbsp;IIf(imgCount&amp;nbsp;&amp;lt;&amp;nbsp;UBound(prng),&amp;nbsp;imgCount,&amp;nbsp;UBound(prng)) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;For&amp;nbsp;j&amp;nbsp;=&amp;nbsp;1&amp;nbsp;To&amp;nbsp;maxN &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;이중&amp;nbsp;안전장치:&amp;nbsp;삽입&amp;nbsp;직전에도&amp;nbsp;한&amp;nbsp;번&amp;nbsp;더&amp;nbsp;검사 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;IsRangeEmpty(prng(j))&amp;nbsp;And&amp;nbsp;Not&amp;nbsp;RangeHasImage(prng(j))&amp;nbsp;Then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;InsertImageIntoMerged&amp;nbsp;prng(j),&amp;nbsp;imgFiles(j),&amp;nbsp;picSize &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'WriteFilenameBelow&amp;nbsp;prng(j),&amp;nbsp;BaseNameWithoutExt(imgFiles(j)) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;If &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Next&amp;nbsp;j &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;imgCount&amp;nbsp;&amp;lt;&amp;nbsp;UBound(prng)&amp;nbsp;Then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;MsgBox&amp;nbsp;&quot;이미지가&amp;nbsp;&quot;&amp;nbsp;&amp;amp;&amp;nbsp;imgCount&amp;nbsp;&amp;amp;&amp;nbsp;&quot;개여서&amp;nbsp;&quot;&amp;nbsp;&amp;amp;&amp;nbsp;imgCount&amp;nbsp;&amp;amp;&amp;nbsp;&quot;개의&amp;nbsp;병합셀만&amp;nbsp;채웠습니다.&quot;,&amp;nbsp;vbInformation &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;If &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ElseIf&amp;nbsp;modeSel&amp;nbsp;=&amp;nbsp;2&amp;nbsp;Then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;----&amp;nbsp;수동&amp;nbsp;모드:&amp;nbsp;각&amp;nbsp;병합셀마다&amp;nbsp;파일&amp;nbsp;직접&amp;nbsp;선택 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;strFilter&amp;nbsp;As&amp;nbsp;String,&amp;nbsp;fullPath&amp;nbsp;As&amp;nbsp;Variant &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;strFilter&amp;nbsp;=&amp;nbsp;&quot;그림파일&amp;nbsp;(*.jpg;*.jpeg;*.png;*.gif;*.bmp;*.tif;*.tiff),*.jpg;*.jpeg;*.png;*.gif;*.bmp;*.tif;*.tiff&quot; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;For&amp;nbsp;j&amp;nbsp;=&amp;nbsp;1&amp;nbsp;To&amp;nbsp;UBound(prng) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;fullPath&amp;nbsp;=&amp;nbsp;Application.GetOpenFilename(&amp;nbsp;_ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;FileFilter:=strFilter,&amp;nbsp;_ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Title:=&quot;삽입할&amp;nbsp;그림&amp;nbsp;파일을&amp;nbsp;선택하세요&quot;,&amp;nbsp;_ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;MultiSelect:=False) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;VarType(fullPath)&amp;nbsp;=&amp;nbsp;vbBoolean&amp;nbsp;Then&amp;nbsp;Exit&amp;nbsp;For&amp;nbsp;'&amp;nbsp;취소하면&amp;nbsp;종료 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;CStr(fullPath)&amp;nbsp;&amp;lt;&amp;gt;&amp;nbsp;&quot;False&quot;&amp;nbsp;Then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;IsRangeEmpty(prng(j))&amp;nbsp;And&amp;nbsp;Not&amp;nbsp;RangeHasImage(prng(j))&amp;nbsp;Then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;InsertImageIntoMerged&amp;nbsp;prng(j),&amp;nbsp;CStr(fullPath),&amp;nbsp;picSize &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'WriteFilenameBelow&amp;nbsp;prng(j),&amp;nbsp;BaseNameWithoutExt(CStr(fullPath)) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;If &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Else &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Exit&amp;nbsp;For &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;If &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Next&amp;nbsp;j &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;If &lt;br /&gt;&lt;br /&gt;SafeExit: &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Application.ScreenUpdating&amp;nbsp;=&amp;nbsp;True &lt;br /&gt;End&amp;nbsp;Sub &lt;br /&gt;&lt;br /&gt;'&amp;nbsp;============================================ &lt;br /&gt;'&amp;nbsp;헬퍼:&amp;nbsp;병합셀에&amp;nbsp;그림&amp;nbsp;삽입&amp;nbsp;(크기&amp;nbsp;옵션&amp;nbsp;적용) &lt;br /&gt;'&amp;nbsp;============================================ &lt;br /&gt;Private&amp;nbsp;Sub&amp;nbsp;InsertImageIntoMerged(ByVal&amp;nbsp;tgt&amp;nbsp;As&amp;nbsp;Range,&amp;nbsp;ByVal&amp;nbsp;filePath&amp;nbsp;As&amp;nbsp;String,&amp;nbsp;ByVal&amp;nbsp;picSize&amp;nbsp;As&amp;nbsp;Long) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;shp&amp;nbsp;As&amp;nbsp;Shape &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;margin&amp;nbsp;As&amp;nbsp;Double &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;크기&amp;nbsp;옵션에&amp;nbsp;따른&amp;nbsp;여백&amp;nbsp;(필요시&amp;nbsp;가감) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;margin&amp;nbsp;=&amp;nbsp;2&amp;nbsp;*&amp;nbsp;picSize &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set&amp;nbsp;shp&amp;nbsp;=&amp;nbsp;ActiveSheet.Shapes.AddPicture(&amp;nbsp;_ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Filename:=filePath,&amp;nbsp;_ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;LinkToFile:=msoFalse,&amp;nbsp;_ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;SaveWithDocument:=msoTrue,&amp;nbsp;_ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Left:=tgt.Left&amp;nbsp;+&amp;nbsp;margin,&amp;nbsp;_ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Top:=tgt.Top&amp;nbsp;+&amp;nbsp;margin,&amp;nbsp;_ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Width:=Application.Max(4,&amp;nbsp;tgt.Width&amp;nbsp;-&amp;nbsp;(margin&amp;nbsp;*&amp;nbsp;2)),&amp;nbsp;_ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Height:=Application.Max(4,&amp;nbsp;tgt.Height&amp;nbsp;-&amp;nbsp;(margin&amp;nbsp;*&amp;nbsp;2))) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;With&amp;nbsp;shp &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.LockAspectRatio&amp;nbsp;=&amp;nbsp;msoFalse &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.Left&amp;nbsp;=&amp;nbsp;tgt.Left&amp;nbsp;+&amp;nbsp;margin &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.Top&amp;nbsp;=&amp;nbsp;tgt.Top&amp;nbsp;+&amp;nbsp;margin &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.Width&amp;nbsp;=&amp;nbsp;Application.Max(4,&amp;nbsp;tgt.Width&amp;nbsp;-&amp;nbsp;(margin&amp;nbsp;*&amp;nbsp;2)) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.Height&amp;nbsp;=&amp;nbsp;Application.Max(4,&amp;nbsp;tgt.Height&amp;nbsp;-&amp;nbsp;(margin&amp;nbsp;*&amp;nbsp;2)) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;With &lt;br /&gt;End&amp;nbsp;Sub &lt;br /&gt;&lt;br /&gt;'&amp;nbsp;============================================ &lt;br /&gt;'&amp;nbsp;***&amp;nbsp;추가&amp;nbsp;헬퍼:&amp;nbsp;범위가&amp;nbsp;&quot;값이&amp;nbsp;비었는지&quot;&amp;nbsp;체크&amp;nbsp;(CountA=0) &lt;br /&gt;'&amp;nbsp;&amp;nbsp;&amp;nbsp;-&amp;nbsp;공백/서식만&amp;nbsp;있는&amp;nbsp;경우도&amp;nbsp;비었다고&amp;nbsp;간주 &lt;br /&gt;'&amp;nbsp;============================================ &lt;br /&gt;Private&amp;nbsp;Function&amp;nbsp;IsRangeEmpty(ByVal&amp;nbsp;R&amp;nbsp;As&amp;nbsp;Range)&amp;nbsp;As&amp;nbsp;Boolean &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;On&amp;nbsp;Error&amp;nbsp;Resume&amp;nbsp;Next &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;IsRangeEmpty&amp;nbsp;=&amp;nbsp;(Application.WorksheetFunction.CountA(R)&amp;nbsp;=&amp;nbsp;0) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;On&amp;nbsp;Error&amp;nbsp;GoTo&amp;nbsp;0 &lt;br /&gt;End&amp;nbsp;Function &lt;br /&gt;&lt;br /&gt;'&amp;nbsp;============================================ &lt;br /&gt;'&amp;nbsp;***&amp;nbsp;추가&amp;nbsp;헬퍼:&amp;nbsp;범위&amp;nbsp;내에&amp;nbsp;&quot;그림(Shape)&quot;이&amp;nbsp;있는지&amp;nbsp;검사 &lt;br /&gt;'&amp;nbsp;&amp;nbsp;&amp;nbsp;-&amp;nbsp;msoPicture&amp;nbsp;/&amp;nbsp;msoLinkedPicture&amp;nbsp;타입을&amp;nbsp;바운딩&amp;nbsp;박스&amp;nbsp;겹침으로&amp;nbsp;판정 &lt;br /&gt;'&amp;nbsp;&amp;nbsp;&amp;nbsp;-&amp;nbsp;TopLeft/BottomRightCell이&amp;nbsp;애매한&amp;nbsp;경우도&amp;nbsp;대비해&amp;nbsp;좌표&amp;nbsp;겹침&amp;nbsp;검사 &lt;br /&gt;'&amp;nbsp;============================================ &lt;br /&gt;Private&amp;nbsp;Function&amp;nbsp;RangeHasImage(ByVal&amp;nbsp;tgt&amp;nbsp;As&amp;nbsp;Range)&amp;nbsp;As&amp;nbsp;Boolean &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;shp&amp;nbsp;As&amp;nbsp;Shape &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;L&amp;nbsp;As&amp;nbsp;Double,&amp;nbsp;T&amp;nbsp;As&amp;nbsp;Double,&amp;nbsp;R&amp;nbsp;As&amp;nbsp;Double,&amp;nbsp;B&amp;nbsp;As&amp;nbsp;Double &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;L&amp;nbsp;=&amp;nbsp;tgt.Left:&amp;nbsp;T&amp;nbsp;=&amp;nbsp;tgt.Top:&amp;nbsp;R&amp;nbsp;=&amp;nbsp;tgt.Left&amp;nbsp;+&amp;nbsp;tgt.Width:&amp;nbsp;B&amp;nbsp;=&amp;nbsp;tgt.Top&amp;nbsp;+&amp;nbsp;tgt.Height &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;For&amp;nbsp;Each&amp;nbsp;shp&amp;nbsp;In&amp;nbsp;ActiveSheet.Shapes &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;그림&amp;nbsp;계열만&amp;nbsp;체크(그룹&amp;nbsp;등은&amp;nbsp;제외) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;shp.Type&amp;nbsp;=&amp;nbsp;msoPicture&amp;nbsp;Or&amp;nbsp;shp.Type&amp;nbsp;=&amp;nbsp;msoLinkedPicture&amp;nbsp;Then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;사각형&amp;nbsp;바운딩&amp;nbsp;박스&amp;nbsp;겹침&amp;nbsp;여부 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;(shp.Left&amp;nbsp;&amp;lt;&amp;nbsp;R)&amp;nbsp;And&amp;nbsp;((shp.Left&amp;nbsp;+&amp;nbsp;shp.Width)&amp;nbsp;&amp;gt;&amp;nbsp;L)&amp;nbsp;And&amp;nbsp;_ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(shp.Top&amp;nbsp;&amp;lt;&amp;nbsp;B)&amp;nbsp;And&amp;nbsp;((shp.Top&amp;nbsp;+&amp;nbsp;shp.Height)&amp;nbsp;&amp;gt;&amp;nbsp;T)&amp;nbsp;Then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;RangeHasImage&amp;nbsp;=&amp;nbsp;True &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Exit&amp;nbsp;Function &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;If &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;If &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Next&amp;nbsp;shp &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;RangeHasImage&amp;nbsp;=&amp;nbsp;False &lt;br /&gt;End&amp;nbsp;Function &lt;br /&gt;&lt;br /&gt;'&amp;nbsp;============================================ &lt;br /&gt;'&amp;nbsp;헬퍼:&amp;nbsp;병합셀의&amp;nbsp;다음&amp;nbsp;행&amp;nbsp;첫&amp;nbsp;칸에&amp;nbsp;파일명(확장자&amp;nbsp;제외)&amp;nbsp;쓰기 &lt;br /&gt;'&amp;nbsp;&amp;nbsp;&amp;nbsp;예)&amp;nbsp;A3:F14&amp;nbsp;&amp;rarr;&amp;nbsp;A15 &lt;br /&gt;'&amp;nbsp;============================================ &lt;br /&gt;'Private&amp;nbsp;Sub&amp;nbsp;WriteFilenameBelow(ByVal&amp;nbsp;tgt&amp;nbsp;As&amp;nbsp;Range,&amp;nbsp;ByVal&amp;nbsp;baseName&amp;nbsp;As&amp;nbsp;String) &lt;br /&gt;'&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;belowCell&amp;nbsp;As&amp;nbsp;Range &lt;br /&gt;'&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set&amp;nbsp;belowCell&amp;nbsp;=&amp;nbsp;tgt.Cells(tgt.Rows.Count,&amp;nbsp;1).Offset(1,&amp;nbsp;0) &lt;br /&gt;'&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;belowCell.Value&amp;nbsp;=&amp;nbsp;baseName &lt;br /&gt;'End&amp;nbsp;Sub &lt;br /&gt;&lt;br /&gt;'&amp;nbsp;============================================ &lt;br /&gt;'&amp;nbsp;헬퍼:&amp;nbsp;폴더&amp;nbsp;선택 &lt;br /&gt;'&amp;nbsp;============================================ &lt;br /&gt;Private&amp;nbsp;Function&amp;nbsp;PickFolderPath(ByVal&amp;nbsp;prompt&amp;nbsp;As&amp;nbsp;String)&amp;nbsp;As&amp;nbsp;String &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;fd&amp;nbsp;As&amp;nbsp;FileDialog &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set&amp;nbsp;fd&amp;nbsp;=&amp;nbsp;Application.FileDialog(msoFileDialogFolderPicker) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;With&amp;nbsp;fd &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.Title&amp;nbsp;=&amp;nbsp;prompt &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.AllowMultiSelect&amp;nbsp;=&amp;nbsp;False &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;.Show&amp;nbsp;=&amp;nbsp;-1&amp;nbsp;Then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;PickFolderPath&amp;nbsp;=&amp;nbsp;.SelectedItems(1) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Else &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;PickFolderPath&amp;nbsp;=&amp;nbsp;vbNullString &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;If &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;With &lt;br /&gt;End&amp;nbsp;Function &lt;br /&gt;&lt;br /&gt;'&amp;nbsp;============================================ &lt;br /&gt;'&amp;nbsp;헬퍼:&amp;nbsp;폴더&amp;nbsp;내&amp;nbsp;이미지&amp;nbsp;파일&amp;nbsp;목록&amp;nbsp;수집 &lt;br /&gt;'&amp;nbsp;지원&amp;nbsp;확장자:&amp;nbsp;jpg,&amp;nbsp;jpeg,&amp;nbsp;png,&amp;nbsp;gif,&amp;nbsp;bmp,&amp;nbsp;tif,&amp;nbsp;tiff &lt;br /&gt;'&amp;nbsp;============================================ &lt;br /&gt;Private&amp;nbsp;Function&amp;nbsp;GetImageFiles(ByVal&amp;nbsp;folderPath&amp;nbsp;As&amp;nbsp;String,&amp;nbsp;ByRef&amp;nbsp;arr()&amp;nbsp;As&amp;nbsp;String)&amp;nbsp;As&amp;nbsp;Long &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;f&amp;nbsp;As&amp;nbsp;String,&amp;nbsp;n&amp;nbsp;As&amp;nbsp;Long,&amp;nbsp;ext&amp;nbsp;As&amp;nbsp;String &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;Right$(folderPath,&amp;nbsp;1)&amp;nbsp;&amp;lt;&amp;gt;&amp;nbsp;&quot;\&quot;&amp;nbsp;Then&amp;nbsp;folderPath&amp;nbsp;=&amp;nbsp;folderPath&amp;nbsp;&amp;amp;&amp;nbsp;&quot;\&quot; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;f&amp;nbsp;=&amp;nbsp;Dir(folderPath&amp;nbsp;&amp;amp;&amp;nbsp;&quot;*.*&quot;) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Do&amp;nbsp;While&amp;nbsp;Len(f)&amp;nbsp;&amp;gt;&amp;nbsp;0 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;InStrRev(f,&amp;nbsp;&quot;.&quot;)&amp;nbsp;&amp;gt;&amp;nbsp;0&amp;nbsp;Then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ext&amp;nbsp;=&amp;nbsp;LCase$(Mid$(f,&amp;nbsp;InStrRev(f,&amp;nbsp;&quot;.&quot;)&amp;nbsp;+&amp;nbsp;1)) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;ext&amp;nbsp;Like&amp;nbsp;&quot;jpg&quot;&amp;nbsp;Or&amp;nbsp;ext&amp;nbsp;Like&amp;nbsp;&quot;jpeg&quot;&amp;nbsp;Or&amp;nbsp;ext&amp;nbsp;Like&amp;nbsp;&quot;png&quot;&amp;nbsp;Or&amp;nbsp;_ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ext&amp;nbsp;Like&amp;nbsp;&quot;gif&quot;&amp;nbsp;Or&amp;nbsp;ext&amp;nbsp;Like&amp;nbsp;&quot;bmp&quot;&amp;nbsp;Or&amp;nbsp;ext&amp;nbsp;Like&amp;nbsp;&quot;tif&quot;&amp;nbsp;Or&amp;nbsp;ext&amp;nbsp;Like&amp;nbsp;&quot;tiff&quot;&amp;nbsp;Then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;n&amp;nbsp;=&amp;nbsp;n&amp;nbsp;+&amp;nbsp;1 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ReDim&amp;nbsp;Preserve&amp;nbsp;arr(1&amp;nbsp;To&amp;nbsp;n) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;arr(n)&amp;nbsp;=&amp;nbsp;folderPath&amp;nbsp;&amp;amp;&amp;nbsp;f &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;If &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;If &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;f&amp;nbsp;=&amp;nbsp;Dir() &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Loop &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;GetImageFiles&amp;nbsp;=&amp;nbsp;n &lt;br /&gt;End&amp;nbsp;Function &lt;br /&gt;&lt;br /&gt;'&amp;nbsp;============================================ &lt;br /&gt;'&amp;nbsp;헬퍼:&amp;nbsp;파일경로&amp;nbsp;&amp;rarr;&amp;nbsp;파일명(확장자&amp;nbsp;제외) &lt;br /&gt;'&amp;nbsp;============================================ &lt;br /&gt;Private&amp;nbsp;Function&amp;nbsp;BaseNameWithoutExt(ByVal&amp;nbsp;filePath&amp;nbsp;As&amp;nbsp;String)&amp;nbsp;As&amp;nbsp;String &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;nameWithExt&amp;nbsp;As&amp;nbsp;String,&amp;nbsp;p&amp;nbsp;As&amp;nbsp;Long &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;nameWithExt&amp;nbsp;=&amp;nbsp;Mid$(filePath,&amp;nbsp;InStrRev(filePath,&amp;nbsp;&quot;\&quot;)&amp;nbsp;+&amp;nbsp;1) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;p&amp;nbsp;=&amp;nbsp;InStrRev(nameWithExt,&amp;nbsp;&quot;.&quot;) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;p&amp;nbsp;&amp;gt;&amp;nbsp;0&amp;nbsp;Then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;BaseNameWithoutExt&amp;nbsp;=&amp;nbsp;Left$(nameWithExt,&amp;nbsp;p&amp;nbsp;-&amp;nbsp;1) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Else &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;BaseNameWithoutExt&amp;nbsp;=&amp;nbsp;nameWithExt &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;If &lt;br /&gt;End&amp;nbsp;Function &lt;br /&gt;&lt;br /&gt;'&amp;nbsp;============================================ &lt;br /&gt;'&amp;nbsp;헬퍼:&amp;nbsp;문자열&amp;nbsp;배열&amp;nbsp;퀵정렬&amp;nbsp;(오름차순) &lt;br /&gt;'&amp;nbsp;============================================ &lt;br /&gt;Private&amp;nbsp;Sub&amp;nbsp;QuickSortStrings(ByRef&amp;nbsp;A()&amp;nbsp;As&amp;nbsp;String,&amp;nbsp;ByVal&amp;nbsp;first&amp;nbsp;As&amp;nbsp;Long,&amp;nbsp;ByVal&amp;nbsp;last&amp;nbsp;As&amp;nbsp;Long) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;i&amp;nbsp;As&amp;nbsp;Long,&amp;nbsp;j&amp;nbsp;As&amp;nbsp;Long &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;pivot&amp;nbsp;As&amp;nbsp;String,&amp;nbsp;tmp&amp;nbsp;As&amp;nbsp;String &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;i&amp;nbsp;=&amp;nbsp;first:&amp;nbsp;j&amp;nbsp;=&amp;nbsp;last &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;pivot&amp;nbsp;=&amp;nbsp;A((first&amp;nbsp;+&amp;nbsp;last)&amp;nbsp;\&amp;nbsp;2) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Do&amp;nbsp;While&amp;nbsp;i&amp;nbsp;&amp;lt;=&amp;nbsp;j &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Do&amp;nbsp;While&amp;nbsp;A(i)&amp;nbsp;&amp;lt;&amp;nbsp;pivot:&amp;nbsp;i&amp;nbsp;=&amp;nbsp;i&amp;nbsp;+&amp;nbsp;1:&amp;nbsp;Loop &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Do&amp;nbsp;While&amp;nbsp;A(j)&amp;nbsp;&amp;gt;&amp;nbsp;pivot:&amp;nbsp;j&amp;nbsp;=&amp;nbsp;j&amp;nbsp;-&amp;nbsp;1:&amp;nbsp;Loop &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;i&amp;nbsp;&amp;lt;=&amp;nbsp;j&amp;nbsp;Then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;tmp&amp;nbsp;=&amp;nbsp;A(i):&amp;nbsp;A(i)&amp;nbsp;=&amp;nbsp;A(j):&amp;nbsp;A(j)&amp;nbsp;=&amp;nbsp;tmp &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;i&amp;nbsp;=&amp;nbsp;i&amp;nbsp;+&amp;nbsp;1:&amp;nbsp;j&amp;nbsp;=&amp;nbsp;j&amp;nbsp;-&amp;nbsp;1 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;If &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Loop &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;first&amp;nbsp;&amp;lt;&amp;nbsp;j&amp;nbsp;Then&amp;nbsp;QuickSortStrings&amp;nbsp;A,&amp;nbsp;first,&amp;nbsp;j &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;i&amp;nbsp;&amp;lt;&amp;nbsp;last&amp;nbsp;Then&amp;nbsp;QuickSortStrings&amp;nbsp;A,&amp;nbsp;i,&amp;nbsp;last &lt;br /&gt;End&amp;nbsp;Sub &lt;br /&gt;&lt;br /&gt;'&amp;nbsp;============================================ &lt;br /&gt;'&amp;nbsp;(선택)&amp;nbsp;바로&amp;nbsp;실행&amp;nbsp;가능한&amp;nbsp;단축&amp;nbsp;루틴 &lt;br /&gt;'&amp;nbsp;============================================ &lt;br /&gt;Public&amp;nbsp;Sub&amp;nbsp;Picture_Auto_From_Folder() &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;PictureFill_MergedCells_Wizard &lt;br /&gt;End&amp;nbsp;Sub &lt;br /&gt;&lt;br /&gt;Public&amp;nbsp;Sub&amp;nbsp;Picture_Manual_File_By_File() &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;PictureFill_MergedCells_Wizard &lt;br /&gt;End&amp;nbsp;Sub &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;  실제 활용 사례&lt;/h2&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;  상품 카탈로그 제작&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;상품명이 적힌 병합셀에 제품 이미지 자동 삽입&lt;/li&gt;
&lt;li&gt;폴더에 제품사진들을 넣어두고 한 번에 처리&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;  직원 명부 업데이트&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;직원 정보가 들어간 병합셀에 프로필 사진 추가&lt;/li&gt;
&lt;li&gt;신입사원 사진도 빠르게 일괄 적용&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;  부동산 매물 리스트&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;매물 정보와 함께 현장 사진들을 효율적으로 배치&lt;/li&gt;
&lt;li&gt;수십 개 매물도 몇 분 만에 완성&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&amp;nbsp;&lt;/h2&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;  Pro Tips &amp;amp; 주의사항&lt;/h2&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;✅ 이렇게 하면 더 좋아요!&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;이미지 파일명을 순서대로&lt;/b&gt; 정리해두세요 (001_상품A.jpg, 002_상품B.jpg)&lt;/li&gt;
&lt;li&gt;&lt;b&gt;폴더 하나에 해당 프로젝트 이미지만&lt;/b&gt; 넣어두세요&lt;/li&gt;
&lt;li&gt;&lt;b&gt;병합셀 크기를 미리 적절히&lt;/b&gt; 조정해두세요&lt;/li&gt;
&lt;li&gt;&amp;nbsp;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;⚠️ 이것만은 주의하세요!&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;매크로 보안 설정이 차단되어 있다면 해제 필요&lt;/li&gt;
&lt;li&gt;이미지 파일이 너무 크면 엑셀이 느려질 수 있음&lt;/li&gt;
&lt;li&gt;작업 전 &lt;b&gt;백업본을 꼭 만들어두세요&lt;/b&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;  다른 업무에도 응용 가능!&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 VBA는 단순히 상품 카탈로그만을 위한 것이 아닙니다!&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;  &lt;b&gt;회계/재무 보고서&lt;/b&gt;의 차트 이미지 자동 삽입&lt;/li&gt;
&lt;li&gt;  &lt;b&gt;마케팅 자료&lt;/b&gt;의 캠페인 이미지 일괄 처리&lt;/li&gt;
&lt;li&gt;  &lt;b&gt;교육 자료&lt;/b&gt;의 설명 이미지 자동 배치&lt;/li&gt;
&lt;li&gt;  &lt;b&gt;의료 차트&lt;/b&gt;의 환자 사진/X-ray 이미지 관리&lt;/li&gt;
&lt;li&gt; ️ &lt;b&gt;건설/제조업&lt;/b&gt;의 현장 사진 정리&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;당신만의 업무 스타일에 맞게 얼마든지 커스터마이징 가능합니다!&lt;/b&gt;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;  마무리하며...&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;하루 종일 걸리던 이미지 삽입 작업이 이제 &lt;b&gt;단 몇 분&lt;/b&gt;으로 단축됩니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;더 이상 반복 작업에 시간을 낭비하지 마세요. &lt;b&gt;생산성 향상의 첫걸음은 바로 자동화&lt;/b&gt;입니다!&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;fileblock&quot; data-ke-align=&quot;alignCenter&quot;&gt;&lt;a href=&quot;https://blog.kakaocdn.net/dn/bbH0Cp/dJMb9bWNapR/aNA4exdlntVt5dYs60YqCK/%EB%B3%91%ED%95%A9%EC%85%80_%ED%8F%B4%EB%8D%94%EB%82%B4%20%EC%82%AC%EC%A7%84%20%EC%9E%90%EB%8F%99%EC%82%BD%EC%9E%85_ver1.1.xlsm?attach=1&amp;amp;knm=tfile.xlsm&quot; class=&quot;&quot;&gt;
    &lt;div class=&quot;image&quot;&gt;&lt;/div&gt;
    &lt;div class=&quot;desc&quot;&gt;&lt;div class=&quot;filename&quot;&gt;&lt;span class=&quot;name&quot;&gt;병합셀_폴더내 사진 자동삽입_ver1.1.xlsm&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;size&quot;&gt;0.05MB&lt;/div&gt;
&lt;/div&gt;
  &lt;/a&gt;&lt;/figure&gt;
&lt;/p&gt;</description>
      <category>Picture</category>
      <category>#엑셀VBA #엑셀자동화 #병합셀이미지삽입 #업무효율화</category>
      <author>노만e</author>
      <guid isPermaLink="true">https://dream2049.tistory.com/168</guid>
      <comments>https://dream2049.tistory.com/168#entry168comment</comments>
      <pubDate>Mon, 18 Aug 2025 20:33:57 +0900</pubDate>
    </item>
    <item>
      <title>연차 촉진 사용 계획서 PDF 대량 출력 자동화 &amp;ndash; 클릭 한 번으로 수천 명 완성!_메일머지</title>
      <link>https://dream2049.tistory.com/164</link>
      <description>&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;711&quot; data-origin-height=&quot;765&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/8zWkS/btsPLmzEVQi/tAdwYkJNT8w2heklkjBwh1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/8zWkS/btsPLmzEVQi/tAdwYkJNT8w2heklkjBwh1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/8zWkS/btsPLmzEVQi/tAdwYkJNT8w2heklkjBwh1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F8zWkS%2FbtsPLmzEVQi%2FtAdwYkJNT8w2heklkjBwh1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;546&quot; height=&quot;587&quot; data-origin-width=&quot;711&quot; data-origin-height=&quot;765&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-end=&quot;267&quot; data-start=&quot;166&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-end=&quot;267&quot; data-start=&quot;166&quot; data-ke-size=&quot;size16&quot;&gt;회사에서 직원별 &lt;b&gt;연차계획서&lt;/b&gt;를 작성하고, 이를 &lt;b&gt;PDF 파일로 개별 저장&lt;/b&gt;해야 하는 상황이라면 &amp;hellip; ㅠ.ㅠ;;&lt;br /&gt;직원이 5명만 돼도 귀찮은데, 3,000명이 넘으면 하루 종일 걸릴 수도 있죠.&lt;/p&gt;
&lt;p data-end=&quot;403&quot; data-start=&quot;269&quot; data-ke-size=&quot;size16&quot;&gt;오늘은 &lt;b&gt;엑셀 VBA&lt;/b&gt;를 이용해, 클릭 한 번으로 &lt;b&gt;연차계획서 PDF를 대량으로 자동 저장&lt;/b&gt;하는 방법을 소개합니다.&lt;br /&gt;이 매크로는 사원 정보 시트를 읽고, 각 직원의 정보로 인쇄 양식을 채운 뒤, PDF 파일로 각각 저장해 줍니다.&lt;/p&gt;
&lt;p data-end=&quot;403&quot; data-start=&quot;269&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-end=&quot;420&quot; data-start=&quot;410&quot; data-ke-size=&quot;size26&quot;&gt;✨ 기능 개요&lt;/h2&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;535&quot; data-start=&quot;421&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;456&quot; data-start=&quot;421&quot;&gt;&lt;b&gt;사원정보 시트&lt;/b&gt;에 저장된 직원 데이터를 한 줄씩 읽어서&lt;/li&gt;
&lt;li data-end=&quot;488&quot; data-start=&quot;457&quot;&gt;&lt;b&gt;연차사용촉진서식 시트&lt;/b&gt;의 지정된 셀에 자동 입력&lt;/li&gt;
&lt;li data-end=&quot;509&quot; data-start=&quot;489&quot;&gt;파일명에 쓸 수 없는 문자를 제거&lt;/li&gt;
&lt;li data-end=&quot;535&quot; data-start=&quot;510&quot;&gt;선택한 폴더에 &lt;b&gt;직원별 PDF&lt;/b&gt;로 저장&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 data-end=&quot;557&quot; data-start=&quot;542&quot; data-ke-size=&quot;size26&quot;&gt;  VBA 코드 설명&lt;/h2&gt;
&lt;h3 data-end=&quot;586&quot; data-start=&quot;559&quot; data-ke-size=&quot;size23&quot;&gt;1. 파일명에 쓸 수 없는 문자 제거 함수&lt;/h3&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 100%;&quot;&gt;Private&amp;nbsp;Function&amp;nbsp;CleanFileName(ByVal&amp;nbsp;s&amp;nbsp;As&amp;nbsp;String)&amp;nbsp;As&amp;nbsp;String &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;badChars&amp;nbsp;As&amp;nbsp;Variant,&amp;nbsp;i&amp;nbsp;As&amp;nbsp;Long &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;badChars&amp;nbsp;=&amp;nbsp;Array(&quot;\&quot;,&amp;nbsp;&quot;/&quot;,&amp;nbsp;&quot;:&quot;,&amp;nbsp;&quot;*&quot;,&amp;nbsp;&quot;?&quot;,&amp;nbsp;&quot;&quot;&quot;&quot;,&amp;nbsp;&quot;&amp;lt;&quot;,&amp;nbsp;&quot;&amp;gt;&quot;,&amp;nbsp;&quot;|&quot;) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;CleanFileName&amp;nbsp;=&amp;nbsp;s &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;For&amp;nbsp;i&amp;nbsp;=&amp;nbsp;LBound(badChars)&amp;nbsp;To&amp;nbsp;UBound(badChars) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;CleanFileName&amp;nbsp;=&amp;nbsp;Replace(CleanFileName,&amp;nbsp;badChars(i),&amp;nbsp;&quot;&amp;nbsp;&quot;) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Next&amp;nbsp;i &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;CleanFileName&amp;nbsp;=&amp;nbsp;Trim(CleanFileName) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;Len(CleanFileName)&amp;nbsp;=&amp;nbsp;0&amp;nbsp;Then&amp;nbsp;CleanFileName&amp;nbsp;=&amp;nbsp;&quot;Unnamed&quot; &lt;br /&gt;End&amp;nbsp;Function&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;  &lt;b&gt;왜 필요할까요?&lt;/b&gt;&lt;br /&gt;Windows 파일명에는 \, /, :, *, ?, &quot;, &amp;lt;, &amp;gt;, | 같은 문자를 쓸 수 없습니다.&lt;br /&gt;이 함수는 그런 문자들을 자동으로 제거해서 저장 오류를 방지합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;2. PDF 대량 저장 메인 코드&lt;/h3&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 100%;&quot;&gt;Public&amp;nbsp;Sub&amp;nbsp;연차계획서_PDF_대량출력() &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;wsData&amp;nbsp;As&amp;nbsp;Worksheet,&amp;nbsp;wsForm&amp;nbsp;As&amp;nbsp;Worksheet &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;lastRow&amp;nbsp;As&amp;nbsp;Long,&amp;nbsp;r&amp;nbsp;As&amp;nbsp;Long &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;dept&amp;nbsp;As&amp;nbsp;String,&amp;nbsp;emp&amp;nbsp;As&amp;nbsp;String,&amp;nbsp;title&amp;nbsp;As&amp;nbsp;String &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;occDate&amp;nbsp;As&amp;nbsp;Variant,&amp;nbsp;period&amp;nbsp;As&amp;nbsp;String &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;aDays&amp;nbsp;As&amp;nbsp;Variant,&amp;nbsp;bDays&amp;nbsp;As&amp;nbsp;Variant,&amp;nbsp;remainDays&amp;nbsp;As&amp;nbsp;Variant &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;savePath&amp;nbsp;As&amp;nbsp;String,&amp;nbsp;fName&amp;nbsp;As&amp;nbsp;String &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;fd&amp;nbsp;As&amp;nbsp;FileDialog&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1638&quot; data-start=&quot;1529&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1559&quot; data-start=&quot;1529&quot;&gt;wsData : 사원 목록 시트 (사원정보)&lt;/li&gt;
&lt;li data-end=&quot;1595&quot; data-start=&quot;1560&quot;&gt;wsForm : 인쇄용 서식 시트 (연차사용촉진서식)&lt;/li&gt;
&lt;li data-end=&quot;1638&quot; data-start=&quot;1596&quot;&gt;반복문(For r = 2 To lastRow)으로 각 직원 정보 읽기&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;3. 저장 폴더 선택&lt;/h3&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 100%;&quot;&gt;Set&amp;nbsp;fd&amp;nbsp;=&amp;nbsp;Application.FileDialog(msoFileDialogFolderPicker) &lt;br /&gt;With&amp;nbsp;fd &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.title&amp;nbsp;=&amp;nbsp;&quot;PDF를&amp;nbsp;저장할&amp;nbsp;폴더를&amp;nbsp;선택하세요&quot; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;.Show&amp;nbsp;&amp;lt;&amp;gt;&amp;nbsp;-1&amp;nbsp;Then&amp;nbsp;Exit&amp;nbsp;Sub &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;savePath&amp;nbsp;=&amp;nbsp;.SelectedItems(1) &lt;br /&gt;End&amp;nbsp;With&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1891&quot; data-start=&quot;1848&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1891&quot; data-start=&quot;1848&quot;&gt;매크로 실행 시, 사용자가 &lt;b&gt;저장할 폴더를 직접 선택&lt;/b&gt;할 수 있습니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;4. 서식 채우기&lt;/h3&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 100%;&quot;&gt;With&amp;nbsp;wsForm &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.Range(&quot;D4&quot;).Value&amp;nbsp;=&amp;nbsp;dept &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.Range(&quot;M4&quot;).Value&amp;nbsp;=&amp;nbsp;emp &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.Range(&quot;U4&quot;).Value&amp;nbsp;=&amp;nbsp;title &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.Range(&quot;B8&quot;).Value&amp;nbsp;=&amp;nbsp;occDate &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.Range(&quot;I8&quot;).Value&amp;nbsp;=&amp;nbsp;period &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.Range(&quot;P8&quot;).Value&amp;nbsp;=&amp;nbsp;aDays &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.Range(&quot;S8&quot;).Value&amp;nbsp;=&amp;nbsp;bDays &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.Range(&quot;V8&quot;).Value&amp;nbsp;=&amp;nbsp;remainDays &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.Range(&quot;B11&quot;).Value&amp;nbsp;=&amp;nbsp;&quot;2025년&amp;nbsp;&amp;nbsp;6월&amp;nbsp;&amp;nbsp;30일까지&quot; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.Range(&quot;B31&quot;).Value&amp;nbsp;=&amp;nbsp;&quot;2025년&amp;nbsp;&amp;nbsp;6월&amp;nbsp;&amp;nbsp;15일&quot; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.Range(&quot;B34&quot;).Value&amp;nbsp;=&amp;nbsp;&quot;통보서&amp;nbsp;수령확인&amp;nbsp;:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&quot;&amp;nbsp;&amp;amp;&amp;nbsp;emp&amp;nbsp;&amp;amp;&amp;nbsp;&quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;(인)&quot; &lt;br /&gt;End&amp;nbsp;With&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;2404&quot; data-start=&quot;2357&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;2377&quot; data-start=&quot;2357&quot;&gt;각 셀에 해당 직원의 정보를 채움&lt;/li&gt;
&lt;li data-end=&quot;2404&quot; data-start=&quot;2378&quot;&gt;&lt;b&gt;날짜나 문구&lt;/b&gt;는 고정값으로도 지정 가능&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-end=&quot;2424&quot; data-start=&quot;2411&quot; data-ke-size=&quot;size23&quot;&gt;5. PDF 저장&lt;/h3&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%; height: 138px;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr style=&quot;height: 138px;&quot;&gt;
&lt;td style=&quot;width: 100%; height: 138px;&quot;&gt;fName&amp;nbsp;=&amp;nbsp;savePath&amp;nbsp;&amp;amp;&amp;nbsp;&quot;\&quot;&amp;nbsp;&amp;amp;&amp;nbsp;CleanFileName(CStr(emp))&amp;nbsp;&amp;amp;&amp;nbsp;&quot;.pdf&quot; &lt;br /&gt;wsForm.ExportAsFixedFormat&amp;nbsp;_ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Type:=xlTypePDF,&amp;nbsp;_ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Filename:=fName,&amp;nbsp;_ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Quality:=xlQualityStandard,&amp;nbsp;_ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;IncludeDocProperties:=True,&amp;nbsp;_ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;IgnorePrintAreas:=False,&amp;nbsp;_ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;OpenAfterPublish:=False&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;2778&quot; data-start=&quot;2697&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;2742&quot; data-start=&quot;2697&quot;&gt;직원 이름을 파일명으로 사용 (CleanFileName 함수로 안전 처리)&lt;/li&gt;
&lt;li data-end=&quot;2778&quot; data-start=&quot;2743&quot;&gt;ExportAsFixedFormat 메서드로 PDF 저장&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 data-end=&quot;2803&quot; data-start=&quot;2785&quot; data-ke-size=&quot;size26&quot;&gt;  자주 하는 실수 &amp;amp; 팁&lt;/h2&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-end=&quot;3033&quot; data-start=&quot;2804&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li data-end=&quot;2874&quot; data-start=&quot;2804&quot;&gt;&lt;b&gt;시트 이름 불일치&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;2874&quot; data-start=&quot;2826&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;2874&quot; data-start=&quot;2826&quot;&gt;&quot;사원정보&quot;, &quot;연차사용촉진서식&quot; 시트 이름은 본인 파일에 맞게 변경하세요.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li data-end=&quot;2953&quot; data-start=&quot;2875&quot;&gt;&lt;b&gt;셀 주소 다름&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;2953&quot; data-start=&quot;2895&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;2953&quot; data-start=&quot;2895&quot;&gt;D4, M4 등 입력되는 셀 주소가 서식 파일 구조와 다르면 데이터가 엉뚱한 곳에 들어갑니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li data-end=&quot;3033&quot; data-start=&quot;2954&quot;&gt;&lt;b&gt;날짜 서식&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;3033&quot; data-start=&quot;2972&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;3033&quot; data-start=&quot;2972&quot;&gt;날짜는 엑셀에서 날짜 형식으로 저장되어 있어야 합니다. 텍스트로 되어 있으면 서식이 깨질 수 있습니다&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;hr data-end=&quot;3038&quot; data-start=&quot;3035&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h2 data-end=&quot;3049&quot; data-start=&quot;3040&quot; data-ke-size=&quot;size26&quot;&gt;  마무리&lt;/h2&gt;
&lt;p data-end=&quot;3141&quot; data-start=&quot;3050&quot; data-ke-size=&quot;size16&quot;&gt;이 매크로를 활용하면, 매달 수십 명의 연차계획서를 5&lt;b&gt;분 안에 PDF로 완성&lt;/b&gt;할 수 있습니다.&lt;br /&gt;반복 작업을 줄여 시간을 절약하고, 오류 가능성도 줄여주죠.&lt;/p&gt;
&lt;p data-end=&quot;3141&quot; data-start=&quot;3050&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;fileblock&quot; data-ke-align=&quot;alignCenter&quot;&gt;&lt;a href=&quot;https://blog.kakaocdn.net/dn/bY1WdZ/dJMb8Y4dut4/wfUSBSKrbOpMIRpaeHrkp1/%EC%97%B0%EC%B0%A8%20%EC%B4%89%EC%A7%84%20%EC%82%AC%EC%9A%A9%20%EA%B3%84%ED%9A%8D%EC%84%9C.xlsm?attach=1&amp;amp;knm=tfile.xlsm&quot; class=&quot;&quot;&gt;
    &lt;div class=&quot;image&quot;&gt;&lt;/div&gt;
    &lt;div class=&quot;desc&quot;&gt;&lt;div class=&quot;filename&quot;&gt;&lt;span class=&quot;name&quot;&gt;연차 촉진 사용 계획서.xlsm&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;size&quot;&gt;0.03MB&lt;/div&gt;
&lt;/div&gt;
  &lt;/a&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>DATA</category>
      <category>#엑셀VBA #엑셀자동화 #PDF대량저장 #연차계획서 #사원정보관리 #엑셀매크로 #ExportAsFixedFormat #엑셀서식자동화 #사무자동화 #반복작업제거</category>
      <author>노만e</author>
      <guid isPermaLink="true">https://dream2049.tistory.com/164</guid>
      <comments>https://dream2049.tistory.com/164#entry164comment</comments>
      <pubDate>Fri, 15 Aug 2025 18:45:56 +0900</pubDate>
    </item>
    <item>
      <title>시트 범위를 이미지(PNG/JPG 등) 파일로 저장하기</title>
      <link>https://dream2049.tistory.com/163</link>
      <description>&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;706&quot; data-origin-height=&quot;283&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cMUMps/btsPLeO39zn/tLpeI3ZRfbrjKzlzinDBK1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cMUMps/btsPLeO39zn/tLpeI3ZRfbrjKzlzinDBK1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cMUMps/btsPLeO39zn/tLpeI3ZRfbrjKzlzinDBK1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcMUMps%2FbtsPLeO39zn%2FtLpeI3ZRfbrjKzlzinDBK1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;609&quot; height=&quot;283&quot; data-origin-width=&quot;706&quot; data-origin-height=&quot;283&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;안녕하세요! 오늘은 엑셀에서 &lt;b&gt;특정 범위를 선택해서 바로 그림 파일로 저장&lt;/b&gt;하는 VBA 매크로를 만들어 보겠습니다.&lt;br /&gt;보고서 작성, 이미지 자료 공유, 보고용 캡처 등에 아주 유용하게 쓸 수 있는 방법이에요.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-end=&quot;328&quot; data-start=&quot;317&quot; data-ke-size=&quot;size26&quot;&gt;1. 기능 소개&lt;/h2&gt;
&lt;p data-end=&quot;351&quot; data-start=&quot;329&quot; data-ke-size=&quot;size16&quot;&gt;이번에 만들 매크로는 이렇게 동작합니다.&lt;/p&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-end=&quot;450&quot; data-start=&quot;352&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li data-end=&quot;378&quot; data-start=&quot;352&quot;&gt;마우스로 저장하고 싶은 범위를 선택합니다.&lt;/li&gt;
&lt;li data-end=&quot;403&quot; data-start=&quot;379&quot;&gt;저장할 파일 이름과 형식을 지정합니다.&lt;/li&gt;
&lt;li data-end=&quot;450&quot; data-start=&quot;404&quot;&gt;선택한 범위를 이미지 파일(PNG/JPG/GIF/BMP/TIF)로 저장합니다.&lt;/li&gt;
&lt;/ol&gt;
&lt;p data-end=&quot;459&quot; data-start=&quot;452&quot; data-ke-size=&quot;size16&quot;&gt;  장점&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;540&quot; data-start=&quot;460&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;483&quot; data-start=&quot;460&quot;&gt;해상도 손상 없이 원본 크기로 저장&lt;/li&gt;
&lt;li data-end=&quot;522&quot; data-start=&quot;484&quot;&gt;범위 지정만 하면 시트 전체가 아니라 필요한 부분만 저장 가능&lt;/li&gt;
&lt;li data-end=&quot;540&quot; data-start=&quot;523&quot;&gt;다양한 이미지 포맷 지원&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-end=&quot;545&quot; data-start=&quot;542&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h2 data-end=&quot;559&quot; data-start=&quot;547&quot; data-ke-size=&quot;size26&quot;&gt;2. VBA 코드&lt;/h2&gt;
&lt;p data-end=&quot;599&quot; data-start=&quot;561&quot; data-ke-size=&quot;size16&quot;&gt;아래 코드를 **표준 모듈(Module)**에 붙여 넣으시면 됩니다.&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 100%;&quot;&gt;Option&amp;nbsp;Explicit &lt;br /&gt;&lt;br /&gt;Public&amp;nbsp;Sub&amp;nbsp;SaveSelectedRangeAsImage() &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;rng&amp;nbsp;As&amp;nbsp;Range &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;ws&amp;nbsp;As&amp;nbsp;Worksheet &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;savePath&amp;nbsp;As&amp;nbsp;Variant &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;ext&amp;nbsp;As&amp;nbsp;String,&amp;nbsp;filterName&amp;nbsp;As&amp;nbsp;String &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;co&amp;nbsp;As&amp;nbsp;ChartObject &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;oldScrUp&amp;nbsp;As&amp;nbsp;Boolean &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;범위&amp;nbsp;선택 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;On&amp;nbsp;Error&amp;nbsp;Resume&amp;nbsp;Next &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set&amp;nbsp;rng&amp;nbsp;=&amp;nbsp;Application.InputBox(Prompt:=&quot;이미지로&amp;nbsp;저장할&amp;nbsp;범위를&amp;nbsp;마우스로&amp;nbsp;선택하세요.&quot;,&amp;nbsp;Type:=8) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;On&amp;nbsp;Error&amp;nbsp;GoTo&amp;nbsp;0 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;rng&amp;nbsp;Is&amp;nbsp;Nothing&amp;nbsp;Then&amp;nbsp;Exit&amp;nbsp;Sub &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set&amp;nbsp;ws&amp;nbsp;=&amp;nbsp;rng.Worksheet &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;저장&amp;nbsp;파일명/형식&amp;nbsp;선택 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;savePath&amp;nbsp;=&amp;nbsp;Application.GetSaveAsFilename(&amp;nbsp;_ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;InitialFileName:=ThisWorkbook.Path&amp;nbsp;&amp;amp;&amp;nbsp;&quot;\&quot;&amp;nbsp;&amp;amp;&amp;nbsp;ws.Name&amp;nbsp;&amp;amp;&amp;nbsp;&quot;_&quot;&amp;nbsp;&amp;amp;&amp;nbsp;Format(Now,&amp;nbsp;&quot;yyyymmdd_hhnnss&quot;)&amp;nbsp;&amp;amp;&amp;nbsp;&quot;.png&quot;,&amp;nbsp;_ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;FileFilter:=&quot;PNG&amp;nbsp;파일&amp;nbsp;(*.png),&amp;nbsp;*.png,&amp;nbsp;JPG&amp;nbsp;파일&amp;nbsp;(*.jpg;*.jpeg),&amp;nbsp;*.jpg;*.jpeg,&amp;nbsp;GIF&amp;nbsp;파일&amp;nbsp;(*.gif),&amp;nbsp;*.gif,&amp;nbsp;BMP&amp;nbsp;파일&amp;nbsp;(*.bmp),&amp;nbsp;*.bmp,&amp;nbsp;TIF&amp;nbsp;파일&amp;nbsp;(*.tif;*.tiff),&amp;nbsp;*.tif;*.tiff&quot;) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;savePath&amp;nbsp;=&amp;nbsp;False&amp;nbsp;Then&amp;nbsp;Exit&amp;nbsp;Sub &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ext&amp;nbsp;=&amp;nbsp;LCase$(Mid$(CStr(savePath),&amp;nbsp;InStrRev(CStr(savePath),&amp;nbsp;&quot;.&quot;)&amp;nbsp;+&amp;nbsp;1)) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Select&amp;nbsp;Case&amp;nbsp;ext &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Case&amp;nbsp;&quot;png&quot;:&amp;nbsp;filterName&amp;nbsp;=&amp;nbsp;&quot;PNG&quot; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Case&amp;nbsp;&quot;jpg&quot;,&amp;nbsp;&quot;jpeg&quot;:&amp;nbsp;filterName&amp;nbsp;=&amp;nbsp;&quot;JPG&quot; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Case&amp;nbsp;&quot;gif&quot;:&amp;nbsp;filterName&amp;nbsp;=&amp;nbsp;&quot;GIF&quot; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Case&amp;nbsp;&quot;bmp&quot;:&amp;nbsp;filterName&amp;nbsp;=&amp;nbsp;&quot;BMP&quot; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Case&amp;nbsp;&quot;tif&quot;,&amp;nbsp;&quot;tiff&quot;:&amp;nbsp;filterName&amp;nbsp;=&amp;nbsp;&quot;TIF&quot; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Case&amp;nbsp;Else &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;MsgBox&amp;nbsp;&quot;지원하지&amp;nbsp;않는&amp;nbsp;확장자입니다.&amp;nbsp;PNG/JPG/GIF/BMP/TIF&amp;nbsp;중에서&amp;nbsp;선택하세요.&quot;,&amp;nbsp;vbExclamation &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Exit&amp;nbsp;Sub &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;Select &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;oldScrUp&amp;nbsp;=&amp;nbsp;Application.ScreenUpdating &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Application.ScreenUpdating&amp;nbsp;=&amp;nbsp;False &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Application.CutCopyMode&amp;nbsp;=&amp;nbsp;False &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;범위를&amp;nbsp;그림으로&amp;nbsp;복사 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;rng.CopyPicture&amp;nbsp;Appearance:=xlScreen,&amp;nbsp;Format:=xlPicture &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;임시&amp;nbsp;차트에&amp;nbsp;붙여넣고&amp;nbsp;저장 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set&amp;nbsp;co&amp;nbsp;=&amp;nbsp;ws.ChartObjects.Add(Left:=rng.Left,&amp;nbsp;Top:=rng.Top,&amp;nbsp;Width:=rng.Width,&amp;nbsp;Height:=rng.Height) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;With&amp;nbsp;co &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.Activate &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.Chart.Paste &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.Chart.Export&amp;nbsp;Filename:=CStr(savePath),&amp;nbsp;FilterName:=filterName &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.Delete &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;With &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Application.CutCopyMode&amp;nbsp;=&amp;nbsp;False &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Application.ScreenUpdating&amp;nbsp;=&amp;nbsp;oldScrUp &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;MsgBox&amp;nbsp;&quot;저장&amp;nbsp;완료!&amp;nbsp;&quot;&amp;nbsp;&amp;amp;&amp;nbsp;CStr(savePath),&amp;nbsp;vbInformation &lt;br /&gt;End&amp;nbsp;Sub &lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-end=&quot;2529&quot; data-start=&quot;2518&quot; data-ke-size=&quot;size26&quot;&gt;3. 코드 해설&lt;/h2&gt;
&lt;h3 data-end=&quot;2545&quot; data-start=&quot;2531&quot; data-ke-size=&quot;size23&quot;&gt;3-1. 범위 선택&lt;/h3&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%; height: 17px;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;
&lt;td style=&quot;width: 100%; height: 17px;&quot;&gt;Set rng = Application.InputBox(Prompt:=&quot;이미지로 저장할 범위를 마우스로 선택하세요.&quot;, Type:=8)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;2698&quot; data-start=&quot;2633&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;2675&quot; data-start=&quot;2633&quot;&gt;&lt;b&gt;Type:=8&lt;/b&gt; &amp;rarr; 범위를 직접 마우스로 선택할 수 있도록 지정&lt;/li&gt;
&lt;li data-end=&quot;2698&quot; data-start=&quot;2676&quot;&gt;선택을 취소하면 매크로가 종료됩니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-end=&quot;2703&quot; data-start=&quot;2700&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-end=&quot;2725&quot; data-start=&quot;2705&quot; data-ke-size=&quot;size23&quot;&gt;3-2. 파일 저장 형식 선택&lt;/h3&gt;
&lt;div&gt;
&lt;div&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 100%;&quot;&gt;savePath&amp;nbsp;=&amp;nbsp;Application.GetSaveAsFilename(&amp;nbsp;...&amp;nbsp;) &lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;2864&quot; data-start=&quot;2785&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;2825&quot; data-start=&quot;2785&quot;&gt;PNG, JPG, GIF, BMP, TIF 총 5가지 형식을 지원&lt;/li&gt;
&lt;li data-end=&quot;2864&quot; data-start=&quot;2826&quot;&gt;초기 파일명은 &quot;시트이름_날짜시간.png&quot; 형식으로 자동 지정&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-end=&quot;2869&quot; data-start=&quot;2866&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-end=&quot;2891&quot; data-start=&quot;2871&quot; data-ke-size=&quot;size23&quot;&gt;3-3. 범위를 이미지로 변환&lt;/h3&gt;
&lt;div&gt;
&lt;div&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 100%;&quot;&gt;rng.CopyPicture&amp;nbsp;Appearance:=xlScreen,&amp;nbsp;Format:=xlPicture &lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;3057&quot; data-start=&quot;2959&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;2993&quot; data-start=&quot;2959&quot;&gt;Excel의 범위를 클립보드에 &lt;b&gt;그림 형태로 복사&lt;/b&gt;&lt;/li&gt;
&lt;li data-end=&quot;3057&quot; data-start=&quot;2994&quot;&gt;Format:=xlBitmap 으로 변경하면 비트맵 방식으로 복사 가능 (일부 환경에서 선명도 차이 발생)&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-end=&quot;3062&quot; data-start=&quot;3059&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-end=&quot;3092&quot; data-start=&quot;3064&quot; data-ke-size=&quot;size23&quot;&gt;3-4. 임시 차트 객체에 붙여넣기 후 저장&lt;/h3&gt;
&lt;div&gt;
&lt;div&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 100%;&quot;&gt;Set&amp;nbsp;co&amp;nbsp;=&amp;nbsp;ws.ChartObjects.Add(Left:=rng.Left,&amp;nbsp;Top:=rng.Top,&amp;nbsp;Width:=rng.Width,&amp;nbsp;Height:=rng.Height) &lt;br /&gt;.Chart.Paste &lt;br /&gt;.Chart.Export&amp;nbsp;Filename:=CStr(savePath),&amp;nbsp;FilterName:=filterName &lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;3368&quot; data-start=&quot;3277&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;3339&quot; data-start=&quot;3277&quot;&gt;차트 객체(ChartObject)는 &lt;b&gt;이미지로 내보내기 기능&lt;/b&gt;을 지원하기 때문에, 여기에 붙여서 저장&lt;/li&gt;
&lt;li data-end=&quot;3368&quot; data-start=&quot;3340&quot;&gt;저장 후 임시 차트는 .Delete 로 제거&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-end=&quot;3373&quot; data-start=&quot;3370&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h2 data-end=&quot;3386&quot; data-start=&quot;3375&quot; data-ke-size=&quot;size26&quot;&gt;4. 실행 방법&lt;/h2&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-end=&quot;3538&quot; data-start=&quot;3388&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li data-end=&quot;3417&quot; data-start=&quot;3388&quot;&gt;&lt;b&gt;Alt + F11&lt;/b&gt; &amp;rarr; VBA 편집기 실행&lt;/li&gt;
&lt;li data-end=&quot;3435&quot; data-start=&quot;3418&quot;&gt;&lt;b&gt;삽입 &amp;rarr; 모듈&lt;/b&gt; 클릭&lt;/li&gt;
&lt;li data-end=&quot;3448&quot; data-start=&quot;3436&quot;&gt;위 코드 붙여넣기&lt;/li&gt;
&lt;li data-end=&quot;3505&quot; data-start=&quot;3449&quot;&gt;엑셀로 돌아가서 &lt;b&gt;Alt + F8&lt;/b&gt; &amp;rarr; SaveSelectedRangeAsImage 실행&lt;/li&gt;
&lt;li data-end=&quot;3538&quot; data-start=&quot;3506&quot;&gt;범위 선택 &amp;rarr; 저장 형식 선택 &amp;rarr; 이미지파일 생성 완료!&lt;/li&gt;
&lt;/ol&gt;
&lt;hr data-end=&quot;3543&quot; data-start=&quot;3540&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h2 data-end=&quot;3555&quot; data-start=&quot;3545&quot; data-ke-size=&quot;size26&quot;&gt;5. 활용 팁&lt;/h2&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;3769&quot; data-start=&quot;3557&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;3617&quot; data-start=&quot;3557&quot;&gt;&lt;b&gt;보고서 캡처 자동화&lt;/b&gt;&lt;br /&gt;매일/매주 반복되는 보고 자료를 일정 범위만 자동 저장하면 시간 절약!&lt;/li&gt;
&lt;li data-end=&quot;3689&quot; data-start=&quot;3621&quot;&gt;&lt;b&gt;고해상도 저장&lt;/b&gt;&lt;br /&gt;저장 전에 **줌(Zoom) 120~160%**로 확대 후 저장하면 더 선명하게 나옵니다.&lt;/li&gt;
&lt;li data-end=&quot;3769&quot; data-start=&quot;3693&quot;&gt;&lt;b&gt;자동 범위 지정&lt;/b&gt;&lt;br /&gt;Set rng = ws.Range(&quot;A1:H30&quot;)처럼 범위를 고정하면 클릭 없이 바로 저장됩니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-end=&quot;3774&quot; data-start=&quot;3771&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h2 data-end=&quot;3785&quot; data-start=&quot;3776&quot; data-ke-size=&quot;size26&quot;&gt;6. 마무리&lt;/h2&gt;
&lt;p data-end=&quot;3912&quot; data-start=&quot;3786&quot; data-ke-size=&quot;size16&quot;&gt;이 매크로는 &lt;b&gt;범위 &amp;rarr; 이미지 변환 &amp;rarr; 파일 저장&lt;/b&gt; 과정을 완전히 자동화해 줍니다.&lt;br /&gt;특히 보고서 작성이나 블로그&amp;middot;프레젠테이션에 넣을 때 특히 유용하게 쓸 수 있으니,&lt;/p&gt;
&lt;p data-end=&quot;3912&quot; data-start=&quot;3786&quot; data-ke-size=&quot;size16&quot;&gt;한번 만들어 두시면 두고두고 편하게 사용하실 수 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;fileblock&quot; data-ke-align=&quot;alignCenter&quot;&gt;&lt;a href=&quot;https://blog.kakaocdn.net/dn/cELVoz/dJMb9jtKLFy/rKzSOQrCbjAL1vyRXHCfXk/%EB%B2%94%EC%9C%84%EB%A5%BC%20%EA%B7%B8%EB%A6%BC%20%ED%8C%8C%EC%9D%BC%EB%A1%9C%20%EC%A0%80%EC%9E%A5.xlsm?attach=1&amp;amp;knm=tfile.xlsm&quot; class=&quot;&quot;&gt;
    &lt;div class=&quot;image&quot;&gt;&lt;/div&gt;
    &lt;div class=&quot;desc&quot;&gt;&lt;div class=&quot;filename&quot;&gt;&lt;span class=&quot;name&quot;&gt;범위를 그림 파일로 저장.xlsm&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;size&quot;&gt;0.17MB&lt;/div&gt;
&lt;/div&gt;
  &lt;/a&gt;&lt;/figure&gt;
&lt;/p&gt;</description>
      <category>Picture</category>
      <category>#엑셀VBA #엑셀매크로 #ExcelVBA #Excel매크로 #엑셀범위이미지저장 #엑셀그림저장 #엑셀PNG저장 #엑셀JPG저장 #엑셀자동화 #엑셀보고서 #엑셀팁 #엑셀강좌 #업무자동화 #오피스자동화 #보고서자동화 #VBA강좌 #VBA코드 #엑셀프로그래밍</category>
      <author>노만e</author>
      <guid isPermaLink="true">https://dream2049.tistory.com/163</guid>
      <comments>https://dream2049.tistory.com/163#entry163comment</comments>
      <pubDate>Tue, 12 Aug 2025 17:20:49 +0900</pubDate>
    </item>
    <item>
      <title>엑셀 마우스 클릭만으로 수천장 사진 대지 완성! VBA 자동화 풀세팅</title>
      <link>https://dream2049.tistory.com/167</link>
      <description>&lt;h1 data-end=&quot;217&quot; data-start=&quot;167&quot;&gt;  엑셀에서 &amp;lsquo;사진 자동 배치&amp;rsquo; 완전 자동화! (1장&amp;middot;2장&amp;middot;4장&amp;middot;6장 레이아웃 지원)&lt;/h1&gt;
&lt;h2 data-end=&quot;242&quot; data-start=&quot;219&quot; data-ke-size=&quot;size26&quot;&gt;  이 글은 이런 분께 추천드려요!&lt;/h2&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;392&quot; data-start=&quot;243&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;278&quot; data-start=&quot;243&quot;&gt;여러 장의 사진을 &lt;b&gt;한 번에 깔끔하게 배치&lt;/b&gt;하고 싶은 분&lt;/li&gt;
&lt;li data-end=&quot;318&quot; data-start=&quot;279&quot;&gt;병합 셀에 맞춰서 사진이 &lt;b&gt;자동으로 사이즈 조절&lt;/b&gt;되길 원하는 분&lt;/li&gt;
&lt;li data-end=&quot;358&quot; data-start=&quot;319&quot;&gt;1장, 2장, 4장, 6장 &lt;b&gt;템플릿별로 쉽게 변경&lt;/b&gt;하고 싶은 분&lt;/li&gt;
&lt;li data-end=&quot;392&quot; data-start=&quot;359&quot;&gt;사진 크기를 &lt;b&gt;한 번에 크게/작게 조정&lt;/b&gt;하고 싶은 분&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-end=&quot;397&quot; data-start=&quot;394&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h2 data-end=&quot;413&quot; data-start=&quot;399&quot; data-ke-size=&quot;size26&quot;&gt;1.   기능 개요&lt;/h2&gt;
&lt;p data-end=&quot;464&quot; data-start=&quot;414&quot; data-ke-size=&quot;size16&quot;&gt;이 매크로는 &lt;b&gt;엑셀 시트 템플릿&lt;/b&gt;에 맞춰서 사진을 자동 배치해 주는 프로그램입니다.&lt;/p&gt;
&lt;p data-end=&quot;622&quot; data-start=&quot;466&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;기능 하이라이트&lt;/b&gt;&lt;br /&gt;✅ 메인 화면에서 버튼 클릭 &amp;rarr; 레이아웃 선택&lt;br /&gt;✅ 사진 개수만 입력 &amp;rarr; 자동 페이지 생성&lt;br /&gt;✅ 폴더 선택 &amp;rarr; 이미지 자동 삽입&lt;br /&gt;✅ 병합 셀 크기에 딱 맞춰서 사이즈 조절&lt;br /&gt;✅ 사진 크기 옵션(딱 맞게 / 조금 작게 / 더 작게) 선택 가능&lt;/p&gt;
&lt;hr data-end=&quot;627&quot; data-start=&quot;624&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h2 data-end=&quot;648&quot; data-start=&quot;629&quot; data-ke-size=&quot;size26&quot;&gt;2.   구성 및 시트 설명&lt;/h2&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;851&quot; data-start=&quot;649&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;699&quot; data-start=&quot;649&quot;&gt;&lt;b&gt;Main 시트&lt;/b&gt; : 시작 화면, 원하는 레이아웃(1장/2장/4장/6장)을 선택&lt;/li&gt;
&lt;li data-end=&quot;851&quot; data-start=&quot;700&quot;&gt;&lt;b&gt;p_1, p_2, p_4, p_6 시트&lt;/b&gt; : 각 레이아웃별 템플릿
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;851&quot; data-start=&quot;746&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;770&quot; data-start=&quot;746&quot;&gt;p_1 : 한 페이지에 사진 1장&lt;/li&gt;
&lt;li data-end=&quot;797&quot; data-start=&quot;773&quot;&gt;p_2 : 한 페이지에 사진 2장&lt;/li&gt;
&lt;li data-end=&quot;824&quot; data-start=&quot;800&quot;&gt;p_4 : 한 페이지에 사진 4장&lt;/li&gt;
&lt;li data-end=&quot;851&quot; data-start=&quot;827&quot;&gt;p_6 : 한 페이지에 사진 6장&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-end=&quot;856&quot; data-start=&quot;853&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h2 data-end=&quot;872&quot; data-start=&quot;858&quot; data-ke-size=&quot;size26&quot;&gt;3.   사용 방법&lt;/h2&gt;
&lt;h3 data-end=&quot;886&quot; data-start=&quot;874&quot; data-ke-size=&quot;size23&quot;&gt;① 매크로 실행&lt;/h3&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-end=&quot;955&quot; data-start=&quot;887&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li data-end=&quot;920&quot; data-start=&quot;887&quot;&gt;파일을 열면 &lt;b&gt;Main 시트&lt;/b&gt;가 자동으로 열립니다.&lt;/li&gt;
&lt;li data-end=&quot;955&quot; data-start=&quot;921&quot;&gt;원하는 레이아웃 버튼(예: 사진 4장)을 클릭합니다.&lt;/li&gt;
&lt;/ol&gt;
&lt;hr data-end=&quot;960&quot; data-start=&quot;957&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-end=&quot;976&quot; data-start=&quot;962&quot; data-ke-size=&quot;size23&quot;&gt;② 사진 개수 입력&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1048&quot; data-start=&quot;977&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1007&quot; data-start=&quot;977&quot;&gt;&amp;ldquo;사진 &amp;lsquo;수량&amp;rsquo;을 입력하세요&amp;rdquo; 팝업창이 뜹니다.&lt;/li&gt;
&lt;li data-end=&quot;1048&quot; data-start=&quot;1008&quot;&gt;예) 50 입력 시, 필요한 페이지만큼 템플릿이 자동 복제됩니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-end=&quot;1053&quot; data-start=&quot;1050&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-end=&quot;1072&quot; data-start=&quot;1055&quot; data-ke-size=&quot;size23&quot;&gt;③ 사진 크기 옵션 선택&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1152&quot; data-start=&quot;1073&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1152&quot; data-start=&quot;1073&quot;&gt;&amp;ldquo;사진 크기 옵션&amp;rdquo; 창이 뜹니다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1152&quot; data-start=&quot;1098&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1117&quot; data-start=&quot;1098&quot;&gt;1 : 병합셀에 딱 맞게&lt;/li&gt;
&lt;li data-end=&quot;1135&quot; data-start=&quot;1120&quot;&gt;2 : 약간 작게&lt;/li&gt;
&lt;li data-end=&quot;1152&quot; data-start=&quot;1138&quot;&gt;3 : 더 작게&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-end=&quot;1157&quot; data-start=&quot;1154&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-end=&quot;1173&quot; data-start=&quot;1159&quot; data-ke-size=&quot;size23&quot;&gt;④ 사진 폴더 선택&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1239&quot; data-start=&quot;1174&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1195&quot; data-start=&quot;1174&quot;&gt;사진이 들어있는 폴더를 선택합니다.&lt;/li&gt;
&lt;li data-end=&quot;1239&quot; data-start=&quot;1196&quot;&gt;지원 형식: &lt;b&gt;JPG, JPEG, PNG, BMP, GIF, WEBP&lt;/b&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-end=&quot;1244&quot; data-start=&quot;1241&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-end=&quot;1260&quot; data-start=&quot;1246&quot; data-ke-size=&quot;size23&quot;&gt;⑤ 자동 배치 완료&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1328&quot; data-start=&quot;1261&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1287&quot; data-start=&quot;1261&quot;&gt;선택한 병합셀에 사진이 순서대로 들어갑니다.&lt;/li&gt;
&lt;li data-end=&quot;1328&quot; data-start=&quot;1288&quot;&gt;개수 초과 시, &lt;b&gt;사진&amp;middot;셀&amp;middot;파일 수 중 최소값&lt;/b&gt;만큼만 삽입됩니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-end=&quot;1333&quot; data-start=&quot;1330&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h2 data-end=&quot;1349&quot; data-start=&quot;1335&quot; data-ke-size=&quot;size26&quot;&gt;4.   추가 기능&lt;/h2&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1538&quot; data-start=&quot;1350&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1392&quot; data-start=&quot;1350&quot;&gt;&lt;b&gt;기존 사진 삭제&lt;/b&gt; : 새로 배치 전, 기존 사진을 모두 제거합니다.&lt;/li&gt;
&lt;li data-end=&quot;1454&quot; data-start=&quot;1393&quot;&gt;&lt;b&gt;병합셀 자동 인식&lt;/b&gt; : 셀 이름(PIC1..PIC6) 또는 [PIC] 표기 시, 자동 인식합니다.&lt;/li&gt;
&lt;li data-end=&quot;1495&quot; data-start=&quot;1455&quot;&gt;&lt;b&gt;페이지 경계선 표시&lt;/b&gt; : 각 페이지 경계에 회색 선 표시 가능.&lt;/li&gt;
&lt;li data-end=&quot;1538&quot; data-start=&quot;1496&quot;&gt;&lt;b&gt;사진 여백 조절&lt;/b&gt; : 큰 사진부터 시작해 여백을 줄이며 최적 배치.&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-end=&quot;1543&quot; data-start=&quot;1540&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h2 data-end=&quot;1564&quot; data-start=&quot;1545&quot; data-ke-size=&quot;size26&quot;&gt;5.   설치 &amp;amp; 실행 방법&lt;/h2&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-end=&quot;1660&quot; data-start=&quot;1565&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li data-end=&quot;1576&quot; data-start=&quot;1565&quot;&gt;엑셀 파일 열기&lt;/li&gt;
&lt;li data-end=&quot;1615&quot; data-start=&quot;1577&quot;&gt;Alt + F11 &amp;rarr; VBA 편집기에서 모듈에 코드 붙여넣기&lt;/li&gt;
&lt;li data-end=&quot;1636&quot; data-start=&quot;1616&quot;&gt;저장 후 매크로 보안 설정 확인&lt;/li&gt;
&lt;li data-end=&quot;1660&quot; data-start=&quot;1637&quot;&gt;Main 시트에서 버튼 클릭 후 실행&lt;/li&gt;
&lt;/ol&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;fileblock&quot; data-ke-align=&quot;alignCenter&quot;&gt;&lt;a href=&quot;https://blog.kakaocdn.net/dn/dazFcD/dJMb9LDM6BT/oKeKy8FNWGzDjGOiqPTb01/%EC%82%AC%EC%A7%84%EB%8C%80%EC%A7%80_%EC%9B%90%ED%81%B4%EB%A6%AD.xlsm?attach=1&amp;amp;knm=tfile.xlsm&quot; class=&quot;&quot;&gt;
    &lt;div class=&quot;image&quot;&gt;&lt;/div&gt;
    &lt;div class=&quot;desc&quot;&gt;&lt;div class=&quot;filename&quot;&gt;&lt;span class=&quot;name&quot;&gt;사진대지_원클릭.xlsm&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;size&quot;&gt;0.58MB&lt;/div&gt;
&lt;/div&gt;
  &lt;/a&gt;&lt;/figure&gt;
&lt;/p&gt;</description>
      <category>Picture</category>
      <category>#엑셀 #VBA #매크로 #자동화 #사진대지 #이미지일괄삽입 #이름범위 #비율유지 #페이지복제 #런타임오류5 #업무자동화 #실무코드 #엑셀팁</category>
      <author>노만e</author>
      <guid isPermaLink="true">https://dream2049.tistory.com/167</guid>
      <comments>https://dream2049.tistory.com/167#entry167comment</comments>
      <pubDate>Mon, 11 Aug 2025 23:44:56 +0900</pubDate>
    </item>
    <item>
      <title>엑셀 VBA 파일명/폴더명 가져와 일괄 변경</title>
      <link>https://dream2049.tistory.com/166</link>
      <description>&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;621&quot; data-origin-height=&quot;494&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bDNgUI/btsPMmsFxDf/OJ7TAU2j91TnpSFHAwctMk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bDNgUI/btsPMmsFxDf/OJ7TAU2j91TnpSFHAwctMk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bDNgUI/btsPMmsFxDf/OJ7TAU2j91TnpSFHAwctMk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbDNgUI%2FbtsPMmsFxDf%2FOJ7TAU2j91TnpSFHAwctMk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;458&quot; height=&quot;494&quot; data-origin-width=&quot;621&quot; data-origin-height=&quot;494&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;엑셀로&amp;nbsp;파일명&amp;middot;폴더명&amp;nbsp;일괄&amp;nbsp;변경?&amp;nbsp;백업&amp;middot;되돌리기까지&amp;nbsp;한&amp;nbsp;번에&amp;nbsp;끝내는&amp;nbsp;VBA&amp;nbsp;꿀팁!&lt;/p&gt;
&lt;p data-end=&quot;393&quot; data-start=&quot;296&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-end=&quot;393&quot; data-start=&quot;296&quot; data-ke-size=&quot;size16&quot;&gt;업무를 하다보면 여러 개의 파일명을 하나하나 변경할 때가 있습니다.&amp;nbsp;정말 귀찮죠?&lt;br /&gt;특히 업무 폴더에 수십, 수백 개의 문서가 있으면, &lt;b&gt;손이 아니라 인내심이 먼저 나가버립니다&lt;/b&gt;  &lt;/p&gt;
&lt;p data-end=&quot;418&quot; data-start=&quot;395&quot; data-ke-size=&quot;size16&quot;&gt;그래서 오늘은 &lt;b&gt;엑셀 VBA&lt;/b&gt;로 빠르고 정확하게 변경하는 법을 소개 합니다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;496&quot; data-start=&quot;419&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;446&quot; data-start=&quot;419&quot;&gt;폴더 안의 모든 파일/폴더 목록을 불러오고&lt;/li&gt;
&lt;li data-end=&quot;465&quot; data-start=&quot;447&quot;&gt;새 이름으로 일괄 변경하고&lt;/li&gt;
&lt;li data-end=&quot;496&quot; data-start=&quot;466&quot;&gt;잘못 바꿨을 땐 &lt;b&gt;백업/되돌리기&lt;/b&gt;까지 가능한&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-end=&quot;541&quot; data-start=&quot;498&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&quot;파일명&amp;middot;폴더명 일괄 변경 자동화 툴&quot;&lt;/b&gt; 사용 방법을 알려드립니다.&lt;/p&gt;
&lt;hr data-end=&quot;546&quot; data-start=&quot;543&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-end=&quot;570&quot; data-start=&quot;548&quot; data-ke-size=&quot;size23&quot;&gt;  이 VBA로 할 수 있는 일&lt;/h3&gt;
&lt;p data-end=&quot;610&quot; data-start=&quot;571&quot; data-ke-size=&quot;size16&quot;&gt;이 매크로 파일 하나면 아래 기능을 버튼 클릭으로 실행할 수 있습니다.&lt;/p&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-end=&quot;755&quot; data-start=&quot;612&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li data-end=&quot;635&quot; data-start=&quot;612&quot;&gt;&lt;b&gt;폴더 내 일부 파일만 불러오기&lt;/b&gt;&lt;/li&gt;
&lt;li data-end=&quot;658&quot; data-start=&quot;636&quot;&gt;&lt;b&gt;폴더 내 모든 파일 불러오기&lt;/b&gt;&lt;/li&gt;
&lt;li data-end=&quot;684&quot; data-start=&quot;659&quot;&gt;&lt;b&gt;폴더 내 모든 폴더 목록 불러오기&lt;/b&gt;&lt;/li&gt;
&lt;li data-end=&quot;711&quot; data-start=&quot;685&quot;&gt;&lt;b&gt;하위 폴더 포함 모든 파일 불러오기&lt;/b&gt;&lt;/li&gt;
&lt;li data-end=&quot;731&quot; data-start=&quot;712&quot;&gt;&lt;b&gt;파일/폴더명 일괄 변경&lt;/b&gt;&lt;/li&gt;
&lt;li data-end=&quot;755&quot; data-start=&quot;732&quot;&gt;&lt;b&gt;백업 &amp;amp; 되돌리기&lt;/b&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;hr data-end=&quot;760&quot; data-start=&quot;757&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-end=&quot;780&quot; data-start=&quot;762&quot; data-ke-size=&quot;size23&quot;&gt;  VBA 실행화면 구성&lt;/h3&gt;
&lt;p data-end=&quot;835&quot; data-start=&quot;781&quot; data-ke-size=&quot;size16&quot;&gt;&quot;사진을 클릭해 주세요&quot; 문구가 있는 사진을 클릭시,&lt;/p&gt;
&lt;p data-end=&quot;835&quot; data-start=&quot;781&quot; data-ke-size=&quot;size16&quot;&gt;매크로 실행 되며, &quot;파일변환&quot; 시트가 자동 생성되고&lt;br /&gt;우측 상단에 기능 버튼들이 깔끔하게 배치됩니다.&lt;/p&gt;
&lt;p data-end=&quot;835&quot; data-start=&quot;781&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-end=&quot;846&quot; data-start=&quot;837&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;버튼 목록&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;925&quot; data-start=&quot;847&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;859&quot; data-start=&quot;847&quot;&gt;폴더내 일부파일&lt;/li&gt;
&lt;li data-end=&quot;873&quot; data-start=&quot;860&quot;&gt;파일/폴더명 변경&lt;/li&gt;
&lt;li data-end=&quot;886&quot; data-start=&quot;874&quot;&gt;폴더내 모든파일&lt;/li&gt;
&lt;li data-end=&quot;899&quot; data-start=&quot;887&quot;&gt;폴더내 모든폴더&lt;/li&gt;
&lt;li data-end=&quot;913&quot; data-start=&quot;900&quot;&gt;하위폴더 모든파일&lt;/li&gt;
&lt;li data-end=&quot;925&quot; data-start=&quot;914&quot;&gt;백업/되돌리기&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-end=&quot;1151&quot; data-start=&quot;1140&quot; data-ke-size=&quot;size23&quot;&gt;⚙ 사용 방법&lt;/h3&gt;
&lt;h4 data-end=&quot;1178&quot; data-start=&quot;1152&quot; data-ke-size=&quot;size20&quot;&gt;1. 폴더 내 파일/폴더 목록 불러오기&lt;/h4&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&quot;폴더내 일부파일&quot; 버튼 &amp;rarr; 원하는 파일만 선택 가능&lt;/li&gt;
&lt;li data-end=&quot;1253&quot; data-start=&quot;1222&quot;&gt;&quot;폴더내 모든파일&quot; 버튼 &amp;rarr; 해당 폴더의 모든 파일명과 확장자 자동 입력&lt;/li&gt;
&lt;li data-end=&quot;1280&quot; data-start=&quot;1254&quot;&gt;&quot;폴더내 모든폴더&quot; 버튼 &amp;rarr; 폴더명만 목록화&lt;/li&gt;
&lt;li data-end=&quot;1315&quot; data-start=&quot;1281&quot;&gt;&quot;하위폴더 모든파일&quot; 버튼 &amp;rarr; 하위폴더 포함 전부 불러오기&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 data-end=&quot;1335&quot; data-start=&quot;1317&quot; data-ke-size=&quot;size20&quot;&gt;2. 파일명/폴더명 변경&lt;/h4&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1403&quot; data-start=&quot;1336&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1371&quot; data-start=&quot;1336&quot;&gt;변경후 열(C, D)에 바꾸고 싶은 이름과 확장자를 입력&lt;/li&gt;
&lt;li data-end=&quot;1403&quot; data-start=&quot;1372&quot;&gt;&quot;파일/폴더명 변경&quot; 버튼 클릭 &amp;rarr; 즉시 변경 완료!&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 data-end=&quot;1422&quot; data-start=&quot;1405&quot; data-ke-size=&quot;size20&quot;&gt;3. 백업 &amp;amp; 되돌리기&lt;/h4&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1551&quot; data-start=&quot;1423&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1456&quot; data-start=&quot;1423&quot;&gt;변경 전 &quot;백업/되돌리기&quot; 버튼 클릭 &amp;rarr; 현재 목록 백업&lt;/li&gt;
&lt;li data-end=&quot;1551&quot; data-start=&quot;1457&quot;&gt;실수했을 땐 &quot;백업/되돌리기&quot; &amp;rarr; &lt;b&gt;아니오&lt;/b&gt; 선택 시 교차복원
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1551&quot; data-start=&quot;1498&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1526&quot; data-start=&quot;1498&quot;&gt;기존 이름과 새 이름이 서로 자리를 바꿔 복원됨&lt;/li&gt;
&lt;li data-end=&quot;1551&quot; data-start=&quot;1529&quot;&gt;원본 상태로 안전하게 되돌릴 수 있음&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-end=&quot;1556&quot; data-start=&quot;1553&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-end=&quot;1574&quot; data-start=&quot;1558&quot; data-ke-size=&quot;size23&quot;&gt;  안전하게 쓰는 팁&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1664&quot; data-start=&quot;1575&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1607&quot; data-start=&quot;1575&quot;&gt;처음에는 &lt;b&gt;복사본 폴더&lt;/b&gt;에서 테스트 후 사용하세요.&lt;/li&gt;
&lt;li data-end=&quot;1642&quot; data-start=&quot;1608&quot;&gt;확장자가 바뀌면 파일이 열리지 않을 수 있으니 주의하세요.&lt;/li&gt;
&lt;li data-end=&quot;1664&quot; data-start=&quot;1643&quot;&gt;되돌리기 전에 백업을 꼭 해두세요.&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-end=&quot;1669&quot; data-start=&quot;1666&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-end=&quot;1689&quot; data-start=&quot;1671&quot; data-ke-size=&quot;size23&quot;&gt;  매크로 파일 다운로드&lt;/h3&gt;
&lt;p&gt;&lt;figure class=&quot;fileblock&quot; data-ke-align=&quot;alignCenter&quot;&gt;&lt;a href=&quot;https://blog.kakaocdn.net/dn/chxedQ/dJMb9j1AONA/tai1QjKHtmOlW5zYA2ehI0/%ED%8C%8C%EC%9D%BC%EB%AA%85%20%EC%9D%BC%EA%B4%84%EB%B3%80%EA%B2%BD.xlsm?attach=1&amp;amp;knm=tfile.xlsm&quot; class=&quot;&quot;&gt;
    &lt;div class=&quot;image&quot;&gt;&lt;/div&gt;
    &lt;div class=&quot;desc&quot;&gt;&lt;div class=&quot;filename&quot;&gt;&lt;span class=&quot;name&quot;&gt;파일명 일괄변경.xlsm&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;size&quot;&gt;0.74MB&lt;/div&gt;
&lt;/div&gt;
  &lt;/a&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;hr data-end=&quot;1727&quot; data-start=&quot;1724&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-end=&quot;1738&quot; data-start=&quot;1729&quot; data-ke-size=&quot;size23&quot;&gt;&amp;nbsp;&lt;/h3&gt;
&lt;h3 data-end=&quot;1738&quot; data-start=&quot;1729&quot; data-ke-size=&quot;size23&quot;&gt;✅ 마무리&lt;/h3&gt;
&lt;p data-end=&quot;1811&quot; data-start=&quot;1739&quot; data-ke-size=&quot;size16&quot;&gt;이 VBA 툴 하나면 파일명 변경 스트레스에서 완전히 해방될 수 있습니다.&lt;br /&gt;백업&amp;middot;되돌리기까지 지원하니 안심하고 사용하세요.&lt;/p&gt;
&lt;p data-end=&quot;1862&quot; data-start=&quot;1813&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>File</category>
      <category>#엑셀VBA #파일명일괄변경 #폴더명변경 #백업되돌리기 #엑셀자동화 #VBA강좌 #엑셀매크로 #업무자동화 #오빠두엑셀스타일 #엑셀팁 #엑셀파일관리</category>
      <author>노만e</author>
      <guid isPermaLink="true">https://dream2049.tistory.com/166</guid>
      <comments>https://dream2049.tistory.com/166#entry166comment</comments>
      <pubDate>Sun, 10 Aug 2025 15:38:09 +0900</pubDate>
    </item>
    <item>
      <title>폴더 속 파일에서 원하는 시트만 자동 통합</title>
      <link>https://dream2049.tistory.com/162</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;폴더내 여러 개의 엑셀 파일에서 &lt;b&gt;딱 한 시트&lt;/b&gt;만 골라서 가져와야 할 때,&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;매번 열어서 복사&amp;middot;붙여넣기 하셨나요?&lt;br /&gt;이번 글에서는 &lt;b&gt;시트 이름을 입력하면 폴더 속 모든 파일에서 해당 시트만 찾아 자동으로 통합&lt;/b&gt;하는 VBA 코드를 공유합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-end=&quot;121&quot; data-start=&quot;110&quot; data-ke-size=&quot;size26&quot;&gt;  기능 요약&lt;/h2&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;310&quot; data-start=&quot;122&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;152&quot; data-start=&quot;122&quot;&gt;매크로 실행 시 &lt;b&gt;시트 이름 입력 창&lt;/b&gt; 표시&lt;/li&gt;
&lt;li data-end=&quot;201&quot; data-start=&quot;153&quot;&gt;선택한 폴더 내 모든 엑셀 파일(.xlsx/.xlsm/.xlsb/.csv) 순회&lt;/li&gt;
&lt;li data-end=&quot;239&quot; data-start=&quot;202&quot;&gt;각 파일에서 &lt;b&gt;입력한 시트 이름과 일치하는 시트&lt;/b&gt;만 병합&lt;/li&gt;
&lt;li data-end=&quot;277&quot; data-start=&quot;240&quot;&gt;헤더는 첫 번째 파일/시트에서만 포함, 이후는 데이터만 추가&lt;/li&gt;
&lt;li data-end=&quot;310&quot; data-start=&quot;278&quot;&gt;없는 시트가 있는 경우 건너뛰고 결과 메시지에 표시&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;  VBA 코드&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 100%;&quot;&gt;Option&amp;nbsp;Explicit &lt;br /&gt;&lt;br /&gt;Public&amp;nbsp;Sub&amp;nbsp;CombineSpecificSheetFromFiles() &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;On&amp;nbsp;Error&amp;nbsp;GoTo&amp;nbsp;EH &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;targetSheetName&amp;nbsp;As&amp;nbsp;String &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;fldr&amp;nbsp;As&amp;nbsp;FileDialog &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;fol&amp;nbsp;As&amp;nbsp;String &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;fName&amp;nbsp;As&amp;nbsp;String &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;wbSrc&amp;nbsp;As&amp;nbsp;Workbook &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;ws&amp;nbsp;As&amp;nbsp;Worksheet &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;master&amp;nbsp;As&amp;nbsp;Worksheet &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;firstWrite&amp;nbsp;As&amp;nbsp;Boolean &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;nextRow&amp;nbsp;As&amp;nbsp;Long &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;dataRng&amp;nbsp;As&amp;nbsp;Range,&amp;nbsp;copyRng&amp;nbsp;As&amp;nbsp;Range &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;hdrCols&amp;nbsp;As&amp;nbsp;Long &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;skippedFiles&amp;nbsp;As&amp;nbsp;String &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'시트&amp;nbsp;이름&amp;nbsp;입력&amp;nbsp;받기 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;targetSheetName&amp;nbsp;=&amp;nbsp;InputBox(&quot;가져올&amp;nbsp;시트&amp;nbsp;이름을&amp;nbsp;입력하세요.&quot;,&amp;nbsp;&quot;시트&amp;nbsp;선택&quot;) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;Trim(targetSheetName)&amp;nbsp;=&amp;nbsp;&quot;&quot;&amp;nbsp;Then&amp;nbsp;Exit&amp;nbsp;Sub &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'폴더&amp;nbsp;선택 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set&amp;nbsp;fldr&amp;nbsp;=&amp;nbsp;Application.FileDialog(msoFileDialogFolderPicker) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;With&amp;nbsp;fldr &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.Title&amp;nbsp;=&amp;nbsp;&quot;데이터를&amp;nbsp;가져올&amp;nbsp;파일이&amp;nbsp;있는&amp;nbsp;폴더&amp;nbsp;선택&quot; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;.Show&amp;nbsp;&amp;lt;&amp;gt;&amp;nbsp;-1&amp;nbsp;Then&amp;nbsp;GoTo&amp;nbsp;CleanExit &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;fol&amp;nbsp;=&amp;nbsp;.SelectedItems(1) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;With &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'마스터&amp;nbsp;시트&amp;nbsp;준비 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set&amp;nbsp;master&amp;nbsp;=&amp;nbsp;GetOrCreateSheet(&quot;Master&quot;) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;master.Cells.Clear &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;firstWrite&amp;nbsp;=&amp;nbsp;True &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'환경&amp;nbsp;최적화 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Application.ScreenUpdating&amp;nbsp;=&amp;nbsp;False &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Application.EnableEvents&amp;nbsp;=&amp;nbsp;False &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Application.Calculation&amp;nbsp;=&amp;nbsp;xlCalculationManual &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'폴더&amp;nbsp;내&amp;nbsp;파일&amp;nbsp;순회 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;fName&amp;nbsp;=&amp;nbsp;Dir(fol&amp;nbsp;&amp;amp;&amp;nbsp;&quot;\*.*&quot;) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Do&amp;nbsp;While&amp;nbsp;Len(fName)&amp;nbsp;&amp;gt;&amp;nbsp;0 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;IsTargetFile(fName)&amp;nbsp;Then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set&amp;nbsp;wbSrc&amp;nbsp;=&amp;nbsp;Workbooks.Open(Filename:=fol&amp;nbsp;&amp;amp;&amp;nbsp;&quot;\&quot;&amp;nbsp;&amp;amp;&amp;nbsp;fName,&amp;nbsp;ReadOnly:=True) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;On&amp;nbsp;Error&amp;nbsp;Resume&amp;nbsp;Next &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set&amp;nbsp;ws&amp;nbsp;=&amp;nbsp;wbSrc.Sheets(targetSheetName) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;On&amp;nbsp;Error&amp;nbsp;GoTo&amp;nbsp;0 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;Not&amp;nbsp;ws&amp;nbsp;Is&amp;nbsp;Nothing&amp;nbsp;Then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set&amp;nbsp;dataRng&amp;nbsp;=&amp;nbsp;GetDataRange(ws) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;Not&amp;nbsp;dataRng&amp;nbsp;Is&amp;nbsp;Nothing&amp;nbsp;Then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;firstWrite&amp;nbsp;Then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;hdrCols&amp;nbsp;=&amp;nbsp;dataRng.Columns.Count &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'헤더 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;master.Range(&quot;A1&quot;).Resize(1,&amp;nbsp;hdrCols).Value&amp;nbsp;=&amp;nbsp;dataRng.Rows(1).Value &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;master.Cells(1,&amp;nbsp;hdrCols&amp;nbsp;+&amp;nbsp;1).Value&amp;nbsp;=&amp;nbsp;&quot;SourceFile&quot; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'데이터 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;dataRng.Rows.Count&amp;nbsp;&amp;gt;&amp;nbsp;1&amp;nbsp;Then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set&amp;nbsp;copyRng&amp;nbsp;=&amp;nbsp;dataRng.Offset(1).Resize(dataRng.Rows.Count&amp;nbsp;-&amp;nbsp;1) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;nextRow&amp;nbsp;=&amp;nbsp;2 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;master.Cells(nextRow,&amp;nbsp;1).Resize(copyRng.Rows.Count,&amp;nbsp;hdrCols).Value&amp;nbsp;=&amp;nbsp;copyRng.Value &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;master.Cells(nextRow,&amp;nbsp;hdrCols&amp;nbsp;+&amp;nbsp;1).Resize(copyRng.Rows.Count,&amp;nbsp;1).Value&amp;nbsp;=&amp;nbsp;wbSrc.Name &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;nextRow&amp;nbsp;=&amp;nbsp;nextRow&amp;nbsp;+&amp;nbsp;copyRng.Rows.Count &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Else &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;nextRow&amp;nbsp;=&amp;nbsp;2 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;If &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;firstWrite&amp;nbsp;=&amp;nbsp;False &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Else &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;dataRng.Rows.Count&amp;nbsp;&amp;gt;&amp;nbsp;1&amp;nbsp;Then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set&amp;nbsp;copyRng&amp;nbsp;=&amp;nbsp;dataRng.Offset(1).Resize(dataRng.Rows.Count&amp;nbsp;-&amp;nbsp;1) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;nextRow&amp;nbsp;=&amp;nbsp;NextEmptyRow(master) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;master.Cells(nextRow,&amp;nbsp;1).Resize(copyRng.Rows.Count,&amp;nbsp;hdrCols).Value&amp;nbsp;=&amp;nbsp;copyRng.Value &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;master.Cells(nextRow,&amp;nbsp;hdrCols&amp;nbsp;+&amp;nbsp;1).Resize(copyRng.Rows.Count,&amp;nbsp;1).Value&amp;nbsp;=&amp;nbsp;wbSrc.Name &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;If &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;If &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;If &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Else &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;skippedFiles&amp;nbsp;=&amp;nbsp;skippedFiles&amp;nbsp;&amp;amp;&amp;nbsp;vbCrLf&amp;nbsp;&amp;amp;&amp;nbsp;fName &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;If &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;wbSrc.Close&amp;nbsp;SaveChanges:=False &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set&amp;nbsp;ws&amp;nbsp;=&amp;nbsp;Nothing &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;If &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;fName&amp;nbsp;=&amp;nbsp;Dir &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Loop &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'포맷 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;With&amp;nbsp;master &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.Rows(1).Font.Bold&amp;nbsp;=&amp;nbsp;True &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.Columns.AutoFit &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;With &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Application.ScreenUpdating&amp;nbsp;=&amp;nbsp;True &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Application.EnableEvents&amp;nbsp;=&amp;nbsp;True &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Application.Calculation&amp;nbsp;=&amp;nbsp;xlCalculationAutomatic &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;MsgBox&amp;nbsp;&quot;데이터&amp;nbsp;병합&amp;nbsp;완료&quot;&amp;nbsp;&amp;amp;&amp;nbsp;IIf(skippedFiles&amp;nbsp;&amp;lt;&amp;gt;&amp;nbsp;&quot;&quot;,&amp;nbsp;vbCrLf&amp;nbsp;&amp;amp;&amp;nbsp;vbCrLf&amp;nbsp;&amp;amp;&amp;nbsp;_ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&quot;다음&amp;nbsp;파일에는&amp;nbsp;해당&amp;nbsp;시트가&amp;nbsp;없습니다:&quot;&amp;nbsp;&amp;amp;&amp;nbsp;skippedFiles,&amp;nbsp;&quot;&quot;),&amp;nbsp;vbInformation &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Exit&amp;nbsp;Sub &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;EH: &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;MsgBox&amp;nbsp;&quot;오류&amp;nbsp;&quot;&amp;nbsp;&amp;amp;&amp;nbsp;Err.Number&amp;nbsp;&amp;amp;&amp;nbsp;&quot;&amp;nbsp;:&amp;nbsp;&quot;&amp;nbsp;&amp;amp;&amp;nbsp;Err.Description,&amp;nbsp;vbExclamation,&amp;nbsp;&quot;CombineSpecificSheetFromFiles&quot; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;CleanExit: &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Application.ScreenUpdating&amp;nbsp;=&amp;nbsp;True &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Application.EnableEvents&amp;nbsp;=&amp;nbsp;True &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Application.Calculation&amp;nbsp;=&amp;nbsp;xlCalculationAutomatic &lt;br /&gt;End&amp;nbsp;Sub &lt;br /&gt;&lt;br /&gt;'===&amp;nbsp;대상&amp;nbsp;확장자&amp;nbsp;필터&amp;nbsp;=== &lt;br /&gt;Private&amp;nbsp;Function&amp;nbsp;IsTargetFile(ByVal&amp;nbsp;fName&amp;nbsp;As&amp;nbsp;String)&amp;nbsp;As&amp;nbsp;Boolean &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;ext&amp;nbsp;As&amp;nbsp;String &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ext&amp;nbsp;=&amp;nbsp;LCase$(Mid$(fName,&amp;nbsp;InStrRev(fName,&amp;nbsp;&quot;.&quot;)&amp;nbsp;+&amp;nbsp;1)) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;IsTargetFile&amp;nbsp;=&amp;nbsp;(ext&amp;nbsp;=&amp;nbsp;&quot;xlsx&quot;&amp;nbsp;Or&amp;nbsp;ext&amp;nbsp;=&amp;nbsp;&quot;xlsm&quot;&amp;nbsp;Or&amp;nbsp;ext&amp;nbsp;=&amp;nbsp;&quot;xlsb&quot;&amp;nbsp;Or&amp;nbsp;ext&amp;nbsp;=&amp;nbsp;&quot;csv&quot;) &lt;br /&gt;End&amp;nbsp;Function &lt;br /&gt;&lt;br /&gt;'===&amp;nbsp;마스터&amp;nbsp;시트&amp;nbsp;생성/가져오기&amp;nbsp;=== &lt;br /&gt;Private&amp;nbsp;Function&amp;nbsp;GetOrCreateSheet(ByVal&amp;nbsp;sName&amp;nbsp;As&amp;nbsp;String)&amp;nbsp;As&amp;nbsp;Worksheet &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;On&amp;nbsp;Error&amp;nbsp;Resume&amp;nbsp;Next &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set&amp;nbsp;GetOrCreateSheet&amp;nbsp;=&amp;nbsp;ThisWorkbook.Worksheets(sName) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;On&amp;nbsp;Error&amp;nbsp;GoTo&amp;nbsp;0 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;GetOrCreateSheet&amp;nbsp;Is&amp;nbsp;Nothing&amp;nbsp;Then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set&amp;nbsp;GetOrCreateSheet&amp;nbsp;=&amp;nbsp;ThisWorkbook.Worksheets.Add(After:=ThisWorkbook.Worksheets(ThisWorkbook.Worksheets.Count)) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;GetOrCreateSheet.Name&amp;nbsp;=&amp;nbsp;sName &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;If &lt;br /&gt;End&amp;nbsp;Function &lt;br /&gt;&lt;br /&gt;'===&amp;nbsp;실제&amp;nbsp;데이터&amp;nbsp;범위&amp;nbsp;추출&amp;nbsp;=== &lt;br /&gt;Private&amp;nbsp;Function&amp;nbsp;GetDataRange(ws&amp;nbsp;As&amp;nbsp;Worksheet)&amp;nbsp;As&amp;nbsp;Range &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;ur&amp;nbsp;As&amp;nbsp;Range &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;On&amp;nbsp;Error&amp;nbsp;Resume&amp;nbsp;Next &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set&amp;nbsp;ur&amp;nbsp;=&amp;nbsp;ws.UsedRange &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;On&amp;nbsp;Error&amp;nbsp;GoTo&amp;nbsp;0 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;ur&amp;nbsp;Is&amp;nbsp;Nothing&amp;nbsp;Then&amp;nbsp;Exit&amp;nbsp;Function &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;Application.WorksheetFunction.CountA(ur)&amp;nbsp;=&amp;nbsp;0&amp;nbsp;Then&amp;nbsp;Exit&amp;nbsp;Function &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set&amp;nbsp;GetDataRange&amp;nbsp;=&amp;nbsp;ur &lt;br /&gt;End&amp;nbsp;Function &lt;br /&gt;&lt;br /&gt;'===&amp;nbsp;다음&amp;nbsp;빈&amp;nbsp;행&amp;nbsp;=== &lt;br /&gt;Private&amp;nbsp;Function&amp;nbsp;NextEmptyRow(sh&amp;nbsp;As&amp;nbsp;Worksheet)&amp;nbsp;As&amp;nbsp;Long &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;r&amp;nbsp;As&amp;nbsp;Long &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;r&amp;nbsp;=&amp;nbsp;sh.Cells(sh.Rows.Count,&amp;nbsp;1).End(xlUp).Row &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;r&amp;nbsp;&amp;lt;&amp;nbsp;1&amp;nbsp;Then&amp;nbsp;r&amp;nbsp;=&amp;nbsp;1 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;Application.WorksheetFunction.CountA(sh.Rows(1))&amp;nbsp;=&amp;nbsp;0&amp;nbsp;Then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;NextEmptyRow&amp;nbsp;=&amp;nbsp;1 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Else &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;NextEmptyRow&amp;nbsp;=&amp;nbsp;r&amp;nbsp;+&amp;nbsp;1 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;If &lt;br /&gt;End&amp;nbsp;Function &lt;br /&gt;&lt;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-end=&quot;1267&quot; data-start=&quot;1253&quot; data-ke-size=&quot;size23&quot;&gt;✅ 팁 &amp;amp; 주의사항&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1389&quot; data-start=&quot;1268&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1293&quot; data-start=&quot;1268&quot;&gt;시트 이름은 &lt;b&gt;대소문자 구분 없음&lt;/b&gt;&lt;/li&gt;
&lt;li data-end=&quot;1324&quot; data-start=&quot;1294&quot;&gt;구조(열 순서, 헤더)가 동일할수록 결과가 깔끔&lt;/li&gt;
&lt;li data-end=&quot;1354&quot; data-start=&quot;1325&quot;&gt;없는 시트는 자동 건너뛰고 메시지로 알려줍니다&lt;/li&gt;
&lt;li data-end=&quot;1389&quot; data-start=&quot;1355&quot;&gt;.xlsx/.xlsm/.xlsb/.csv 모두 지원&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-end=&quot;1394&quot; data-start=&quot;1391&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-end=&quot;1414&quot; data-start=&quot;1396&quot; data-ke-size=&quot;size23&quot;&gt;  마무리 &amp;amp; 구독 유도&lt;/h3&gt;
&lt;p data-end=&quot;1570&quot; data-start=&quot;1415&quot; data-ke-size=&quot;size16&quot;&gt;이 매크로 하나면 매달 반복되는 시트 통합 작업이 커피 한 잔 마실 시간에 끝납니다.&lt;br /&gt;더 많은 &lt;b&gt;엑셀 자동화 꿀팁&lt;/b&gt;을 받고 싶다면,&lt;br /&gt;  &lt;b&gt;좋아요   + 구독하기  &lt;/b&gt; 눌러주시고 다음 포스팅을 기다려주세요!&lt;br /&gt;여러분의 구독이 제게는 최고의 동기부여입니다  &lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;fileblock&quot; data-ke-align=&quot;alignCenter&quot;&gt;&lt;a href=&quot;https://blog.kakaocdn.net/dn/2198W/dJMb9ON3aay/eOeoI7BDCD23ctUVoh1YV1/%ED%8A%B9%EC%A0%95%20%EC%8B%9C%ED%8A%B8%20%EC%9D%B4%EB%A6%84%EB%A7%8C%20%ED%86%B5%ED%95%A9.zip?attach=1&amp;amp;knm=tfile.zip&quot; class=&quot;&quot;&gt;
    &lt;div class=&quot;image&quot;&gt;&lt;/div&gt;
    &lt;div class=&quot;desc&quot;&gt;&lt;div class=&quot;filename&quot;&gt;&lt;span class=&quot;name&quot;&gt;특정 시트 이름만 통합.zip&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;size&quot;&gt;0.07MB&lt;/div&gt;
&lt;/div&gt;
  &lt;/a&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>DATA</category>
      <category>#엑셀VBA #엑셀자동화 #데이터통합 #엑셀파일합치기 #VBA코드 #엑셀팁 #업무자동화 #보고서자동화 #엑셀강사 #엑셀실무 #엑셀단축키 #VBA강의 #엑셀데이터합치기 #엑셀활용 #사무자동화 #엑셀교육 #엑셀기초 #엑셀매크로 #VBA예제 #엑셀팁공유</category>
      <author>노만e</author>
      <guid isPermaLink="true">https://dream2049.tistory.com/162</guid>
      <comments>https://dream2049.tistory.com/162#entry162comment</comments>
      <pubDate>Sun, 10 Aug 2025 14:56:05 +0900</pubDate>
    </item>
    <item>
      <title>엑셀 VBA 크롤링-구글 뉴스 최신 기사 자동 수집! (RSS 파싱+키워드 필터 완벽 적용)</title>
      <link>https://dream2049.tistory.com/165</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1347&quot; data-origin-height=&quot;485&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cP6OdF/btsPN3FxNXN/VpeYLyGCkE0e0CitC0KaRk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cP6OdF/btsPN3FxNXN/VpeYLyGCkE0e0CitC0KaRk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cP6OdF/btsPN3FxNXN/VpeYLyGCkE0e0CitC0KaRk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcP6OdF%2FbtsPN3FxNXN%2FVpeYLyGCkE0e0CitC0KaRk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1347&quot; height=&quot;485&quot; data-origin-width=&quot;1347&quot; data-origin-height=&quot;485&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;안녕하세요?  &lt;br /&gt;오늘은 &lt;b&gt;엑셀에서 원하는 키워드의 뉴스 헤드라인을 자동으로 가져오는 방법&lt;/b&gt;을 알려드릴게요.&lt;br /&gt;한 번 입력해 두면, &lt;b&gt;버튼 한 번 클릭으로 최신 뉴스와 날짜까지 자동 업데이트&lt;/b&gt;됩니다.&lt;br /&gt;게다가 &lt;b&gt;언론사 리스트&lt;/b&gt;와 &lt;b&gt;키워드 필터&lt;/b&gt; 기능까지 넣어서,&lt;br /&gt;관심 있는 뉴스만 골라서 깔끔하게 정리할 수 있어요.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;왜 RSS 일까요?&lt;/b&gt;&lt;br /&gt;구글 페이지 직접 스크래핑은 약관/차단 리스크가 큽니다.&lt;br /&gt;대신 &lt;b&gt;Google News RSS&lt;/b&gt;를 사용하면 &lt;b&gt;안전하고 안정적으로&lt;/b&gt; 제목&amp;middot;링크&amp;middot;언론사&amp;middot;발행일을 가져올 수 있어요.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-end=&quot;501&quot; data-start=&quot;484&quot; data-ke-size=&quot;size23&quot;&gt;1. 완성 화면 미리보기 (상단 사진 참조)&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;720&quot; data-start=&quot;568&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;600&quot; data-start=&quot;568&quot;&gt;&lt;b&gt;A열&lt;/b&gt; : 뉴스 제목 (클릭하면 기사로 이동)&lt;/li&gt;
&lt;li data-end=&quot;618&quot; data-start=&quot;601&quot;&gt;&lt;b&gt;B열&lt;/b&gt; : 언론사명&lt;/li&gt;
&lt;li data-end=&quot;658&quot; data-start=&quot;619&quot;&gt;&lt;b&gt;C열&lt;/b&gt; : 날짜&lt;/li&gt;
&lt;li data-end=&quot;686&quot; data-start=&quot;659&quot;&gt;&lt;b&gt;D열&lt;/b&gt; : 정렬용 날짜 (숨김 처리)&lt;/li&gt;
&lt;li data-end=&quot;720&quot; data-start=&quot;687&quot;&gt;&lt;b&gt;G2/H2&lt;/b&gt; : 생성 시각 / 총 기사 수 표시&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-end=&quot;1363&quot; data-start=&quot;1351&quot; data-ke-size=&quot;size23&quot;&gt;2. 실행 방법&lt;/h3&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-end=&quot;1505&quot; data-start=&quot;1364&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li data-end=&quot;1388&quot; data-start=&quot;1364&quot;&gt;RSS URL, 언론사, 키워드를 입력&lt;/li&gt;
&lt;li data-end=&quot;1440&quot; data-start=&quot;1389&quot;&gt;&lt;b&gt;Alt + F8&lt;/b&gt; &amp;rarr; Fetch_Headlines_ToSheet 선택&amp;nbsp; 또는 [헤드라인 기사] 버튼 클릭&amp;nbsp; &amp;rarr; 실행&lt;/li&gt;
&lt;li data-end=&quot;1478&quot; data-start=&quot;1441&quot;&gt;잠시 기다리면 A7부터 최신 뉴스 목록이 깔끔하게 채워집니다.&lt;/li&gt;
&lt;li data-end=&quot;1505&quot; data-start=&quot;1479&quot;&gt;언론사에 특정 언론사를 구분기호(/)로 입력하면 언론사 필터 가능&lt;/li&gt;
&lt;li data-end=&quot;1505&quot; data-start=&quot;1479&quot;&gt;키워드에 특정 키워드를 구분기호(/)로 입력하면 키워드 필터 가능&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 data-end=&quot;1742&quot; data-start=&quot;1725&quot; data-ke-size=&quot;size23&quot;&gt;3. 이런 분들께 추천!&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1842&quot; data-start=&quot;1743&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1775&quot; data-start=&quot;1743&quot;&gt;&lt;b&gt;관심 있는 분야 뉴스만&lt;/b&gt; 모아서 보고 싶은 분&lt;/li&gt;
&lt;li data-end=&quot;1809&quot; data-start=&quot;1776&quot;&gt;매일 &lt;b&gt;뉴스를 복사/붙여넣기&lt;/b&gt; 하느라 힘드셨던 분&lt;/li&gt;
&lt;li data-end=&quot;1842&quot; data-start=&quot;1810&quot;&gt;엑셀로 &lt;b&gt;데이터 수집 자동화&lt;/b&gt;를 배우고 싶은 분&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;fileblock&quot; data-ke-align=&quot;alignCenter&quot;&gt;&lt;a href=&quot;https://blog.kakaocdn.net/dn/bi4VVD/dJMb9N9rDvH/4jGGO4NPzSMKUbwnWVI0r0/%EC%97%91%EC%85%80%20VBA%20%EA%B5%AC%EA%B8%80%20%EB%89%B4%EC%8A%A4%20%ED%81%AC%EB%A1%A4%EB%A7%81_Ver1.0.xlsm?attach=1&amp;amp;knm=tfile.xlsm&quot; class=&quot;&quot;&gt;
    &lt;div class=&quot;image&quot;&gt;&lt;/div&gt;
    &lt;div class=&quot;desc&quot;&gt;&lt;div class=&quot;filename&quot;&gt;&lt;span class=&quot;name&quot;&gt;엑셀 VBA 구글 뉴스 크롤링_Ver1.0.xlsm&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;size&quot;&gt;0.05MB&lt;/div&gt;
&lt;/div&gt;
  &lt;/a&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>#엑셀자동화 #뉴스수집 #RSS #엑셀VBA #데이터자동화 #오빠두엑셀스타일 #엑셀강의 #VBA강의 #엑셀뉴스자동화 #뉴스필터링</category>
      <author>노만e</author>
      <guid isPermaLink="true">https://dream2049.tistory.com/165</guid>
      <comments>https://dream2049.tistory.com/165#entry165comment</comments>
      <pubDate>Sat, 9 Aug 2025 23:39:56 +0900</pubDate>
    </item>
    <item>
      <title>매달 반복하는 엑셀 파일 합치기, 오늘로 끝내드립니다</title>
      <link>https://dream2049.tistory.com/161</link>
      <description>&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1006&quot; data-origin-height=&quot;319&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/b9gh5t/btsPLCIcY2x/3CKeoPvoQSYjlu94U9O0Bk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/b9gh5t/btsPLCIcY2x/3CKeoPvoQSYjlu94U9O0Bk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/b9gh5t/btsPLCIcY2x/3CKeoPvoQSYjlu94U9O0Bk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb9gh5t%2FbtsPLCIcY2x%2F3CKeoPvoQSYjlu94U9O0Bk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;646&quot; height=&quot;319&quot; data-origin-width=&quot;1006&quot; data-origin-height=&quot;319&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;안녕하세요, VBA로 업무 시간을 절반 이상 줄여드리는 노만e입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;오늘은 회사에서 가장 귀찮은 업무 중 하나인 &lt;b&gt;여러 시트&amp;middot;여러 파일의 데이터 통합&lt;/b&gt;을,&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;단 몇 초 만에 자동으로 처리하는 방법을 알려드리겠습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-end=&quot;578&quot; data-start=&quot;567&quot; data-ke-size=&quot;size23&quot;&gt;❗ 돌발 상황&amp;nbsp;&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;668&quot; data-start=&quot;579&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;611&quot; data-start=&quot;579&quot;&gt;보고서 제출일 전날, 부서별 파일이 수십 개씩 쏟아짐&lt;/li&gt;
&lt;li data-end=&quot;636&quot; data-start=&quot;612&quot;&gt;매번 복사+붙여넣기 하다가 서식 깨짐, 스타일 과다, 스트레스 팍팍&lt;/li&gt;
&lt;li data-end=&quot;668&quot; data-start=&quot;637&quot;&gt;시트별 구조는 같지만 파일이 너무 많아 시간 낭비하고 있다면,&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-end=&quot;703&quot; data-start=&quot;670&quot; data-ke-size=&quot;size16&quot;&gt;혹시 이런 경험 있으신가요?&lt;br /&gt;이제 이런 고생은 끝입니다.&lt;/p&gt;
&lt;p data-end=&quot;703&quot; data-start=&quot;670&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-end=&quot;1742&quot; data-start=&quot;1730&quot; data-ke-size=&quot;size23&quot;&gt;  사용 방법&lt;/h3&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-end=&quot;1862&quot; data-start=&quot;1743&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li data-end=&quot;1862&quot; data-start=&quot;1820&quot;&gt;지점별 과일 매출 통합파일에 있는 [폴더내 데이터 통합] 버튼 클릭&lt;/li&gt;
&lt;li data-end=&quot;1862&quot; data-start=&quot;1820&quot;&gt;파일이 저장되어 있는 폴더 선택&lt;/li&gt;
&lt;li data-end=&quot;1862&quot; data-start=&quot;1820&quot;&gt;데이터 통합 완료&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 data-end=&quot;1876&quot; data-start=&quot;1869&quot; data-ke-size=&quot;size23&quot;&gt;✅ 팁&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;2005&quot; data-start=&quot;1877&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1910&quot; data-start=&quot;1877&quot;&gt;파일 구조가 동일해야 합니다. (열 순서&amp;middot;이름 동일)&lt;/li&gt;
&lt;li data-end=&quot;1961&quot; data-start=&quot;1911&quot;&gt;*.xlsx *.xlsm 매크로 포함 파일도 합칠 수 있습니다.&lt;/li&gt;
&lt;li data-end=&quot;2005&quot; data-start=&quot;1962&quot;&gt;시트가 여러 개인 경우도 상관없이 전부 합쳐 집니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;오늘 공유한 VBA 데이터 합치기 코드, 도움이 되셨나요?&lt;br /&gt;업무 시간을 줄이는 방법을 앞으로도 계속 공유드릴게요.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;vba 코드&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%; height: 2512px;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr style=&quot;height: 2512px;&quot;&gt;
&lt;td style=&quot;width: 100%; height: 2512px;&quot;&gt;Option&amp;nbsp;Explicit &lt;br /&gt;&lt;br /&gt;Public&amp;nbsp;Sub&amp;nbsp;CombineFilesIntoMaster() &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;On&amp;nbsp;Error&amp;nbsp;GoTo&amp;nbsp;EH &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;fldr&amp;nbsp;As&amp;nbsp;FileDialog &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;fol&amp;nbsp;As&amp;nbsp;String &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;wbSrc&amp;nbsp;As&amp;nbsp;Workbook &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;ws&amp;nbsp;As&amp;nbsp;Worksheet &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;master&amp;nbsp;As&amp;nbsp;Worksheet &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;fName&amp;nbsp;As&amp;nbsp;String &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;firstWrite&amp;nbsp;As&amp;nbsp;Boolean &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;nextRow&amp;nbsp;As&amp;nbsp;Long &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;dataRng&amp;nbsp;As&amp;nbsp;Range,&amp;nbsp;copyRng&amp;nbsp;As&amp;nbsp;Range &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;hdrCols&amp;nbsp;As&amp;nbsp;Long &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'환경&amp;nbsp;최적화 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Application.ScreenUpdating&amp;nbsp;=&amp;nbsp;False &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Application.EnableEvents&amp;nbsp;=&amp;nbsp;False &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Application.Calculation&amp;nbsp;=&amp;nbsp;xlCalculationManual &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'폴더&amp;nbsp;선택 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set&amp;nbsp;fldr&amp;nbsp;=&amp;nbsp;Application.FileDialog(msoFileDialogFolderPicker) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;With&amp;nbsp;fldr &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.Title&amp;nbsp;=&amp;nbsp;&quot;데이터를&amp;nbsp;합칠&amp;nbsp;폴더를&amp;nbsp;선택하세요&quot; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;.Show&amp;nbsp;&amp;lt;&amp;gt;&amp;nbsp;-1&amp;nbsp;Then&amp;nbsp;GoTo&amp;nbsp;CleanExit&amp;nbsp;'사용자&amp;nbsp;취소 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;fol&amp;nbsp;=&amp;nbsp;.SelectedItems(1) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;With &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'마스터&amp;nbsp;시트&amp;nbsp;준비 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set&amp;nbsp;master&amp;nbsp;=&amp;nbsp;GetOrCreateSheet(&quot;_Master&quot;) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;master.Cells.Clear &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;firstWrite&amp;nbsp;=&amp;nbsp;True &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'폴더&amp;nbsp;내&amp;nbsp;파일&amp;nbsp;순회 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;fName&amp;nbsp;=&amp;nbsp;Dir(fol&amp;nbsp;&amp;amp;&amp;nbsp;&quot;\*.*&quot;) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Do&amp;nbsp;While&amp;nbsp;Len(fName)&amp;nbsp;&amp;gt;&amp;nbsp;0 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;IsTargetFile(fName)&amp;nbsp;Then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set&amp;nbsp;wbSrc&amp;nbsp;=&amp;nbsp;Workbooks.Open(Filename:=fol&amp;nbsp;&amp;amp;&amp;nbsp;&quot;\&quot;&amp;nbsp;&amp;amp;&amp;nbsp;fName,&amp;nbsp;ReadOnly:=True) &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;For&amp;nbsp;Each&amp;nbsp;ws&amp;nbsp;In&amp;nbsp;wbSrc.Worksheets &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set&amp;nbsp;dataRng&amp;nbsp;=&amp;nbsp;GetDataRange(ws) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;Not&amp;nbsp;dataRng&amp;nbsp;Is&amp;nbsp;Nothing&amp;nbsp;Then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;firstWrite&amp;nbsp;Then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;hdrCols&amp;nbsp;=&amp;nbsp;dataRng.Columns.Count &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'헤더 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;master.Range(&quot;A1&quot;).Resize(1,&amp;nbsp;hdrCols).Value&amp;nbsp;=&amp;nbsp;dataRng.Rows(1).Value &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;master.Cells(1,&amp;nbsp;hdrCols&amp;nbsp;+&amp;nbsp;1).Value&amp;nbsp;=&amp;nbsp;&quot;SourceFile&quot; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;master.Cells(1,&amp;nbsp;hdrCols&amp;nbsp;+&amp;nbsp;2).Value&amp;nbsp;=&amp;nbsp;&quot;SourceSheet&quot; &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'데이터(헤더&amp;nbsp;제외) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;dataRng.Rows.Count&amp;nbsp;&amp;gt;&amp;nbsp;1&amp;nbsp;Then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set&amp;nbsp;copyRng&amp;nbsp;=&amp;nbsp;dataRng.Offset(1).Resize(dataRng.Rows.Count&amp;nbsp;-&amp;nbsp;1) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;nextRow&amp;nbsp;=&amp;nbsp;2 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;master.Cells(nextRow,&amp;nbsp;1).Resize(copyRng.Rows.Count,&amp;nbsp;hdrCols).Value&amp;nbsp;=&amp;nbsp;copyRng.Value &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;master.Cells(nextRow,&amp;nbsp;hdrCols&amp;nbsp;+&amp;nbsp;1).Resize(copyRng.Rows.Count).Value&amp;nbsp;=&amp;nbsp;wbSrc.Name &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;master.Cells(nextRow,&amp;nbsp;hdrCols&amp;nbsp;+&amp;nbsp;2).Resize(copyRng.Rows.Count).Value&amp;nbsp;=&amp;nbsp;ws.Name &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;nextRow&amp;nbsp;=&amp;nbsp;nextRow&amp;nbsp;+&amp;nbsp;copyRng.Rows.Count &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Else &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;nextRow&amp;nbsp;=&amp;nbsp;2 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;If &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;firstWrite&amp;nbsp;=&amp;nbsp;False &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Else &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'이후&amp;nbsp;파일/시트:&amp;nbsp;데이터만 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;dataRng.Rows.Count&amp;nbsp;&amp;gt;&amp;nbsp;1&amp;nbsp;Then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set&amp;nbsp;copyRng&amp;nbsp;=&amp;nbsp;dataRng.Offset(1).Resize(dataRng.Rows.Count&amp;nbsp;-&amp;nbsp;1) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;nextRow&amp;nbsp;=&amp;nbsp;NextEmptyRow(master) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;master.Cells(nextRow,&amp;nbsp;1).Resize(copyRng.Rows.Count,&amp;nbsp;hdrCols).Value&amp;nbsp;=&amp;nbsp;copyRng.Value &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;master.Cells(nextRow,&amp;nbsp;hdrCols&amp;nbsp;+&amp;nbsp;1).Resize(copyRng.Rows.Count).Value&amp;nbsp;=&amp;nbsp;wbSrc.Name &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;master.Cells(nextRow,&amp;nbsp;hdrCols&amp;nbsp;+&amp;nbsp;2).Resize(copyRng.Rows.Count).Value&amp;nbsp;=&amp;nbsp;ws.Name &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;If &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;If &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;If &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Next&amp;nbsp;ws &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;wbSrc.Close&amp;nbsp;SaveChanges:=False &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;If &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;fName&amp;nbsp;=&amp;nbsp;Dir &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Loop &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'포맷 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;With&amp;nbsp;master &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.Rows(1).Font.Bold&amp;nbsp;=&amp;nbsp;True &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.Columns.AutoFit &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;With &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;MsgBox&amp;nbsp;&quot;데이터&amp;nbsp;병합&amp;nbsp;완료&amp;nbsp;(시트:&amp;nbsp;_Master)&quot;,&amp;nbsp;vbInformation,&amp;nbsp;&quot;Combine&amp;nbsp;?&quot; &lt;br /&gt;&lt;br /&gt;CleanExit: &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Application.ScreenUpdating&amp;nbsp;=&amp;nbsp;True &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Application.EnableEvents&amp;nbsp;=&amp;nbsp;True &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Application.Calculation&amp;nbsp;=&amp;nbsp;xlCalculationAutomatic &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Exit&amp;nbsp;Sub &lt;br /&gt;&lt;br /&gt;EH: &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;MsgBox&amp;nbsp;&quot;오류&amp;nbsp;&quot;&amp;nbsp;&amp;amp;&amp;nbsp;Err.Number&amp;nbsp;&amp;amp;&amp;nbsp;&quot;&amp;nbsp;:&amp;nbsp;&quot;&amp;nbsp;&amp;amp;&amp;nbsp;Err.Description,&amp;nbsp;vbExclamation,&amp;nbsp;&quot;CombineFilesIntoMaster&quot; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Resume&amp;nbsp;CleanExit &lt;br /&gt;End&amp;nbsp;Sub &lt;br /&gt;&lt;br /&gt;'===&amp;nbsp;대상&amp;nbsp;확장자&amp;nbsp;필터&amp;nbsp;=== &lt;br /&gt;Private&amp;nbsp;Function&amp;nbsp;IsTargetFile(ByVal&amp;nbsp;fName&amp;nbsp;As&amp;nbsp;String)&amp;nbsp;As&amp;nbsp;Boolean &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;ext&amp;nbsp;As&amp;nbsp;String &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ext&amp;nbsp;=&amp;nbsp;LCase$(Mid$(fName,&amp;nbsp;InStrRev(fName,&amp;nbsp;&quot;.&quot;)&amp;nbsp;+&amp;nbsp;1)) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;IsTargetFile&amp;nbsp;=&amp;nbsp;(ext&amp;nbsp;=&amp;nbsp;&quot;xlsx&quot;&amp;nbsp;Or&amp;nbsp;ext&amp;nbsp;=&amp;nbsp;&quot;xlsm&quot;&amp;nbsp;Or&amp;nbsp;ext&amp;nbsp;=&amp;nbsp;&quot;xlsb&quot;&amp;nbsp;Or&amp;nbsp;ext&amp;nbsp;=&amp;nbsp;&quot;csv&quot;) &lt;br /&gt;End&amp;nbsp;Function &lt;br /&gt;&lt;br /&gt;'===&amp;nbsp;마스터&amp;nbsp;시트&amp;nbsp;생성/가져오기&amp;nbsp;=== &lt;br /&gt;Private&amp;nbsp;Function&amp;nbsp;GetOrCreateSheet(ByVal&amp;nbsp;sName&amp;nbsp;As&amp;nbsp;String)&amp;nbsp;As&amp;nbsp;Worksheet &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;On&amp;nbsp;Error&amp;nbsp;Resume&amp;nbsp;Next &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set&amp;nbsp;GetOrCreateSheet&amp;nbsp;=&amp;nbsp;ThisWorkbook.Worksheets(sName) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;On&amp;nbsp;Error&amp;nbsp;GoTo&amp;nbsp;0 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;GetOrCreateSheet&amp;nbsp;Is&amp;nbsp;Nothing&amp;nbsp;Then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set&amp;nbsp;GetOrCreateSheet&amp;nbsp;=&amp;nbsp;ThisWorkbook.Worksheets.Add(After:=ThisWorkbook.Worksheets(ThisWorkbook.Worksheets.Count)) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;GetOrCreateSheet.Name&amp;nbsp;=&amp;nbsp;sName &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;If &lt;br /&gt;End&amp;nbsp;Function &lt;br /&gt;&lt;br /&gt;'===&amp;nbsp;실제&amp;nbsp;데이터&amp;nbsp;범위&amp;nbsp;추출(빈&amp;nbsp;시트/머리글만&amp;nbsp;있는&amp;nbsp;시트&amp;nbsp;제외)&amp;nbsp;=== &lt;br /&gt;Private&amp;nbsp;Function&amp;nbsp;GetDataRange(ws&amp;nbsp;As&amp;nbsp;Worksheet)&amp;nbsp;As&amp;nbsp;Range &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;ur&amp;nbsp;As&amp;nbsp;Range &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;On&amp;nbsp;Error&amp;nbsp;Resume&amp;nbsp;Next &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set&amp;nbsp;ur&amp;nbsp;=&amp;nbsp;ws.UsedRange &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;On&amp;nbsp;Error&amp;nbsp;GoTo&amp;nbsp;0 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;ur&amp;nbsp;Is&amp;nbsp;Nothing&amp;nbsp;Then&amp;nbsp;Exit&amp;nbsp;Function &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;Application.WorksheetFunction.CountA(ur)&amp;nbsp;=&amp;nbsp;0&amp;nbsp;Then&amp;nbsp;Exit&amp;nbsp;Function&amp;nbsp;'빈&amp;nbsp;시트 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set&amp;nbsp;GetDataRange&amp;nbsp;=&amp;nbsp;ur &lt;br /&gt;End&amp;nbsp;Function &lt;br /&gt;&lt;br /&gt;'===&amp;nbsp;다음&amp;nbsp;빈&amp;nbsp;행&amp;nbsp;=== &lt;br /&gt;Private&amp;nbsp;Function&amp;nbsp;NextEmptyRow(sh&amp;nbsp;As&amp;nbsp;Worksheet)&amp;nbsp;As&amp;nbsp;Long &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;r&amp;nbsp;As&amp;nbsp;Long &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;r&amp;nbsp;=&amp;nbsp;sh.Cells(sh.Rows.Count,&amp;nbsp;1).End(xlUp).Row &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;r&amp;nbsp;&amp;lt;&amp;nbsp;1&amp;nbsp;Then&amp;nbsp;r&amp;nbsp;=&amp;nbsp;1 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;Application.WorksheetFunction.CountA(sh.Rows(1))&amp;nbsp;=&amp;nbsp;0&amp;nbsp;Then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;NextEmptyRow&amp;nbsp;=&amp;nbsp;1 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Else &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;NextEmptyRow&amp;nbsp;=&amp;nbsp;r&amp;nbsp;+&amp;nbsp;1 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;If &lt;br /&gt;End&amp;nbsp;Function &lt;br /&gt;&lt;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;fileblock&quot; data-ke-align=&quot;alignCenter&quot;&gt;&lt;a href=&quot;https://blog.kakaocdn.net/dn/oOzPS/dJMb9i2GpnM/J5gsKpgIxkriFl3yb7dmf0/%EC%A7%80%EC%A0%90%EB%B3%84%20%EA%B3%BC%EC%9D%BC%20%EB%A7%A4%EC%B6%9C%20%ED%86%B5%ED%95%A9_%EC%98%88%EC%A0%9C%ED%8C%8C%EC%9D%BC.zip?attach=1&amp;amp;knm=tfile.zip&quot; class=&quot;&quot;&gt;
    &lt;div class=&quot;image&quot;&gt;&lt;/div&gt;
    &lt;div class=&quot;desc&quot;&gt;&lt;div class=&quot;filename&quot;&gt;&lt;span class=&quot;name&quot;&gt;지점별 과일 매출 통합_예제파일.zip&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;size&quot;&gt;0.07MB&lt;/div&gt;
&lt;/div&gt;
  &lt;/a&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>DATA</category>
      <category>#엑셀VBA #엑셀자동화 #데이터통합 #엑셀파일합치기 #VBA코드 #엑셀팁 #업무자동화 #보고서자동화 #엑셀강사 #엑셀실무 #엑셀단축키 #VBA강의 #엑셀데이터합치기 #엑셀활용 #사무자동화 #엑셀교육 #엑셀기초 #엑셀매크로 #VBA예제 #엑셀팁공유</category>
      <author>노만e</author>
      <guid isPermaLink="true">https://dream2049.tistory.com/161</guid>
      <comments>https://dream2049.tistory.com/161#entry161comment</comments>
      <pubDate>Sat, 9 Aug 2025 13:44:56 +0900</pubDate>
    </item>
    <item>
      <title>엑셀VBA로 픽셀아트를 만든다고?  포토샵보다 빠름, 빠름~</title>
      <link>https://dream2049.tistory.com/160</link>
      <description>&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1208&quot; data-origin-height=&quot;320&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/8C6UR/btsPK3GcsWc/fikv2bpcNg2Zbw7WHORuoK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/8C6UR/btsPK3GcsWc/fikv2bpcNg2Zbw7WHORuoK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/8C6UR/btsPK3GcsWc/fikv2bpcNg2Zbw7WHORuoK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F8C6UR%2FbtsPK3GcsWc%2Ffikv2bpcNg2Zbw7WHORuoK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1208&quot; height=&quot;320&quot; data-origin-width=&quot;1208&quot; data-origin-height=&quot;320&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;구글 스프레드시트의 확장프로그램중 [픽셀아트]라는 것이 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;사진을 모자이크로 변환하는 확장프로그램입니다. 엑셀에서도 구현해 보고 싶었습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;엑셀에서 이미지를 불러와 &lt;b&gt;자동으로 모자이크(픽셀아트) 효과를 적용&lt;/b&gt;하고,&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;오른쪽에 원본 이미지를 비교 배치하도록 만들었습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;br /&gt;이 코드는 GDI API와 WIA 라이브러리를 활용해 이미지를 원하는 크기로 축소&amp;middot;변환한 뒤,&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;셀 배경색을 픽셀 단위로 채워 픽셀아트를 완성합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-end=&quot;430&quot; data-start=&quot;416&quot; data-ke-size=&quot;size16&quot;&gt;  &lt;b&gt;주요 기능&lt;/b&gt;&lt;/p&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-end=&quot;668&quot; data-start=&quot;431&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li data-end=&quot;477&quot; data-start=&quot;431&quot;&gt;&lt;b&gt;이미지 파일 선택&lt;/b&gt; &amp;ndash; PNG, JPG, BMP 등 다양한 포맷 지원&lt;/li&gt;
&lt;li data-end=&quot;522&quot; data-start=&quot;478&quot;&gt;&lt;b&gt;해상도 설정&lt;/b&gt; &amp;ndash; 가로&amp;middot;세로 픽셀 수와 셀 크기(px) 직접 입력&lt;/li&gt;
&lt;li data-end=&quot;565&quot; data-start=&quot;523&quot;&gt;&lt;b&gt;WIA를 통한 이미지 리사이즈 &amp;amp; BMP 변환&lt;/b&gt; &amp;ndash; 고속 처리&lt;/li&gt;
&lt;li data-end=&quot;601&quot; data-start=&quot;566&quot;&gt;&lt;b&gt;셀 배경 채우기&lt;/b&gt; &amp;ndash; 각 픽셀 색상을 그대로 반영&lt;/li&gt;
&lt;li data-end=&quot;639&quot; data-start=&quot;602&quot;&gt;&lt;b&gt;오른쪽에 원본 이미지 표시&lt;/b&gt; &amp;ndash; 픽셀아트와 비교 가능&lt;/li&gt;
&lt;li data-end=&quot;668&quot; data-start=&quot;640&quot;&gt;&lt;b&gt;임시 파일 자동 삭제 및 환경 복구&lt;/b&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt; &lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;b&gt;사용방법&lt;/b&gt;&lt;/p&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-end=&quot;898&quot; data-start=&quot;778&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li data-end=&quot;822&quot; data-start=&quot;778&quot;&gt;VBA 편집기(Alt+F11)에서 모듈을 추가하고 코드를 붙여넣습니다.&lt;/li&gt;
&lt;li data-end=&quot;860&quot; data-start=&quot;823&quot;&gt;매크로 실행(Alt+F8) &amp;rarr; 변환할 이미지를 선택합니다.&lt;/li&gt;
&lt;li data-end=&quot;898&quot; data-start=&quot;861&quot;&gt;가로&amp;middot;세로 픽셀 수와 셀 크기를 입력하면 자동 변환 완료!&lt;/li&gt;
&lt;/ol&gt;
&lt;p data-end=&quot;1001&quot; data-start=&quot;900&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&amp;nbsp;※ 가로, 세로 셀의 숫자가 많고, 셀 한 변의 크기가 작을 수록 더 선명해집니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-end=&quot;1001&quot; data-start=&quot;900&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-end=&quot;1001&quot; data-start=&quot;900&quot; data-ke-size=&quot;size16&quot;&gt;이 코드는 &lt;b&gt;포토샵 없이도 엑셀만으로 모자이크 효과를 구현&lt;/b&gt;할 수 있는 코드입니다.&lt;br /&gt;특히 &lt;b&gt;원본 대비 영역까지 자동 배치&lt;/b&gt;되므로, 결과 비교가 매우 편리합니다.&lt;/p&gt;
&lt;p data-end=&quot;1001&quot; data-start=&quot;900&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-end=&quot;1001&quot; data-start=&quot;900&quot; data-ke-size=&quot;size16&quot;&gt;vba 코드&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 100%;&quot;&gt;Option&amp;nbsp;Explicit &lt;br /&gt;&lt;br /&gt;'========================== &lt;br /&gt;'&amp;nbsp;&amp;nbsp;&amp;nbsp;32/64비트&amp;nbsp;API&amp;nbsp;선언 &lt;br /&gt;'========================== &lt;br /&gt;#If&amp;nbsp;VBA7&amp;nbsp;Then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Private&amp;nbsp;Declare&amp;nbsp;PtrSafe&amp;nbsp;Function&amp;nbsp;CreateCompatibleDC&amp;nbsp;Lib&amp;nbsp;&quot;gdi32&quot;&amp;nbsp;(ByVal&amp;nbsp;hdc&amp;nbsp;As&amp;nbsp;LongPtr)&amp;nbsp;As&amp;nbsp;LongPtr &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Private&amp;nbsp;Declare&amp;nbsp;PtrSafe&amp;nbsp;Function&amp;nbsp;DeleteDC&amp;nbsp;Lib&amp;nbsp;&quot;gdi32&quot;&amp;nbsp;(ByVal&amp;nbsp;hdc&amp;nbsp;As&amp;nbsp;LongPtr)&amp;nbsp;As&amp;nbsp;Long &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Private&amp;nbsp;Declare&amp;nbsp;PtrSafe&amp;nbsp;Function&amp;nbsp;SelectObject&amp;nbsp;Lib&amp;nbsp;&quot;gdi32&quot;&amp;nbsp;(ByVal&amp;nbsp;hdc&amp;nbsp;As&amp;nbsp;LongPtr,&amp;nbsp;ByVal&amp;nbsp;hObject&amp;nbsp;As&amp;nbsp;LongPtr)&amp;nbsp;As&amp;nbsp;LongPtr &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Private&amp;nbsp;Declare&amp;nbsp;PtrSafe&amp;nbsp;Function&amp;nbsp;GetPixel&amp;nbsp;Lib&amp;nbsp;&quot;gdi32&quot;&amp;nbsp;(ByVal&amp;nbsp;hdc&amp;nbsp;As&amp;nbsp;LongPtr,&amp;nbsp;ByVal&amp;nbsp;x&amp;nbsp;As&amp;nbsp;Long,&amp;nbsp;ByVal&amp;nbsp;y&amp;nbsp;As&amp;nbsp;Long)&amp;nbsp;As&amp;nbsp;Long &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Private&amp;nbsp;Declare&amp;nbsp;PtrSafe&amp;nbsp;Function&amp;nbsp;GetDC&amp;nbsp;Lib&amp;nbsp;&quot;user32&quot;&amp;nbsp;(ByVal&amp;nbsp;hwnd&amp;nbsp;As&amp;nbsp;LongPtr)&amp;nbsp;As&amp;nbsp;LongPtr &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Private&amp;nbsp;Declare&amp;nbsp;PtrSafe&amp;nbsp;Function&amp;nbsp;ReleaseDC&amp;nbsp;Lib&amp;nbsp;&quot;user32&quot;&amp;nbsp;(ByVal&amp;nbsp;hwnd&amp;nbsp;As&amp;nbsp;LongPtr,&amp;nbsp;ByVal&amp;nbsp;hdc&amp;nbsp;As&amp;nbsp;LongPtr)&amp;nbsp;As&amp;nbsp;Long &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Private&amp;nbsp;Declare&amp;nbsp;PtrSafe&amp;nbsp;Function&amp;nbsp;GetDeviceCaps&amp;nbsp;Lib&amp;nbsp;&quot;gdi32&quot;&amp;nbsp;(ByVal&amp;nbsp;hdc&amp;nbsp;As&amp;nbsp;LongPtr,&amp;nbsp;ByVal&amp;nbsp;nIndex&amp;nbsp;As&amp;nbsp;Long)&amp;nbsp;As&amp;nbsp;Long &lt;br /&gt;#Else &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Private&amp;nbsp;Declare&amp;nbsp;Function&amp;nbsp;CreateCompatibleDC&amp;nbsp;Lib&amp;nbsp;&quot;gdi32&quot;&amp;nbsp;(ByVal&amp;nbsp;hdc&amp;nbsp;As&amp;nbsp;Long)&amp;nbsp;As&amp;nbsp;Long &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Private&amp;nbsp;Declare&amp;nbsp;Function&amp;nbsp;DeleteDC&amp;nbsp;Lib&amp;nbsp;&quot;gdi32&quot;&amp;nbsp;(ByVal&amp;nbsp;hdc&amp;nbsp;As&amp;nbsp;Long)&amp;nbsp;As&amp;nbsp;Long &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Private&amp;nbsp;Declare&amp;nbsp;Function&amp;nbsp;SelectObject&amp;nbsp;Lib&amp;nbsp;&quot;gdi32&quot;&amp;nbsp;(ByVal&amp;nbsp;hdc&amp;nbsp;As&amp;nbsp;Long,&amp;nbsp;ByVal&amp;nbsp;hObject&amp;nbsp;As&amp;nbsp;Long)&amp;nbsp;As&amp;nbsp;Long &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Private&amp;nbsp;Declare&amp;nbsp;Function&amp;nbsp;GetPixel&amp;nbsp;Lib&amp;nbsp;&quot;gdi32&quot;&amp;nbsp;(ByVal&amp;nbsp;hdc&amp;nbsp;As&amp;nbsp;Long,&amp;nbsp;ByVal&amp;nbsp;x&amp;nbsp;As&amp;nbsp;Long,&amp;nbsp;ByVal&amp;nbsp;y&amp;nbsp;As&amp;nbsp;Long)&amp;nbsp;As&amp;nbsp;Long &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Private&amp;nbsp;Declare&amp;nbsp;Function&amp;nbsp;GetDC&amp;nbsp;Lib&amp;nbsp;&quot;user32&quot;&amp;nbsp;(ByVal&amp;nbsp;hwnd&amp;nbsp;As&amp;nbsp;Long)&amp;nbsp;As&amp;nbsp;Long &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Private&amp;nbsp;Declare&amp;nbsp;Function&amp;nbsp;ReleaseDC&amp;nbsp;Lib&amp;nbsp;&quot;user32&quot;&amp;nbsp;(ByVal&amp;nbsp;hwnd&amp;nbsp;As&amp;nbsp;Long,&amp;nbsp;ByVal&amp;nbsp;hDC&amp;nbsp;As&amp;nbsp;Long)&amp;nbsp;As&amp;nbsp;Long &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Private&amp;nbsp;Declare&amp;nbsp;Function&amp;nbsp;GetDeviceCaps&amp;nbsp;Lib&amp;nbsp;&quot;gdi32&quot;&amp;nbsp;(ByVal&amp;nbsp;hdc&amp;nbsp;As&amp;nbsp;Long,&amp;nbsp;ByVal&amp;nbsp;nIndex&amp;nbsp;As&amp;nbsp;Long)&amp;nbsp;As&amp;nbsp;Long &lt;br /&gt;#End&amp;nbsp;If &lt;br /&gt;&lt;br /&gt;Private&amp;nbsp;Const&amp;nbsp;LOGPIXELSX&amp;nbsp;As&amp;nbsp;Long&amp;nbsp;=&amp;nbsp;88 &lt;br /&gt;Private&amp;nbsp;Const&amp;nbsp;LOGPIXELSY&amp;nbsp;As&amp;nbsp;Long&amp;nbsp;=&amp;nbsp;90 &lt;br /&gt;&lt;br /&gt;'=========================================== &lt;br /&gt;'&amp;nbsp;&amp;nbsp;메인:&amp;nbsp;이미지&amp;nbsp;&amp;rarr;&amp;nbsp;픽셀아트&amp;nbsp;+&amp;nbsp;(오른쪽)&amp;nbsp;실제&amp;nbsp;이미지&amp;nbsp;영역만&amp;nbsp;원본&amp;nbsp;배치 &lt;br /&gt;'=========================================== &lt;br /&gt;Sub&amp;nbsp;PixelArt_FromImage() &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;filePath&amp;nbsp;As&amp;nbsp;Variant &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;w&amp;nbsp;As&amp;nbsp;Long,&amp;nbsp;h&amp;nbsp;As&amp;nbsp;Long,&amp;nbsp;cellPx&amp;nbsp;As&amp;nbsp;Long &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;tmpBmp&amp;nbsp;As&amp;nbsp;String &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;topLeft&amp;nbsp;As&amp;nbsp;Range,&amp;nbsp;ws&amp;nbsp;As&amp;nbsp;Worksheet &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;ok&amp;nbsp;As&amp;nbsp;Boolean &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Application.ScreenUpdating&amp;nbsp;=&amp;nbsp;False &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Application.EnableEvents&amp;nbsp;=&amp;nbsp;False &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;On&amp;nbsp;Error&amp;nbsp;Resume&amp;nbsp;Next &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set&amp;nbsp;ws&amp;nbsp;=&amp;nbsp;ActiveSheet &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set&amp;nbsp;topLeft&amp;nbsp;=&amp;nbsp;ActiveCell&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;좌상단&amp;nbsp;기준&amp;nbsp;셀 &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;1)&amp;nbsp;이미지&amp;nbsp;파일&amp;nbsp;선택 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;filePath&amp;nbsp;=&amp;nbsp;Application.GetOpenFilename(&amp;nbsp;_ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&quot;Image&amp;nbsp;Files&amp;nbsp;(*.png;*.jpg;*.jpeg;*.bmp),*.png;*.jpg;*.jpeg;*.bmp&quot;,&amp;nbsp;,&amp;nbsp;_ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&quot;픽셀아트로&amp;nbsp;변환할&amp;nbsp;이미지를&amp;nbsp;선택하세요&quot;) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;VarType(filePath)&amp;nbsp;=&amp;nbsp;vbBoolean&amp;nbsp;Then&amp;nbsp;GoTo&amp;nbsp;CleanExit&amp;nbsp;'&amp;nbsp;취소&amp;nbsp;시&amp;nbsp;종료 &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;2)&amp;nbsp;매개변수&amp;nbsp;입력 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;w&amp;nbsp;=&amp;nbsp;CLng(InputBox(&quot;가로&amp;nbsp;픽셀(셀)&amp;nbsp;수를&amp;nbsp;입력하세요&amp;nbsp;(예:&amp;nbsp;32,&amp;nbsp;48,&amp;nbsp;64)&quot;,&amp;nbsp;&quot;가로&amp;nbsp;픽셀&quot;,&amp;nbsp;100)) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;w&amp;nbsp;&amp;lt;=&amp;nbsp;0&amp;nbsp;Then&amp;nbsp;GoTo&amp;nbsp;CleanExit &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;h&amp;nbsp;=&amp;nbsp;CLng(InputBox(&quot;세로&amp;nbsp;픽셀(셀)&amp;nbsp;수를&amp;nbsp;입력하세요&amp;nbsp;(예:&amp;nbsp;32,&amp;nbsp;48,&amp;nbsp;64)&quot;,&amp;nbsp;&quot;세로&amp;nbsp;픽셀&quot;,&amp;nbsp;100)) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;h&amp;nbsp;&amp;lt;=&amp;nbsp;0&amp;nbsp;Then&amp;nbsp;GoTo&amp;nbsp;CleanExit &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;cellPx&amp;nbsp;=&amp;nbsp;CLng(InputBox(&quot;셀&amp;nbsp;한&amp;nbsp;변의&amp;nbsp;크기(px)&amp;nbsp;입력&amp;nbsp;(권장:&amp;nbsp;12~16)&quot;,&amp;nbsp;&quot;셀&amp;nbsp;크기&quot;,&amp;nbsp;2)) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;cellPx&amp;nbsp;&amp;lt;=&amp;nbsp;0&amp;nbsp;Then&amp;nbsp;cellPx&amp;nbsp;=&amp;nbsp;14 &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;3)&amp;nbsp;WIA로&amp;nbsp;축소&amp;nbsp;&amp;amp;&amp;nbsp;BMP&amp;nbsp;변환&amp;nbsp;&amp;rarr;&amp;nbsp;임시&amp;nbsp;파일&amp;nbsp;저장 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;tmpBmp&amp;nbsp;=&amp;nbsp;Environ$(&quot;TEMP&quot;)&amp;nbsp;&amp;amp;&amp;nbsp;&quot;\pixel_tmp_&quot;&amp;nbsp;&amp;amp;&amp;nbsp;Format(Now,&amp;nbsp;&quot;yyyymmdd_hhnnss&quot;)&amp;nbsp;&amp;amp;&amp;nbsp;&quot;.bmp&quot; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ok&amp;nbsp;=&amp;nbsp;WIA_ScaleAndSaveAsBMP(CStr(filePath),&amp;nbsp;tmpBmp,&amp;nbsp;w,&amp;nbsp;h) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;Not&amp;nbsp;ok&amp;nbsp;Then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;MsgBox&amp;nbsp;&quot;이미지&amp;nbsp;처리에&amp;nbsp;실패했습니다.&amp;nbsp;(WIA&amp;nbsp;런타임&amp;nbsp;필요).&quot;,&amp;nbsp;vbExclamation &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;GoTo&amp;nbsp;CleanExit &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;If &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;4)&amp;nbsp;좌측:&amp;nbsp;픽셀아트&amp;nbsp;그리드/채우기 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;PrepareSquareGrid&amp;nbsp;ws,&amp;nbsp;topLeft,&amp;nbsp;w,&amp;nbsp;h,&amp;nbsp;cellPx &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;PaintCellsFromBitmap&amp;nbsp;tmpBmp,&amp;nbsp;ws,&amp;nbsp;topLeft,&amp;nbsp;w,&amp;nbsp;h &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;5)&amp;nbsp;우측:&amp;nbsp;한&amp;nbsp;칸&amp;nbsp;띄우고&amp;nbsp;'실제&amp;nbsp;이미지&amp;nbsp;영역(drawW&amp;times;drawH)'만큼만&amp;nbsp;원본&amp;nbsp;삽입 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;PlaceOriginalImage_ActualArea&amp;nbsp;CStr(filePath),&amp;nbsp;tmpBmp,&amp;nbsp;ws,&amp;nbsp;topLeft,&amp;nbsp;w,&amp;nbsp;h,&amp;nbsp;cellPx &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ActiveWindow.DisplayHeadings&amp;nbsp;=&amp;nbsp;False &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;MsgBox&amp;nbsp;&quot;완료!&amp;nbsp;왼쪽은&amp;nbsp;픽셀아트,&amp;nbsp;오른쪽은&amp;nbsp;실제&amp;nbsp;이미지&amp;nbsp;영역만큼의&amp;nbsp;원본이&amp;nbsp;배치되었습니다.&quot;,&amp;nbsp;vbInformation &lt;br /&gt;&lt;br /&gt;CleanExit: &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;On&amp;nbsp;Error&amp;nbsp;Resume&amp;nbsp;Next &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;Len(Dir$(tmpBmp))&amp;nbsp;&amp;gt;&amp;nbsp;0&amp;nbsp;Then&amp;nbsp;Kill&amp;nbsp;tmpBmp &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Application.ScreenUpdating&amp;nbsp;=&amp;nbsp;True &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Application.EnableEvents&amp;nbsp;=&amp;nbsp;True &lt;br /&gt;End&amp;nbsp;Sub &lt;br /&gt;&lt;br /&gt;'=========================================== &lt;br /&gt;'&amp;nbsp;&amp;nbsp;WIA&amp;nbsp;사용:&amp;nbsp;이미지&amp;nbsp;리사이즈&amp;nbsp;+&amp;nbsp;24bpp&amp;nbsp;BMP로&amp;nbsp;변환&amp;nbsp;(Late&amp;nbsp;Binding) &lt;br /&gt;'=========================================== &lt;br /&gt;Private&amp;nbsp;Function&amp;nbsp;WIA_ScaleAndSaveAsBMP(ByVal&amp;nbsp;srcPath&amp;nbsp;As&amp;nbsp;String,&amp;nbsp;ByVal&amp;nbsp;dstBmp&amp;nbsp;As&amp;nbsp;String,&amp;nbsp;_ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ByVal&amp;nbsp;outW&amp;nbsp;As&amp;nbsp;Long,&amp;nbsp;ByVal&amp;nbsp;outH&amp;nbsp;As&amp;nbsp;Long)&amp;nbsp;As&amp;nbsp;Boolean &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;On&amp;nbsp;Error&amp;nbsp;GoTo&amp;nbsp;EH &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;img&amp;nbsp;As&amp;nbsp;Object&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;WIA.ImageFile &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;ip&amp;nbsp;As&amp;nbsp;Object&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;WIA.ImageProcess &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;resultImg&amp;nbsp;As&amp;nbsp;Object&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;WIA.ImageFile &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Const&amp;nbsp;wiaFormatBMP&amp;nbsp;As&amp;nbsp;String&amp;nbsp;=&amp;nbsp;&quot;{B96B3CAB-0728-11D3-9D7B-0000F81EF32E}&quot; &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set&amp;nbsp;img&amp;nbsp;=&amp;nbsp;CreateObject(&quot;WIA.ImageFile&quot;) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;img.LoadFile&amp;nbsp;srcPath &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set&amp;nbsp;ip&amp;nbsp;=&amp;nbsp;CreateObject(&quot;WIA.ImageProcess&quot;) &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;1)&amp;nbsp;Scale&amp;nbsp;(비율&amp;nbsp;유지) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ip.Filters.Add&amp;nbsp;ip.FilterInfos(&quot;Scale&quot;).FilterID &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ip.Filters(1).Properties(&quot;MaximumWidth&quot;).Value&amp;nbsp;=&amp;nbsp;outW &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ip.Filters(1).Properties(&quot;MaximumHeight&quot;).Value&amp;nbsp;=&amp;nbsp;outH &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;2)&amp;nbsp;Convert&amp;nbsp;&amp;rarr;&amp;nbsp;BMP&amp;nbsp;24bpp &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ip.Filters.Add&amp;nbsp;ip.FilterInfos(&quot;Convert&quot;).FilterID &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ip.Filters(2).Properties(&quot;FormatID&quot;).Value&amp;nbsp;=&amp;nbsp;wiaFormatBMP &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;On&amp;nbsp;Error&amp;nbsp;Resume&amp;nbsp;Next &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ip.Filters(2).Properties(&quot;BitsPerPixel&quot;).Value&amp;nbsp;=&amp;nbsp;24 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;On&amp;nbsp;Error&amp;nbsp;GoTo&amp;nbsp;EH &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set&amp;nbsp;resultImg&amp;nbsp;=&amp;nbsp;ip.Apply(img) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;resultImg.SaveFile&amp;nbsp;dstBmp &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;WIA_ScaleAndSaveAsBMP&amp;nbsp;=&amp;nbsp;True &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Exit&amp;nbsp;Function &lt;br /&gt;EH: &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;WIA_ScaleAndSaveAsBMP&amp;nbsp;=&amp;nbsp;False &lt;br /&gt;End&amp;nbsp;Function &lt;br /&gt;&lt;br /&gt;'=========================================== &lt;br /&gt;'&amp;nbsp;&amp;nbsp;그리드&amp;nbsp;준비:&amp;nbsp;셀&amp;nbsp;크기/범위&amp;nbsp;초기화&amp;nbsp;(좌측&amp;nbsp;픽셀아트&amp;nbsp;영역) &lt;br /&gt;'=========================================== &lt;br /&gt;Private&amp;nbsp;Sub&amp;nbsp;PrepareSquareGrid(ByVal&amp;nbsp;ws&amp;nbsp;As&amp;nbsp;Worksheet,&amp;nbsp;ByVal&amp;nbsp;topLeft&amp;nbsp;As&amp;nbsp;Range,&amp;nbsp;_ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ByVal&amp;nbsp;w&amp;nbsp;As&amp;nbsp;Long,&amp;nbsp;ByVal&amp;nbsp;h&amp;nbsp;As&amp;nbsp;Long,&amp;nbsp;ByVal&amp;nbsp;cellPx&amp;nbsp;As&amp;nbsp;Long) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;r&amp;nbsp;As&amp;nbsp;Long,&amp;nbsp;c&amp;nbsp;As&amp;nbsp;Long &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;colWidth&amp;nbsp;As&amp;nbsp;Double,&amp;nbsp;rowHeight&amp;nbsp;As&amp;nbsp;Double &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;경험치&amp;nbsp;기반&amp;nbsp;변환:&amp;nbsp;1&amp;nbsp;colWidth&amp;nbsp;?&amp;nbsp;7.5&amp;nbsp;px,&amp;nbsp;1&amp;nbsp;px&amp;nbsp;?&amp;nbsp;0.75&amp;nbsp;pt &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;colWidth&amp;nbsp;=&amp;nbsp;cellPx&amp;nbsp;/&amp;nbsp;7.5 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;rowHeight&amp;nbsp;=&amp;nbsp;cellPx&amp;nbsp;*&amp;nbsp;0.75 &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;대상&amp;nbsp;범위&amp;nbsp;색/서식&amp;nbsp;초기화 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ws.Range(topLeft,&amp;nbsp;topLeft.Offset(h&amp;nbsp;-&amp;nbsp;1,&amp;nbsp;w&amp;nbsp;-&amp;nbsp;1)).ClearFormats &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;열/행&amp;nbsp;크기&amp;nbsp;조정(좌측&amp;nbsp;픽셀아트&amp;nbsp;영역) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;For&amp;nbsp;c&amp;nbsp;=&amp;nbsp;0&amp;nbsp;To&amp;nbsp;w&amp;nbsp;-&amp;nbsp;1 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ws.Columns(topLeft.Column&amp;nbsp;+&amp;nbsp;c).ColumnWidth&amp;nbsp;=&amp;nbsp;colWidth &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Next&amp;nbsp;c &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;For&amp;nbsp;r&amp;nbsp;=&amp;nbsp;0&amp;nbsp;To&amp;nbsp;h&amp;nbsp;-&amp;nbsp;1 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ws.Rows(topLeft.Row&amp;nbsp;+&amp;nbsp;r).rowHeight&amp;nbsp;=&amp;nbsp;rowHeight &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Next&amp;nbsp;r &lt;br /&gt;End&amp;nbsp;Sub &lt;br /&gt;&lt;br /&gt;'=========================================== &lt;br /&gt;'&amp;nbsp;&amp;nbsp;BMP&amp;nbsp;&amp;rarr;&amp;nbsp;셀&amp;nbsp;채우기&amp;nbsp;(실제&amp;nbsp;이미지&amp;nbsp;영역만&amp;nbsp;칠하고,&amp;nbsp;남는&amp;nbsp;영역&amp;nbsp;비우기) &lt;br /&gt;'=========================================== &lt;br /&gt;Private&amp;nbsp;Sub&amp;nbsp;PaintCellsFromBitmap(ByVal&amp;nbsp;bmpPath&amp;nbsp;As&amp;nbsp;String,&amp;nbsp;ByVal&amp;nbsp;ws&amp;nbsp;As&amp;nbsp;Worksheet,&amp;nbsp;_ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ByVal&amp;nbsp;topLeft&amp;nbsp;As&amp;nbsp;Range,&amp;nbsp;ByVal&amp;nbsp;w&amp;nbsp;As&amp;nbsp;Long,&amp;nbsp;ByVal&amp;nbsp;h&amp;nbsp;As&amp;nbsp;Long) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;On&amp;nbsp;Error&amp;nbsp;GoTo&amp;nbsp;EH &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;pic&amp;nbsp;As&amp;nbsp;IPictureDisp &lt;br /&gt;#If&amp;nbsp;VBA7&amp;nbsp;Then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;hBmp&amp;nbsp;As&amp;nbsp;LongPtr,&amp;nbsp;hMemDC&amp;nbsp;As&amp;nbsp;LongPtr,&amp;nbsp;hOld&amp;nbsp;As&amp;nbsp;LongPtr &lt;br /&gt;#Else &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;hBmp&amp;nbsp;As&amp;nbsp;Long,&amp;nbsp;hMemDC&amp;nbsp;As&amp;nbsp;Long,&amp;nbsp;hOld&amp;nbsp;As&amp;nbsp;Long &lt;br /&gt;#End&amp;nbsp;If &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;x&amp;nbsp;As&amp;nbsp;Long,&amp;nbsp;y&amp;nbsp;As&amp;nbsp;Long,&amp;nbsp;yy&amp;nbsp;As&amp;nbsp;Long &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;colorref&amp;nbsp;As&amp;nbsp;Long,&amp;nbsp;rr&amp;nbsp;As&amp;nbsp;Long,&amp;nbsp;gg&amp;nbsp;As&amp;nbsp;Long,&amp;nbsp;bb&amp;nbsp;As&amp;nbsp;Long &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;tgt&amp;nbsp;As&amp;nbsp;Range &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;bmpW&amp;nbsp;As&amp;nbsp;Long,&amp;nbsp;bmpH&amp;nbsp;As&amp;nbsp;Long &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;drawW&amp;nbsp;As&amp;nbsp;Long,&amp;nbsp;drawH&amp;nbsp;As&amp;nbsp;Long &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;yFlip&amp;nbsp;As&amp;nbsp;Boolean:&amp;nbsp;yFlip&amp;nbsp;=&amp;nbsp;False&amp;nbsp;&amp;nbsp;'&amp;nbsp;필요&amp;nbsp;시&amp;nbsp;True &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;BMP&amp;nbsp;로드&amp;nbsp;및&amp;nbsp;실제&amp;nbsp;픽셀&amp;nbsp;크기&amp;nbsp;계산(HIMETRIC&amp;nbsp;&amp;rarr;&amp;nbsp;Pixel&amp;nbsp;변환) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set&amp;nbsp;pic&amp;nbsp;=&amp;nbsp;LoadPicture(bmpPath)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;StdPicture&amp;nbsp;(IPictureDisp) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;bmpW&amp;nbsp;=&amp;nbsp;HiMetricToPixels(pic.Width,&amp;nbsp;True)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;실제&amp;nbsp;BMP&amp;nbsp;폭(픽셀) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;bmpH&amp;nbsp;=&amp;nbsp;HiMetricToPixels(pic.Height,&amp;nbsp;False)&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;실제&amp;nbsp;BMP&amp;nbsp;높이(픽셀) &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;실제&amp;nbsp;그릴&amp;nbsp;영역&amp;nbsp;(입력&amp;nbsp;w/h와&amp;nbsp;BMP&amp;nbsp;실제&amp;nbsp;크기&amp;nbsp;중&amp;nbsp;작은&amp;nbsp;값) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;drawW&amp;nbsp;=&amp;nbsp;IIf(w&amp;nbsp;&amp;lt;&amp;nbsp;bmpW,&amp;nbsp;w,&amp;nbsp;bmpW) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;drawH&amp;nbsp;=&amp;nbsp;IIf(h&amp;nbsp;&amp;lt;&amp;nbsp;bmpH,&amp;nbsp;h,&amp;nbsp;bmpH) &lt;br /&gt;&lt;br /&gt;#If&amp;nbsp;VBA7&amp;nbsp;Then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;hBmp&amp;nbsp;=&amp;nbsp;pic.Handle &lt;br /&gt;#Else &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;hBmp&amp;nbsp;=&amp;nbsp;CLng(pic.Handle) &lt;br /&gt;#End&amp;nbsp;If &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;hMemDC&amp;nbsp;=&amp;nbsp;CreateCompatibleDC(0) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;hOld&amp;nbsp;=&amp;nbsp;SelectObject(hMemDC,&amp;nbsp;hBmp) &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;1)&amp;nbsp;실제&amp;nbsp;이미지&amp;nbsp;영역만&amp;nbsp;칠하기 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;For&amp;nbsp;y&amp;nbsp;=&amp;nbsp;0&amp;nbsp;To&amp;nbsp;drawH&amp;nbsp;-&amp;nbsp;1 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;yy&amp;nbsp;=&amp;nbsp;IIf(yFlip,&amp;nbsp;(drawH&amp;nbsp;-&amp;nbsp;1&amp;nbsp;-&amp;nbsp;y),&amp;nbsp;y) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;For&amp;nbsp;x&amp;nbsp;=&amp;nbsp;0&amp;nbsp;To&amp;nbsp;drawW&amp;nbsp;-&amp;nbsp;1 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;colorref&amp;nbsp;=&amp;nbsp;GetPixel(hMemDC,&amp;nbsp;x,&amp;nbsp;yy)&amp;nbsp;&amp;nbsp;'&amp;nbsp;COLORREF&amp;nbsp;=&amp;nbsp;0x00BBGGRR &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set&amp;nbsp;tgt&amp;nbsp;=&amp;nbsp;ws.Cells(topLeft.Row&amp;nbsp;+&amp;nbsp;y,&amp;nbsp;topLeft.Column&amp;nbsp;+&amp;nbsp;x) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;colorref&amp;nbsp;=&amp;nbsp;&amp;amp;HFFFFFFFF&amp;nbsp;Then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;tgt.Interior.Pattern&amp;nbsp;=&amp;nbsp;xlNone &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Else &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;rr&amp;nbsp;=&amp;nbsp;(colorref&amp;nbsp;And&amp;nbsp;&amp;amp;HFF&amp;amp;) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;gg&amp;nbsp;=&amp;nbsp;(colorref&amp;nbsp;\&amp;nbsp;&amp;amp;H100&amp;amp;)&amp;nbsp;And&amp;nbsp;&amp;amp;HFF&amp;amp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;bb&amp;nbsp;=&amp;nbsp;(colorref&amp;nbsp;\&amp;nbsp;&amp;amp;H10000)&amp;nbsp;And&amp;nbsp;&amp;amp;HFF&amp;amp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;tgt.Interior.Color&amp;nbsp;=&amp;nbsp;RGB(rr,&amp;nbsp;gg,&amp;nbsp;bb) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;If &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Next&amp;nbsp;x &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Next&amp;nbsp;y &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;2)&amp;nbsp;남는&amp;nbsp;영역&amp;nbsp;전부&amp;nbsp;흰색(배경용) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;drawW&amp;nbsp;&amp;lt;&amp;nbsp;w&amp;nbsp;Then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ws.Range(&amp;nbsp;_ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ws.Cells(topLeft.Row,&amp;nbsp;topLeft.Column&amp;nbsp;+&amp;nbsp;drawW),&amp;nbsp;_ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ws.Cells(topLeft.Row&amp;nbsp;+&amp;nbsp;drawH&amp;nbsp;-&amp;nbsp;1,&amp;nbsp;topLeft.Column&amp;nbsp;+&amp;nbsp;w&amp;nbsp;-&amp;nbsp;1)&amp;nbsp;_ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;).Interior.Color&amp;nbsp;=&amp;nbsp;vbWhite &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;If &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;drawH&amp;nbsp;&amp;lt;&amp;nbsp;h&amp;nbsp;Then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ws.Range(&amp;nbsp;_ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ws.Cells(topLeft.Row&amp;nbsp;+&amp;nbsp;drawH,&amp;nbsp;topLeft.Column),&amp;nbsp;_ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ws.Cells(topLeft.Row&amp;nbsp;+&amp;nbsp;h&amp;nbsp;-&amp;nbsp;1,&amp;nbsp;topLeft.Column&amp;nbsp;+&amp;nbsp;w&amp;nbsp;-&amp;nbsp;1)&amp;nbsp;_ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;).Interior.Color&amp;nbsp;=&amp;nbsp;vbWhite &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;If &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;원복&amp;nbsp;&amp;amp;&amp;nbsp;정리 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Call&amp;nbsp;SelectObject(hMemDC,&amp;nbsp;hOld) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Call&amp;nbsp;DeleteDC(hMemDC) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Exit&amp;nbsp;Sub &lt;br /&gt;&lt;br /&gt;EH: &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;On&amp;nbsp;Error&amp;nbsp;Resume&amp;nbsp;Next &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;hOld&amp;nbsp;&amp;lt;&amp;gt;&amp;nbsp;0&amp;nbsp;Then&amp;nbsp;SelectObject&amp;nbsp;hMemDC,&amp;nbsp;hOld &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;hMemDC&amp;nbsp;&amp;lt;&amp;gt;&amp;nbsp;0&amp;nbsp;Then&amp;nbsp;DeleteDC&amp;nbsp;hMemDC &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;MsgBox&amp;nbsp;&quot;셀&amp;nbsp;채우기&amp;nbsp;중&amp;nbsp;오류가&amp;nbsp;발생했습니다:&amp;nbsp;&quot;&amp;nbsp;&amp;amp;&amp;nbsp;Err.Description,&amp;nbsp;vbExclamation &lt;br /&gt;End&amp;nbsp;Sub &lt;br /&gt;&lt;br /&gt;'=========================================== &lt;br /&gt;'&amp;nbsp;&amp;nbsp;(우측)&amp;nbsp;실제&amp;nbsp;이미지&amp;nbsp;영역(drawW&amp;times;drawH)에만&amp;nbsp;원본&amp;nbsp;배치 &lt;br /&gt;'&amp;nbsp;&amp;nbsp;-&amp;nbsp;픽셀아트&amp;nbsp;영역&amp;nbsp;오른쪽에&amp;nbsp;1열&amp;nbsp;공백&amp;nbsp;후&amp;nbsp;시작 &lt;br /&gt;'&amp;nbsp;&amp;nbsp;-&amp;nbsp;tmpBmp&amp;nbsp;크기를&amp;nbsp;읽어&amp;nbsp;drawW,&amp;nbsp;drawH&amp;nbsp;산출&amp;nbsp;&amp;rarr;&amp;nbsp;그&amp;nbsp;크기만큼만&amp;nbsp;배치 &lt;br /&gt;'=========================================== &lt;br /&gt;Private&amp;nbsp;Sub&amp;nbsp;PlaceOriginalImage_ActualArea(ByVal&amp;nbsp;imgPath&amp;nbsp;As&amp;nbsp;String,&amp;nbsp;ByVal&amp;nbsp;tmpBmp&amp;nbsp;As&amp;nbsp;String,&amp;nbsp;_ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ByVal&amp;nbsp;ws&amp;nbsp;As&amp;nbsp;Worksheet,&amp;nbsp;ByVal&amp;nbsp;topLeft&amp;nbsp;As&amp;nbsp;Range,&amp;nbsp;_ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ByVal&amp;nbsp;w&amp;nbsp;As&amp;nbsp;Long,&amp;nbsp;ByVal&amp;nbsp;h&amp;nbsp;As&amp;nbsp;Long,&amp;nbsp;ByVal&amp;nbsp;cellPx&amp;nbsp;As&amp;nbsp;Long) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;startCell&amp;nbsp;As&amp;nbsp;Range,&amp;nbsp;panelArea&amp;nbsp;As&amp;nbsp;Range,&amp;nbsp;imgArea&amp;nbsp;As&amp;nbsp;Range &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;c&amp;nbsp;As&amp;nbsp;Long,&amp;nbsp;r&amp;nbsp;As&amp;nbsp;Long &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;colWidth&amp;nbsp;As&amp;nbsp;Double,&amp;nbsp;rowHeight&amp;nbsp;As&amp;nbsp;Double &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;shp&amp;nbsp;As&amp;nbsp;Shape &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;startCol&amp;nbsp;As&amp;nbsp;Long &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;pic&amp;nbsp;As&amp;nbsp;IPictureDisp &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;bmpW&amp;nbsp;As&amp;nbsp;Long,&amp;nbsp;bmpH&amp;nbsp;As&amp;nbsp;Long &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;drawW&amp;nbsp;As&amp;nbsp;Long,&amp;nbsp;drawH&amp;nbsp;As&amp;nbsp;Long &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;tmpBmp(축소&amp;nbsp;결과)의&amp;nbsp;실제&amp;nbsp;픽셀&amp;nbsp;크기로&amp;nbsp;drawW/drawH&amp;nbsp;산출 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set&amp;nbsp;pic&amp;nbsp;=&amp;nbsp;LoadPicture(tmpBmp) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;bmpW&amp;nbsp;=&amp;nbsp;HiMetricToPixels(pic.Width,&amp;nbsp;True) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;bmpH&amp;nbsp;=&amp;nbsp;HiMetricToPixels(pic.Height,&amp;nbsp;False) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;drawW&amp;nbsp;=&amp;nbsp;IIf(w&amp;nbsp;&amp;lt;&amp;nbsp;bmpW,&amp;nbsp;w,&amp;nbsp;bmpW) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;drawH&amp;nbsp;=&amp;nbsp;IIf(h&amp;nbsp;&amp;lt;&amp;nbsp;bmpH,&amp;nbsp;h,&amp;nbsp;bmpH) &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;동일한&amp;nbsp;셀&amp;nbsp;크기로&amp;nbsp;오른쪽&amp;nbsp;패널(공백&amp;nbsp;1열&amp;nbsp;+&amp;nbsp;원본용&amp;nbsp;패널&amp;nbsp;w열)&amp;nbsp;준비 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;colWidth&amp;nbsp;=&amp;nbsp;cellPx&amp;nbsp;/&amp;nbsp;7.5 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;rowHeight&amp;nbsp;=&amp;nbsp;cellPx&amp;nbsp;*&amp;nbsp;0.75 &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;startCol&amp;nbsp;=&amp;nbsp;topLeft.Column&amp;nbsp;+&amp;nbsp;w&amp;nbsp;+&amp;nbsp;1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;한&amp;nbsp;칸&amp;nbsp;띄운&amp;nbsp;다음&amp;nbsp;열부터 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;공백&amp;nbsp;1열&amp;nbsp;+&amp;nbsp;패널&amp;nbsp;w열까지&amp;nbsp;폭&amp;nbsp;세팅 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;For&amp;nbsp;c&amp;nbsp;=&amp;nbsp;0&amp;nbsp;To&amp;nbsp;w &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ws.Columns(startCol&amp;nbsp;-&amp;nbsp;1&amp;nbsp;+&amp;nbsp;c).ColumnWidth&amp;nbsp;=&amp;nbsp;colWidth &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Next&amp;nbsp;c &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;For&amp;nbsp;r&amp;nbsp;=&amp;nbsp;0&amp;nbsp;To&amp;nbsp;h&amp;nbsp;-&amp;nbsp;1 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ws.Rows(topLeft.Row&amp;nbsp;+&amp;nbsp;r).rowHeight&amp;nbsp;=&amp;nbsp;rowHeight &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Next&amp;nbsp;r &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;패널&amp;nbsp;전체(w&amp;times;h) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set&amp;nbsp;startCell&amp;nbsp;=&amp;nbsp;ws.Cells(topLeft.Row,&amp;nbsp;startCol) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set&amp;nbsp;panelArea&amp;nbsp;=&amp;nbsp;ws.Range(startCell,&amp;nbsp;startCell.Offset(h&amp;nbsp;-&amp;nbsp;1,&amp;nbsp;w&amp;nbsp;-&amp;nbsp;1)) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;실제&amp;nbsp;이미지&amp;nbsp;영역(drawW&amp;times;drawH)만&amp;nbsp;사용&amp;nbsp;(패널의&amp;nbsp;좌상단부터) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set&amp;nbsp;imgArea&amp;nbsp;=&amp;nbsp;ws.Range(startCell,&amp;nbsp;startCell.Offset(drawH&amp;nbsp;-&amp;nbsp;1,&amp;nbsp;drawW&amp;nbsp;-&amp;nbsp;1)) &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;패널&amp;nbsp;바탕은&amp;nbsp;흰색,&amp;nbsp;실제&amp;nbsp;이미지&amp;nbsp;영역은&amp;nbsp;그림으로&amp;nbsp;채움 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;panelArea.Interior.Color&amp;nbsp;=&amp;nbsp;vbWhite &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;기존&amp;nbsp;그림&amp;nbsp;겹침&amp;nbsp;방지(필요&amp;nbsp;시&amp;nbsp;사용) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'Dim&amp;nbsp;s&amp;nbsp;As&amp;nbsp;Shape &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'For&amp;nbsp;Each&amp;nbsp;s&amp;nbsp;In&amp;nbsp;ws.Shapes &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;s.Left&amp;nbsp;&amp;gt;=&amp;nbsp;panelArea.Left&amp;nbsp;-&amp;nbsp;0.5&amp;nbsp;And&amp;nbsp;s.Top&amp;nbsp;&amp;gt;=&amp;nbsp;panelArea.Top&amp;nbsp;-&amp;nbsp;0.5&amp;nbsp;_ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;And&amp;nbsp;s.Left&amp;nbsp;&amp;lt;&amp;nbsp;panelArea.Left&amp;nbsp;+&amp;nbsp;panelArea.Width&amp;nbsp;And&amp;nbsp;s.Top&amp;nbsp;&amp;lt;&amp;nbsp;panelArea.Top&amp;nbsp;+&amp;nbsp;panelArea.Height&amp;nbsp;Then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;s.Delete &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;If &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'Next&amp;nbsp;s &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;원본&amp;nbsp;이미지&amp;nbsp;삽입:&amp;nbsp;'실제&amp;nbsp;이미지&amp;nbsp;영역'&amp;nbsp;크기에&amp;nbsp;맞춰&amp;nbsp;배치 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set&amp;nbsp;shp&amp;nbsp;=&amp;nbsp;ws.Shapes.AddPicture(CStr(imgPath),&amp;nbsp;msoFalse,&amp;nbsp;msoTrue,&amp;nbsp;_ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;imgArea.Left,&amp;nbsp;imgArea.Top,&amp;nbsp;imgArea.Width,&amp;nbsp;imgArea.Height) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;On&amp;nbsp;Error&amp;nbsp;Resume&amp;nbsp;Next &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;shp.LockAspectRatio&amp;nbsp;=&amp;nbsp;msoFalse&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;drawW:drawH&amp;nbsp;셀&amp;nbsp;비율과&amp;nbsp;동일하므로&amp;nbsp;왜곡&amp;nbsp;없음 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;shp.Placement&amp;nbsp;=&amp;nbsp;xlMoveAndSize &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;On&amp;nbsp;Error&amp;nbsp;GoTo&amp;nbsp;0 &lt;br /&gt;End&amp;nbsp;Sub &lt;br /&gt;&lt;br /&gt;'=========================================== &lt;br /&gt;'&amp;nbsp;&amp;nbsp;화면&amp;nbsp;DPI&amp;nbsp;및&amp;nbsp;HIMETRIC&amp;nbsp;&amp;rarr;&amp;nbsp;Pixel&amp;nbsp;변환&amp;nbsp;유틸 &lt;br /&gt;'=========================================== &lt;br /&gt;Private&amp;nbsp;Function&amp;nbsp;ScreenDPI(Optional&amp;nbsp;ByVal&amp;nbsp;isX&amp;nbsp;As&amp;nbsp;Boolean&amp;nbsp;=&amp;nbsp;True)&amp;nbsp;As&amp;nbsp;Long &lt;br /&gt;#If&amp;nbsp;VBA7&amp;nbsp;Then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;hdc&amp;nbsp;As&amp;nbsp;LongPtr &lt;br /&gt;#Else &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;hdc&amp;nbsp;As&amp;nbsp;Long &lt;br /&gt;#End&amp;nbsp;If &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;hdc&amp;nbsp;=&amp;nbsp;GetDC(0) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;isX&amp;nbsp;Then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ScreenDPI&amp;nbsp;=&amp;nbsp;GetDeviceCaps(hdc,&amp;nbsp;LOGPIXELSX) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Else &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ScreenDPI&amp;nbsp;=&amp;nbsp;GetDeviceCaps(hdc,&amp;nbsp;LOGPIXELSY) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;If &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Call&amp;nbsp;ReleaseDC(0,&amp;nbsp;hdc) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;ScreenDPI&amp;nbsp;=&amp;nbsp;0&amp;nbsp;Then&amp;nbsp;ScreenDPI&amp;nbsp;=&amp;nbsp;96&amp;nbsp;'&amp;nbsp;폴백 &lt;br /&gt;End&amp;nbsp;Function &lt;br /&gt;&lt;br /&gt;Private&amp;nbsp;Function&amp;nbsp;HiMetricToPixels(ByVal&amp;nbsp;hm&amp;nbsp;As&amp;nbsp;Long,&amp;nbsp;Optional&amp;nbsp;ByVal&amp;nbsp;isX&amp;nbsp;As&amp;nbsp;Boolean&amp;nbsp;=&amp;nbsp;True)&amp;nbsp;As&amp;nbsp;Long &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;1&amp;nbsp;inch&amp;nbsp;=&amp;nbsp;25.4&amp;nbsp;mm&amp;nbsp;=&amp;nbsp;2540&amp;nbsp;HIMETRIC(0.01mm&amp;nbsp;단위) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;HiMetricToPixels&amp;nbsp;=&amp;nbsp;CLng((hm&amp;nbsp;*&amp;nbsp;ScreenDPI(isX)&amp;nbsp;+&amp;nbsp;1270)&amp;nbsp;\&amp;nbsp;2540) &lt;br /&gt;End&amp;nbsp;Function &lt;br /&gt;&lt;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;figure class=&quot;fileblock&quot; data-ke-align=&quot;alignCenter&quot;&gt;&lt;a href=&quot;https://blog.kakaocdn.net/dn/bRlMRr/dJMb9L4Rqt9/kV3j0Rk4dbKHzh5JEbMJH1/%EC%82%AC%EC%A7%84%EC%9D%84%20Pixel%20Art%EB%A1%9C%20%EB%B3%80%ED%99%98.xlsm?attach=1&amp;amp;knm=tfile.xlsm&quot; class=&quot;&quot;&gt;
    &lt;div class=&quot;image&quot;&gt;&lt;/div&gt;
    &lt;div class=&quot;desc&quot;&gt;&lt;div class=&quot;filename&quot;&gt;&lt;span class=&quot;name&quot;&gt;사진을 Pixel Art로 변환.xlsm&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;size&quot;&gt;0.37MB&lt;/div&gt;
&lt;/div&gt;
  &lt;/a&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>Picture</category>
      <category>#엑셀VBA #사진모자이크 #픽셀아트 #엑셀자동화 #엑셀팁 #VBA코드 #이미지처리 #엑셀매크로 #ExcelVBA #업무자동화</category>
      <author>노만e</author>
      <guid isPermaLink="true">https://dream2049.tistory.com/160</guid>
      <comments>https://dream2049.tistory.com/160#entry160comment</comments>
      <pubDate>Fri, 8 Aug 2025 10:59:33 +0900</pubDate>
    </item>
    <item>
      <title>셀 클릭하면 자동 완성창이 뜬다고? 이게 진짜 됩니다.</title>
      <link>https://dream2049.tistory.com/159</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;엑셀 자동완성, 네이버 검색창처럼 만드는 방법&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1027&quot; data-origin-height=&quot;644&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/c6WtDJ/btsPLX6eg3w/4EV4uvK5gBkSaFLMh3eiO1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/c6WtDJ/btsPLX6eg3w/4EV4uvK5gBkSaFLMh3eiO1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/c6WtDJ/btsPLX6eg3w/4EV4uvK5gBkSaFLMh3eiO1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fc6WtDJ%2FbtsPLX6eg3w%2F4EV4uvK5gBkSaFLMh3eiO1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;512&quot; height=&quot;321&quot; data-origin-width=&quot;1027&quot; data-origin-height=&quot;644&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-end=&quot;212&quot; data-start=&quot;160&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-end=&quot;212&quot; data-start=&quot;160&quot; data-ke-size=&quot;size16&quot;&gt;엑셀에서도 자동완성 기능이 있었으면 하고, 생각해 보신적은 없으신가요?&lt;/p&gt;
&lt;p data-end=&quot;341&quot; data-start=&quot;214&quot; data-ke-size=&quot;size16&quot;&gt;오늘은 &quot;셀 클릭 &amp;rarr; 자동완성창 표시 &amp;rarr; 키보드 입력에 따라 자동 추천&quot;이 가능한 고급 자동입력 기능을 만들어보려 합니다.&lt;br /&gt;심지어 &lt;b&gt;ESC 키로 취소하거나, Enter 키로 다음 셀로 자동 이동&lt;/b&gt;하는 UX까지 구현됩니다.&lt;/p&gt;
&lt;p data-end=&quot;355&quot; data-start=&quot;343&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-end=&quot;355&quot; data-start=&quot;343&quot; data-ke-size=&quot;size16&quot;&gt;  핵심 기능 정리:&lt;/p&gt;
&lt;p data-end=&quot;548&quot; data-start=&quot;357&quot; data-ke-size=&quot;size16&quot;&gt;✔ 특정 셀(C열 2행 이후)을 클릭하면 콤보박스 자동 표시&lt;br /&gt;✔ List 시트에서 데이터를 불러와 자동완성 리스트 생성&lt;br /&gt;✔ 입력 중 일부만 타이핑해도 자동으로 후보 리스트 필터링&lt;br /&gt;✔ Enter로 값 확정 및 다음 셀 이동&lt;br /&gt;✔ ESC로 입력 취소 및 이전 셀 이동&lt;br /&gt;✔ &amp;larr; &amp;rarr; 방향키도 대응하여 콤보박스 자동 종료&lt;/p&gt;
&lt;p data-end=&quot;606&quot; data-start=&quot;550&quot; data-ke-size=&quot;size16&quot;&gt;복잡해 보이지만, 본문 코드 그대로 붙여넣고 몇 줄만 수정하면 여러분 엑셀에서도 완벽하게 작동합니다.&lt;/p&gt;
&lt;p data-end=&quot;689&quot; data-start=&quot;608&quot; data-ke-size=&quot;size16&quot;&gt;드롭다운보다 빠르고, 검색창처럼 유연한 자동완성.&lt;br /&gt;엑셀 실무자라면 반드시 알아야 할 고급 기능입니다.&lt;/p&gt;
&lt;p data-end=&quot;689&quot; data-start=&quot;608&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-end=&quot;689&quot; data-start=&quot;608&quot; data-ke-size=&quot;size16&quot;&gt;  아래 코드로 직접 구현해보세요!&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 100%;&quot;&gt;Option&amp;nbsp;Explicit &lt;br /&gt;Dim&amp;nbsp;lis()&amp;nbsp;As&amp;nbsp;Variant &lt;br /&gt;Dim&amp;nbsp;memo&amp;nbsp;As&amp;nbsp;Variant &lt;br /&gt;Dim&amp;nbsp;ws&amp;nbsp;As&amp;nbsp;Worksheet &lt;br /&gt;Dim&amp;nbsp;isEscPressed&amp;nbsp;As&amp;nbsp;Boolean&amp;nbsp;&amp;nbsp;'&amp;nbsp;ESC&amp;nbsp;키&amp;nbsp;눌림&amp;nbsp;상태&amp;nbsp;추적 &lt;br /&gt;&lt;br /&gt;Private&amp;nbsp;Sub&amp;nbsp;Worksheet_SelectionChange(ByVal&amp;nbsp;Target&amp;nbsp;As&amp;nbsp;Range) &lt;br /&gt;&amp;nbsp;&amp;nbsp;'&amp;nbsp;다중&amp;nbsp;셀&amp;nbsp;선택시&amp;nbsp;콤보박스&amp;nbsp;숨기고&amp;nbsp;종료 &lt;br /&gt;&amp;nbsp;&amp;nbsp;If&amp;nbsp;Target.CountLarge&amp;nbsp;&amp;gt;&amp;nbsp;1&amp;nbsp;Then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Me.ComboBox1.Visible&amp;nbsp;=&amp;nbsp;False &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Exit&amp;nbsp;Sub &lt;br /&gt;&amp;nbsp;&amp;nbsp;End&amp;nbsp;If &lt;br /&gt;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;'&amp;nbsp;D3&amp;nbsp;이후&amp;nbsp;행에서만&amp;nbsp;동작하도록&amp;nbsp;수정 &lt;br /&gt;&amp;nbsp;&amp;nbsp;If&amp;nbsp;Target.Column&amp;nbsp;&amp;lt;&amp;gt;&amp;nbsp;3&amp;nbsp;Or&amp;nbsp;Target.Row&amp;nbsp;&amp;lt;=&amp;nbsp;1&amp;nbsp;Then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Me.ComboBox1.Visible&amp;nbsp;=&amp;nbsp;False &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Exit&amp;nbsp;Sub &lt;br /&gt;&amp;nbsp;&amp;nbsp;End&amp;nbsp;If &lt;br /&gt;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;zInput&amp;nbsp;As&amp;nbsp;Range &lt;br /&gt;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;Set&amp;nbsp;ws&amp;nbsp;=&amp;nbsp;Sheets(&quot;List&quot;) &lt;br /&gt;&amp;nbsp;&amp;nbsp;Set&amp;nbsp;zInput&amp;nbsp;=&amp;nbsp;Target &lt;br /&gt;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;If&amp;nbsp;Target.Count&amp;nbsp;=&amp;nbsp;1&amp;nbsp;Then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;isEscPressed&amp;nbsp;=&amp;nbsp;False&amp;nbsp;&amp;nbsp;'&amp;nbsp;새로운&amp;nbsp;셀&amp;nbsp;선택시&amp;nbsp;ESC&amp;nbsp;상태&amp;nbsp;초기화 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;memo&amp;nbsp;&amp;lt;&amp;gt;&amp;nbsp;&quot;&quot;&amp;nbsp;Then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;IsError(Application.Match(Range(memo),&amp;nbsp;lis,&amp;nbsp;0))&amp;nbsp;Then&amp;nbsp;Range(memo)&amp;nbsp;=&amp;nbsp;&quot;&quot; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;If &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;List&amp;nbsp;시트의&amp;nbsp;A2열부터&amp;nbsp;데이터&amp;nbsp;가져오기 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;lis&amp;nbsp;=&amp;nbsp;Application.Transpose(ws.Range(&quot;A2:A&quot;&amp;nbsp;&amp;amp;&amp;nbsp;ws.[A65000].End(xlUp).Row)) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Me.ComboBox1.List&amp;nbsp;=&amp;nbsp;lis &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Me.ComboBox1.Height&amp;nbsp;=&amp;nbsp;Target.Height&amp;nbsp;+&amp;nbsp;3 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Me.ComboBox1.Width&amp;nbsp;=&amp;nbsp;Target.Width &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Me.ComboBox1.Top&amp;nbsp;=&amp;nbsp;Target.Top &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Me.ComboBox1.Left&amp;nbsp;=&amp;nbsp;Target.Left &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Me.ComboBox1&amp;nbsp;=&amp;nbsp;Target &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Me.ComboBox1.Visible&amp;nbsp;=&amp;nbsp;True &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Me.ComboBox1.Activate &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;memo&amp;nbsp;=&amp;nbsp;Target.Address &lt;br /&gt;&amp;nbsp;&amp;nbsp;Else &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Me.ComboBox1.Visible&amp;nbsp;=&amp;nbsp;False &lt;br /&gt;&amp;nbsp;&amp;nbsp;End&amp;nbsp;If &lt;br /&gt;End&amp;nbsp;Sub &lt;br /&gt;&lt;br /&gt;Private&amp;nbsp;Sub&amp;nbsp;ComboBox1_Change() &lt;br /&gt;&amp;nbsp;&amp;nbsp;'&amp;nbsp;다중&amp;nbsp;셀&amp;nbsp;선택시&amp;nbsp;종료 &lt;br /&gt;&amp;nbsp;&amp;nbsp;If&amp;nbsp;Selection.CountLarge&amp;nbsp;&amp;gt;&amp;nbsp;1&amp;nbsp;Then&amp;nbsp;Exit&amp;nbsp;Sub &lt;br /&gt;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;dic &lt;br /&gt;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;tmp&amp;nbsp;As&amp;nbsp;String &lt;br /&gt;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;c&amp;nbsp;As&amp;nbsp;Variant &lt;br /&gt;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;'&amp;nbsp;ESC&amp;nbsp;키가&amp;nbsp;눌렸으면&amp;nbsp;값&amp;nbsp;입력하지&amp;nbsp;않음 &lt;br /&gt;&amp;nbsp;&amp;nbsp;If&amp;nbsp;isEscPressed&amp;nbsp;Then&amp;nbsp;Exit&amp;nbsp;Sub &lt;br /&gt;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;If&amp;nbsp;Me.ComboBox1&amp;nbsp;&amp;lt;&amp;gt;&amp;nbsp;&quot;&quot;&amp;nbsp;And&amp;nbsp;IsError(Application.Match(Me.ComboBox1,&amp;nbsp;lis,&amp;nbsp;0))&amp;nbsp;Then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set&amp;nbsp;dic&amp;nbsp;=&amp;nbsp;CreateObject(&quot;Scripting.Dictionary&quot;) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;tmp&amp;nbsp;=&amp;nbsp;UCase(Me.ComboBox1)&amp;nbsp;&amp;amp;&amp;nbsp;&quot;*&quot; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;For&amp;nbsp;Each&amp;nbsp;c&amp;nbsp;In&amp;nbsp;lis &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;UCase(c)&amp;nbsp;Like&amp;nbsp;tmp&amp;nbsp;Then&amp;nbsp;dic(c)&amp;nbsp;=&amp;nbsp;&quot;&quot; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Next&amp;nbsp;c &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Me.ComboBox1.List&amp;nbsp;=&amp;nbsp;dic.keys &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Me.ComboBox1.DropDown &lt;br /&gt;&amp;nbsp;&amp;nbsp;End&amp;nbsp;If &lt;br /&gt;&amp;nbsp;&amp;nbsp;ActiveCell.Value&amp;nbsp;=&amp;nbsp;Me.ComboBox1 &lt;br /&gt;End&amp;nbsp;Sub &lt;br /&gt;&lt;br /&gt;Private&amp;nbsp;Sub&amp;nbsp;ComboBox1_DblClick(ByVal&amp;nbsp;Cancel&amp;nbsp;As&amp;nbsp;MSForms.ReturnBoolean) &lt;br /&gt;&amp;nbsp;&amp;nbsp;'&amp;nbsp;다중&amp;nbsp;셀&amp;nbsp;선택시&amp;nbsp;종료 &lt;br /&gt;&amp;nbsp;&amp;nbsp;If&amp;nbsp;Selection.CountLarge&amp;nbsp;&amp;gt;&amp;nbsp;1&amp;nbsp;Then&amp;nbsp;Exit&amp;nbsp;Sub &lt;br /&gt;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;'&amp;nbsp;List&amp;nbsp;시트의&amp;nbsp;A2열부터&amp;nbsp;데이터&amp;nbsp;가져오기 &lt;br /&gt;&amp;nbsp;&amp;nbsp;ComboBox1.List&amp;nbsp;=&amp;nbsp;Application.Transpose(ws.Range(&quot;A2:A&quot;&amp;nbsp;&amp;amp;&amp;nbsp;ws.[A65000].End(xlUp).Row)) &lt;br /&gt;&amp;nbsp;&amp;nbsp;Me.ComboBox1.DropDown &lt;br /&gt;End&amp;nbsp;Sub &lt;br /&gt;&lt;br /&gt;Private&amp;nbsp;Sub&amp;nbsp;ComboBox1_KeyDown(ByVal&amp;nbsp;KeyCode&amp;nbsp;As&amp;nbsp;MSForms.ReturnInteger,&amp;nbsp;ByVal&amp;nbsp;Shift&amp;nbsp;As&amp;nbsp;Integer) &lt;br /&gt;&amp;nbsp;&amp;nbsp;'&amp;nbsp;다중&amp;nbsp;셀&amp;nbsp;선택시&amp;nbsp;종료 &lt;br /&gt;&amp;nbsp;&amp;nbsp;If&amp;nbsp;Selection.CountLarge&amp;nbsp;&amp;gt;&amp;nbsp;1&amp;nbsp;Then&amp;nbsp;Exit&amp;nbsp;Sub &lt;br /&gt;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;If&amp;nbsp;KeyCode&amp;nbsp;=&amp;nbsp;13&amp;nbsp;Then&amp;nbsp;&amp;nbsp;'&amp;nbsp;Enter&amp;nbsp;키 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;isEscPressed&amp;nbsp;=&amp;nbsp;False&amp;nbsp;&amp;nbsp;'&amp;nbsp;ESC&amp;nbsp;상태&amp;nbsp;초기화 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;IsError(Application.Match(ActiveCell,&amp;nbsp;lis,&amp;nbsp;0))&amp;nbsp;Then&amp;nbsp;ActiveCell&amp;nbsp;=&amp;nbsp;&quot;&quot; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Me.ComboBox1.Visible&amp;nbsp;=&amp;nbsp;False &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ActiveCell.Offset(1).Select&amp;nbsp;&amp;nbsp;'&amp;nbsp;아래&amp;nbsp;셀로&amp;nbsp;이동 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;아래&amp;nbsp;셀이&amp;nbsp;D열이고&amp;nbsp;3행&amp;nbsp;이후라면&amp;nbsp;콤보박스&amp;nbsp;다시&amp;nbsp;표시 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;ActiveCell.Column&amp;nbsp;=&amp;nbsp;4&amp;nbsp;And&amp;nbsp;ActiveCell.Row&amp;nbsp;&amp;gt;=&amp;nbsp;3&amp;nbsp;Then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Call&amp;nbsp;Worksheet_SelectionChange(ActiveCell) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;If &lt;br /&gt;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;ElseIf&amp;nbsp;KeyCode&amp;nbsp;=&amp;nbsp;27&amp;nbsp;Then&amp;nbsp;&amp;nbsp;'&amp;nbsp;ESC&amp;nbsp;키 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;isEscPressed&amp;nbsp;=&amp;nbsp;True &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Me.ComboBox1.Visible&amp;nbsp;=&amp;nbsp;False &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ActiveCell.Value&amp;nbsp;=&amp;nbsp;&quot;&quot; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ActiveCell.Offset(,&amp;nbsp;-1).Select &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;isEscPressed&amp;nbsp;=&amp;nbsp;False &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;ElseIf&amp;nbsp;KeyCode&amp;nbsp;=&amp;nbsp;37&amp;nbsp;Or&amp;nbsp;KeyCode&amp;nbsp;=&amp;nbsp;39&amp;nbsp;Then&amp;nbsp;&amp;nbsp;'&amp;nbsp;&amp;larr;&amp;nbsp;또는&amp;nbsp;&amp;rarr;&amp;nbsp;키 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Me.ComboBox1.Visible&amp;nbsp;=&amp;nbsp;False &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;KeyCode&amp;nbsp;=&amp;nbsp;37&amp;nbsp;Then&amp;nbsp;&amp;nbsp;'&amp;nbsp;&amp;larr; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ActiveCell.Offset(,&amp;nbsp;-1).Select &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ElseIf&amp;nbsp;KeyCode&amp;nbsp;=&amp;nbsp;39&amp;nbsp;Then&amp;nbsp;&amp;nbsp;'&amp;nbsp;&amp;rarr; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ActiveCell.Offset(,&amp;nbsp;1).Select &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;If &lt;br /&gt;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;ElseIf&amp;nbsp;KeyCode&amp;nbsp;=&amp;nbsp;27&amp;nbsp;Then&amp;nbsp;&amp;nbsp;'&amp;nbsp;ESC&amp;nbsp;키 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;isEscPressed&amp;nbsp;=&amp;nbsp;True&amp;nbsp;&amp;nbsp;'&amp;nbsp;ESC&amp;nbsp;키&amp;nbsp;눌림&amp;nbsp;상태&amp;nbsp;설정 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Me.ComboBox1.Visible&amp;nbsp;=&amp;nbsp;False &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&amp;nbsp;C열의&amp;nbsp;같은&amp;nbsp;행으로&amp;nbsp;이동 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ActiveCell.Value&amp;nbsp;=&amp;nbsp;ActiveCell.Value &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ActiveCell.Offset(,&amp;nbsp;-1).Select &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ActiveCell.Value&amp;nbsp;=&amp;nbsp;&quot;&quot; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;isEscPressed&amp;nbsp;=&amp;nbsp;False&amp;nbsp;&amp;nbsp;'&amp;nbsp;ESC&amp;nbsp;상태&amp;nbsp;초기화 &lt;br /&gt;&amp;nbsp;&amp;nbsp;End&amp;nbsp;If &lt;br /&gt;End&amp;nbsp;Sub &lt;br /&gt;&lt;br /&gt;Private&amp;nbsp;Sub&amp;nbsp;ComboBox1_LostFocus() &lt;br /&gt;On&amp;nbsp;Error&amp;nbsp;Resume&amp;nbsp;Next &lt;br /&gt;'&amp;nbsp;다중&amp;nbsp;셀&amp;nbsp;선택시&amp;nbsp;종료 &lt;br /&gt;&amp;nbsp;&amp;nbsp;If&amp;nbsp;Selection.CountLarge&amp;nbsp;&amp;gt;&amp;nbsp;1&amp;nbsp;Then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Me.ComboBox1.Visible&amp;nbsp;=&amp;nbsp;False &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Exit&amp;nbsp;Sub &lt;br /&gt;&amp;nbsp;&amp;nbsp;End&amp;nbsp;If &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;'&amp;nbsp;?&amp;nbsp;현재&amp;nbsp;셀이&amp;nbsp;memo(콤보박스를&amp;nbsp;띄웠던&amp;nbsp;셀)와&amp;nbsp;다르면&amp;nbsp;값&amp;nbsp;입력하지&amp;nbsp;않음 &lt;br /&gt;&amp;nbsp;&amp;nbsp;If&amp;nbsp;Not&amp;nbsp;Intersect(ActiveCell,&amp;nbsp;Range(memo))&amp;nbsp;Is&amp;nbsp;Nothing&amp;nbsp;Then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ActiveCell.Value&amp;nbsp;=&amp;nbsp;Me.ComboBox1 &lt;br /&gt;&amp;nbsp;&amp;nbsp;End&amp;nbsp;If &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;Me.ComboBox1.Visible&amp;nbsp;=&amp;nbsp;False &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;'&amp;nbsp;현재&amp;nbsp;셀이&amp;nbsp;C열&amp;nbsp;2행&amp;nbsp;이후라면&amp;nbsp;콤보박스&amp;nbsp;다시&amp;nbsp;표시 &lt;br /&gt;&amp;nbsp;&amp;nbsp;If&amp;nbsp;ActiveCell.Column&amp;nbsp;=&amp;nbsp;3&amp;nbsp;And&amp;nbsp;ActiveCell.Row&amp;nbsp;&amp;gt;=&amp;nbsp;2&amp;nbsp;Then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Application.EnableEvents&amp;nbsp;=&amp;nbsp;False &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Application.EnableEvents&amp;nbsp;=&amp;nbsp;True &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Call&amp;nbsp;Worksheet_SelectionChange(ActiveCell) &lt;br /&gt;&amp;nbsp;&amp;nbsp;End&amp;nbsp;If &lt;br /&gt;End&amp;nbsp;Sub &lt;br /&gt;&lt;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;fileblock&quot; data-ke-align=&quot;alignCenter&quot;&gt;&lt;a href=&quot;https://blog.kakaocdn.net/dn/LQu4g/dJMb9cuC0XG/c6QKxPi6t8H9WUTrhC2zH0/%EB%AC%B8%EC%9E%90%EC%97%B4%20%EC%9E%90%EB%8F%99%EC%99%84%EC%84%B1_%EC%BD%A4%EB%B3%B4%EB%B0%95%EC%8A%A4_%EC%B5%9C%EC%A2%85.xlsm?attach=1&amp;amp;knm=tfile.xlsm&quot; class=&quot;&quot;&gt;
    &lt;div class=&quot;image&quot;&gt;&lt;/div&gt;
    &lt;div class=&quot;desc&quot;&gt;&lt;div class=&quot;filename&quot;&gt;&lt;span class=&quot;name&quot;&gt;문자열 자동완성_콤보박스_최종.xlsm&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;size&quot;&gt;0.03MB&lt;/div&gt;
&lt;/div&gt;
  &lt;/a&gt;&lt;/figure&gt;
&lt;/p&gt;</description>
      <category>Event</category>
      <category>#엑셀자동완성 #VBA자동화 #엑셀VBA #엑셀팁 #엑셀고급기능 #사무자동화 #업무자동화 #VBA기초 #엑셀매크로 #실무엑셀</category>
      <author>노만e</author>
      <guid isPermaLink="true">https://dream2049.tistory.com/159</guid>
      <comments>https://dream2049.tistory.com/159#entry159comment</comments>
      <pubDate>Thu, 7 Aug 2025 22:03:48 +0900</pubDate>
    </item>
    <item>
      <title>  모든 워크시트의 개체 한 번에 삭제하는 VBA 코드 공개합니다</title>
      <link>https://dream2049.tistory.com/158</link>
      <description>&lt;p data-end=&quot;240&quot; data-start=&quot;164&quot; data-ke-size=&quot;size16&quot;&gt;엑셀 작업 중 워크시트마다 복사된 버튼, 도형, 차트, OLE 개체들이 누적되면서 작업 속도가 느려지거나 컴퓨터가 다운된 경험 있으신가요?&lt;/p&gt;
&lt;p data-end=&quot;374&quot; data-start=&quot;242&quot; data-ke-size=&quot;size16&quot;&gt;오늘은 **&quot;모든 시트의 개체를 한 번에 삭제하는 VBA 자동화 코드&quot;**를 소개합니다.&lt;br /&gt;단순한 도형 삭제 수준이 아니라, &lt;b&gt;사진을 제외한 도형 / ActiveX / 차트 / 주석 등 실무에서 문제되는 개체들을 전부 정리&lt;/b&gt;합니다.&lt;/p&gt;
&lt;hr data-end=&quot;379&quot; data-start=&quot;376&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h2 data-end=&quot;400&quot; data-start=&quot;381&quot; data-ke-size=&quot;size26&quot;&gt;✅ 어떤 상황에서 유용할까요?&lt;/h2&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;488&quot; data-start=&quot;402&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;432&quot; data-start=&quot;402&quot;&gt;여러 시트를 복사하다가 정체불명의 개체가 생겼을 때&lt;/li&gt;
&lt;li data-end=&quot;459&quot; data-start=&quot;433&quot;&gt;템플릿 문서를 자동화할 때 초기화용으로 사용&lt;/li&gt;
&lt;li data-end=&quot;488&quot; data-start=&quot;460&quot;&gt;배포 전, 보고서 파일을 가볍게 만들고 싶을 때&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-end=&quot;493&quot; data-start=&quot;490&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h2 data-end=&quot;509&quot; data-start=&quot;495&quot; data-ke-size=&quot;size26&quot;&gt;  핵심 기능 요약&lt;/h2&gt;
&lt;p data-end=&quot;581&quot; data-start=&quot;511&quot; data-ke-size=&quot;size16&quot;&gt;✔ 모든 시트를 순회하며&lt;br /&gt;✔ 도형(사진 제외), OLE 개체, 차트, 주석 등을&lt;br /&gt;✔ &lt;b&gt;단 1번 실행으로 전부 삭제&lt;/b&gt;&lt;/p&gt;
&lt;hr data-end=&quot;586&quot; data-start=&quot;583&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h2 data-end=&quot;603&quot; data-start=&quot;588&quot; data-ke-size=&quot;size26&quot;&gt;  VBA 코드 전체&lt;/h2&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 100%;&quot;&gt;Sub&amp;nbsp;AllShapeDelete() &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'모든&amp;nbsp;워크시트의&amp;nbsp;개체를&amp;nbsp;삭제하는&amp;nbsp;메인&amp;nbsp;프로시저 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;ws&amp;nbsp;As&amp;nbsp;Worksheet &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;result&amp;nbsp;As&amp;nbsp;String &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Application.ScreenUpdating&amp;nbsp;=&amp;nbsp;False &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Application.Calculation&amp;nbsp;=&amp;nbsp;xlCalculationManual &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Application.EnableEvents&amp;nbsp;=&amp;nbsp;False &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;result&amp;nbsp;=&amp;nbsp;&quot;개체&amp;nbsp;삭제&amp;nbsp;결과:&quot;&amp;nbsp;&amp;amp;&amp;nbsp;vbCrLf&amp;nbsp;&amp;amp;&amp;nbsp;vbCrLf &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;For&amp;nbsp;Each&amp;nbsp;ws&amp;nbsp;In&amp;nbsp;ActiveWorkbook.Worksheets &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;result&amp;nbsp;=&amp;nbsp;result&amp;nbsp;&amp;amp;&amp;nbsp;&quot;워크시트:&amp;nbsp;&quot;&amp;nbsp;&amp;amp;&amp;nbsp;ws.Name&amp;nbsp;&amp;amp;&amp;nbsp;vbCrLf &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;result&amp;nbsp;=&amp;nbsp;result&amp;nbsp;&amp;amp;&amp;nbsp;워크시트개체삭제(ws)&amp;nbsp;&amp;amp;&amp;nbsp;vbCrLf&amp;nbsp;&amp;amp;&amp;nbsp;vbCrLf &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Next&amp;nbsp;ws &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Application.ScreenUpdating&amp;nbsp;=&amp;nbsp;True &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Application.Calculation&amp;nbsp;=&amp;nbsp;xlCalculationAutomatic &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Application.EnableEvents&amp;nbsp;=&amp;nbsp;True &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;MsgBox&amp;nbsp;result,&amp;nbsp;vbInformation,&amp;nbsp;&quot;개체&amp;nbsp;삭제&amp;nbsp;완료&quot; &lt;br /&gt;End&amp;nbsp;Sub &lt;br /&gt;&lt;br /&gt;Function&amp;nbsp;워크시트개체삭제(ws&amp;nbsp;As&amp;nbsp;Worksheet)&amp;nbsp;As&amp;nbsp;String &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'특정&amp;nbsp;워크시트의&amp;nbsp;모든&amp;nbsp;개체를&amp;nbsp;삭제하는&amp;nbsp;함수 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;deleteCount&amp;nbsp;As&amp;nbsp;Long &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;totalCount&amp;nbsp;As&amp;nbsp;Long &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;result&amp;nbsp;As&amp;nbsp;String &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;deleteCount&amp;nbsp;=&amp;nbsp;0 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'1.&amp;nbsp;Shapes&amp;nbsp;컬렉션을&amp;nbsp;통한&amp;nbsp;일반&amp;nbsp;도형&amp;nbsp;삭제 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;deleteCount&amp;nbsp;=&amp;nbsp;deleteCount&amp;nbsp;+&amp;nbsp;Shapes컬렉션삭제(ws) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'2.&amp;nbsp;DrawingObjects를&amp;nbsp;통한&amp;nbsp;삭제&amp;nbsp;(Shapes로&amp;nbsp;접근&amp;nbsp;불가능한&amp;nbsp;개체&amp;nbsp;포함) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;deleteCount&amp;nbsp;=&amp;nbsp;deleteCount&amp;nbsp;+&amp;nbsp;DrawingObjects삭제(ws) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'3.&amp;nbsp;OLEObjects&amp;nbsp;삭제&amp;nbsp;(ActiveX&amp;nbsp;컨트롤,&amp;nbsp;삽입된&amp;nbsp;개체&amp;nbsp;등) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;deleteCount&amp;nbsp;=&amp;nbsp;deleteCount&amp;nbsp;+&amp;nbsp;OLEObjects삭제(ws) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'4.&amp;nbsp;ChartObjects&amp;nbsp;삭제&amp;nbsp;(차트) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;deleteCount&amp;nbsp;=&amp;nbsp;deleteCount&amp;nbsp;+&amp;nbsp;ChartObjects삭제(ws) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'5.&amp;nbsp;Comments&amp;nbsp;삭제&amp;nbsp;(주석) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;deleteCount&amp;nbsp;=&amp;nbsp;deleteCount&amp;nbsp;+&amp;nbsp;Comments삭제(ws) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;result&amp;nbsp;=&amp;nbsp;&quot;&amp;nbsp;&amp;nbsp;삭제된&amp;nbsp;개체&amp;nbsp;수:&amp;nbsp;&quot;&amp;nbsp;&amp;amp;&amp;nbsp;deleteCount&amp;nbsp;&amp;amp;&amp;nbsp;&quot;개&quot; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;워크시트개체삭제&amp;nbsp;=&amp;nbsp;result &lt;br /&gt;End&amp;nbsp;Function &lt;br /&gt;&lt;br /&gt;Function&amp;nbsp;Shapes컬렉션삭제(ws&amp;nbsp;As&amp;nbsp;Worksheet)&amp;nbsp;As&amp;nbsp;Long &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'Shapes&amp;nbsp;컬렉션을&amp;nbsp;통한&amp;nbsp;도형&amp;nbsp;삭제&amp;nbsp;(사진&amp;nbsp;제외) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;shp&amp;nbsp;As&amp;nbsp;Shape &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;deleteCount&amp;nbsp;As&amp;nbsp;Long &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;On&amp;nbsp;Error&amp;nbsp;Resume&amp;nbsp;Next &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'역순으로&amp;nbsp;삭제&amp;nbsp;(컬렉션&amp;nbsp;인덱스&amp;nbsp;변화&amp;nbsp;방지) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;For&amp;nbsp;i&amp;nbsp;=&amp;nbsp;ws.Shapes.Count&amp;nbsp;To&amp;nbsp;1&amp;nbsp;Step&amp;nbsp;-1 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set&amp;nbsp;shp&amp;nbsp;=&amp;nbsp;ws.Shapes(i) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;Not&amp;nbsp;shp&amp;nbsp;Is&amp;nbsp;Nothing&amp;nbsp;Then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'사진&amp;nbsp;타입은&amp;nbsp;제외하고&amp;nbsp;삭제 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;shp.Type&amp;nbsp;&amp;lt;&amp;gt;&amp;nbsp;msoPicture&amp;nbsp;Then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;shp.Delete &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;deleteCount&amp;nbsp;=&amp;nbsp;deleteCount&amp;nbsp;+&amp;nbsp;1 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;If &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;If &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Next&amp;nbsp;i &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;On&amp;nbsp;Error&amp;nbsp;GoTo&amp;nbsp;0 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Shapes컬렉션삭제&amp;nbsp;=&amp;nbsp;deleteCount &lt;br /&gt;End&amp;nbsp;Function &lt;br /&gt;&lt;br /&gt;Function&amp;nbsp;DrawingObjects삭제(ws&amp;nbsp;As&amp;nbsp;Worksheet)&amp;nbsp;As&amp;nbsp;Long &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'DrawingObjects를&amp;nbsp;통한&amp;nbsp;삭제&amp;nbsp;(구버전&amp;nbsp;호환성,&amp;nbsp;사진&amp;nbsp;제외) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;deleteCount&amp;nbsp;As&amp;nbsp;Long &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;obj&amp;nbsp;As&amp;nbsp;Object &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;On&amp;nbsp;Error&amp;nbsp;Resume&amp;nbsp;Next &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'개별&amp;nbsp;개체를&amp;nbsp;확인하여&amp;nbsp;사진이&amp;nbsp;아닌&amp;nbsp;경우만&amp;nbsp;삭제 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;For&amp;nbsp;i&amp;nbsp;=&amp;nbsp;ws.DrawingObjects.Count&amp;nbsp;To&amp;nbsp;1&amp;nbsp;Step&amp;nbsp;-1 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set&amp;nbsp;obj&amp;nbsp;=&amp;nbsp;ws.DrawingObjects(i) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;Not&amp;nbsp;obj&amp;nbsp;Is&amp;nbsp;Nothing&amp;nbsp;Then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'사진이&amp;nbsp;아닌&amp;nbsp;경우만&amp;nbsp;삭제&amp;nbsp;(TypeName으로&amp;nbsp;구분) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;TypeName(obj)&amp;nbsp;&amp;lt;&amp;gt;&amp;nbsp;&quot;Picture&quot;&amp;nbsp;Then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;obj.Delete &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;deleteCount&amp;nbsp;=&amp;nbsp;deleteCount&amp;nbsp;+&amp;nbsp;1 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;If &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;If &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Next&amp;nbsp;i &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;On&amp;nbsp;Error&amp;nbsp;GoTo&amp;nbsp;0 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;DrawingObjects삭제&amp;nbsp;=&amp;nbsp;deleteCount &lt;br /&gt;End&amp;nbsp;Function &lt;br /&gt;&lt;br /&gt;Function&amp;nbsp;OLEObjects삭제(ws&amp;nbsp;As&amp;nbsp;Worksheet)&amp;nbsp;As&amp;nbsp;Long &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'OLE&amp;nbsp;개체&amp;nbsp;삭제&amp;nbsp;(ActiveX&amp;nbsp;컨트롤,&amp;nbsp;삽입된&amp;nbsp;파일&amp;nbsp;등) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;oleObj&amp;nbsp;As&amp;nbsp;OLEObject &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;deleteCount&amp;nbsp;As&amp;nbsp;Long &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;On&amp;nbsp;Error&amp;nbsp;Resume&amp;nbsp;Next &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;For&amp;nbsp;i&amp;nbsp;=&amp;nbsp;ws.OLEObjects.Count&amp;nbsp;To&amp;nbsp;1&amp;nbsp;Step&amp;nbsp;-1 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set&amp;nbsp;oleObj&amp;nbsp;=&amp;nbsp;ws.OLEObjects(i) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;Not&amp;nbsp;oleObj&amp;nbsp;Is&amp;nbsp;Nothing&amp;nbsp;Then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;oleObj.Delete &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;deleteCount&amp;nbsp;=&amp;nbsp;deleteCount&amp;nbsp;+&amp;nbsp;1 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;If &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Next&amp;nbsp;i &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;On&amp;nbsp;Error&amp;nbsp;GoTo&amp;nbsp;0 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;OLEObjects삭제&amp;nbsp;=&amp;nbsp;deleteCount &lt;br /&gt;End&amp;nbsp;Function &lt;br /&gt;&lt;br /&gt;Function&amp;nbsp;ChartObjects삭제(ws&amp;nbsp;As&amp;nbsp;Worksheet)&amp;nbsp;As&amp;nbsp;Long &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'차트&amp;nbsp;개체&amp;nbsp;삭제 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;chartObj&amp;nbsp;As&amp;nbsp;ChartObject &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;deleteCount&amp;nbsp;As&amp;nbsp;Long &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;On&amp;nbsp;Error&amp;nbsp;Resume&amp;nbsp;Next &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;For&amp;nbsp;i&amp;nbsp;=&amp;nbsp;ws.ChartObjects.Count&amp;nbsp;To&amp;nbsp;1&amp;nbsp;Step&amp;nbsp;-1 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set&amp;nbsp;chartObj&amp;nbsp;=&amp;nbsp;ws.ChartObjects(i) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;Not&amp;nbsp;chartObj&amp;nbsp;Is&amp;nbsp;Nothing&amp;nbsp;Then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;chartObj.Delete &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;deleteCount&amp;nbsp;=&amp;nbsp;deleteCount&amp;nbsp;+&amp;nbsp;1 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;If &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Next&amp;nbsp;i &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;On&amp;nbsp;Error&amp;nbsp;GoTo&amp;nbsp;0 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ChartObjects삭제&amp;nbsp;=&amp;nbsp;deleteCount &lt;br /&gt;End&amp;nbsp;Function &lt;br /&gt;&lt;br /&gt;Function&amp;nbsp;Comments삭제(ws&amp;nbsp;As&amp;nbsp;Worksheet)&amp;nbsp;As&amp;nbsp;Long &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'주석&amp;nbsp;삭제 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;deleteCount&amp;nbsp;As&amp;nbsp;Long &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;rng&amp;nbsp;As&amp;nbsp;Range &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;On&amp;nbsp;Error&amp;nbsp;Resume&amp;nbsp;Next &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;For&amp;nbsp;Each&amp;nbsp;rng&amp;nbsp;In&amp;nbsp;ws.UsedRange &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;Not&amp;nbsp;rng.Comment&amp;nbsp;Is&amp;nbsp;Nothing&amp;nbsp;Then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;rng.Comment.Delete &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;deleteCount&amp;nbsp;=&amp;nbsp;deleteCount&amp;nbsp;+&amp;nbsp;1 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;If &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Next&amp;nbsp;rng &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;On&amp;nbsp;Error&amp;nbsp;GoTo&amp;nbsp;0 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Comments삭제&amp;nbsp;=&amp;nbsp;deleteCount &lt;br /&gt;End&amp;nbsp;Function &lt;br /&gt;&lt;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 data-end=&quot;603&quot; data-start=&quot;588&quot; data-ke-size=&quot;size26&quot;&gt;&amp;nbsp;&lt;/h2&gt;
&lt;h2 data-end=&quot;603&quot; data-start=&quot;588&quot; data-ke-size=&quot;size26&quot;&gt;  실전 팁&lt;/h2&gt;
&lt;div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;810&quot; data-start=&quot;709&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;747&quot; data-start=&quot;709&quot;&gt;&lt;b&gt;사진은 보존됩니다&lt;/b&gt;: 보고서용 이미지, 스크린샷은 유지됨&lt;/li&gt;
&lt;li data-end=&quot;784&quot; data-start=&quot;748&quot;&gt;&lt;b&gt;주석도 삭제됩니다&lt;/b&gt;: 수기로 남긴 메모가 있다면 주의&lt;/li&gt;
&lt;li data-end=&quot;810&quot; data-start=&quot;785&quot;&gt;&lt;b&gt;코드 실행 전, 파일 백업 권장&lt;/b&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;figure class=&quot;fileblock&quot; data-ke-align=&quot;alignCenter&quot;&gt;&lt;a href=&quot;https://blog.kakaocdn.net/dn/b7gXPs/dJMb9M3LGrq/KhZWFc41rY9eLarUhpDRuk/%ED%98%84%EC%9E%AC%20%ED%8C%8C%EC%9D%BC%EC%9D%98%20%EB%AA%A8%EB%93%A0%20%EA%B0%9C%EC%B2%B4%20%EC%82%AD%EC%A0%9C.xlsm?attach=1&amp;amp;knm=tfile.xlsm&quot; class=&quot;&quot;&gt;
    &lt;div class=&quot;image&quot;&gt;&lt;/div&gt;
    &lt;div class=&quot;desc&quot;&gt;&lt;div class=&quot;filename&quot;&gt;&lt;span class=&quot;name&quot;&gt;현재 파일의 모든 개체 삭제.xlsm&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;size&quot;&gt;0.02MB&lt;/div&gt;
&lt;/div&gt;
  &lt;/a&gt;&lt;/figure&gt;
&lt;/p&gt;</description>
      <category>Shape 개체</category>
      <category>#VBA강의 #엑셀VBA #엑셀자동화 #엑셀도형삭제 #엑셀팁 #VBA초보 #VBA실무 #엑셀강사 #엑셀매크로 #사무자동화 #VBA코드 #엑셀개체삭제 #엑셀초보 #보고서자동화 #엑셀팁공유 #업무자동화 #VBA예제 #엑셀교육 #엑셀기초 #엑셀수업</category>
      <author>노만e</author>
      <guid isPermaLink="true">https://dream2049.tistory.com/158</guid>
      <comments>https://dream2049.tistory.com/158#entry158comment</comments>
      <pubDate>Wed, 6 Aug 2025 23:15:15 +0900</pubDate>
    </item>
    <item>
      <title>  Excel VBA로 과일 판매 데이터 피벗테이블 자동 생성하기</title>
      <link>https://dream2049.tistory.com/157</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1514&quot; data-origin-height=&quot;609&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/GOMTs/btsPEMc5g6O/nWbzq8kTKm3omTrsjsZnkK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/GOMTs/btsPEMc5g6O/nWbzq8kTKm3omTrsjsZnkK/img.png&quot; data-alt=&quot;피벗테이블 만들기&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/GOMTs/btsPEMc5g6O/nWbzq8kTKm3omTrsjsZnkK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FGOMTs%2FbtsPEMc5g6O%2FnWbzq8kTKm3omTrsjsZnkK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1514&quot; height=&quot;609&quot; data-origin-width=&quot;1514&quot; data-origin-height=&quot;609&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;피벗테이블 만들기&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Excel에서 피벗테이블을 수동으로 만드는 것도 좋지만, VBA를 사용하면 한 번의 클릭으로 전문적인 피벗테이블을 자동으로 생성할 수 있습니다. 오늘은 &lt;b&gt;판매점별 과일 판매금액&lt;/b&gt;을 분석하는 피벗테이블을 VBA로 만드는 방법을 알아보겠습니다.&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;  개요&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 VBA 코드는 다음과 같은 기능을 제공합니다:&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;✅ &lt;b&gt;자동 데이터 감지&lt;/b&gt;: 과일시트의 데이터를 자동으로 찾아서 피벗테이블 생성&lt;/li&gt;
&lt;li&gt;✅ &lt;b&gt;전문적인 레이아웃&lt;/b&gt;: 행(판매점명) &amp;times; 열(과일명) &amp;times; 데이터(판매금액 합계)&lt;/li&gt;
&lt;li&gt;✅ &lt;b&gt;통계 정보 추가&lt;/b&gt;: 총 판매점 수, 과일 종류, 판매금액 등 요약 통계&lt;/li&gt;
&lt;li&gt;✅ &lt;b&gt;깔끔한 서식&lt;/b&gt;: 자동 스타일링과 숫자 포맷 적용&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;  준비사항&lt;/h2&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;1. 데이터 준비&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Excel 파일에 &lt;b&gt;&quot;과일시트&quot;&lt;/b&gt; 이름의 워크시트를 만들고, 다음과 같은 형태의 데이터를 준비해주세요:&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;번호판매점명과일명단가(원)수량(개)판매금액(원)&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;이마트 강남점&lt;/td&gt;
&lt;td&gt;사과&lt;/td&gt;
&lt;td&gt;2000&lt;/td&gt;
&lt;td&gt;5&lt;/td&gt;
&lt;td&gt;10000&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;2&lt;/td&gt;
&lt;td&gt;롯데마트 잠실점&lt;/td&gt;
&lt;td&gt;바나나&lt;/td&gt;
&lt;td&gt;1500&lt;/td&gt;
&lt;td&gt;3&lt;/td&gt;
&lt;td&gt;4500&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;...&lt;/td&gt;
&lt;td&gt;...&lt;/td&gt;
&lt;td&gt;...&lt;/td&gt;
&lt;td&gt;...&lt;/td&gt;
&lt;td&gt;...&lt;/td&gt;
&lt;td&gt;...&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;2. 필수 컬럼&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;판매점명&lt;/b&gt;: 피벗테이블의 행 필드&lt;/li&gt;
&lt;li&gt;&lt;b&gt;과일명&lt;/b&gt;: 피벗테이블의 열 필드&lt;/li&gt;
&lt;li&gt;&lt;b&gt;판매금액(원)&lt;/b&gt;: 피벗테이블의 데이터 필드 (합계)&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;  사용방법&lt;/h2&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;Step 1: VBA 편집기 열기&lt;/b&gt;&lt;/h3&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;Excel에서 Alt + F11 키를 눌러 VBA 편집기를 엽니다&lt;/li&gt;
&lt;li&gt;왼쪽 프로젝트 창에서 해당 통합문서를 선택합니다&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;Step 2: 새 모듈 추가&lt;/b&gt;&lt;/h3&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;메뉴에서 삽입(Insert) &amp;rarr; 모듈(Module) 클릭&lt;/li&gt;
&lt;li&gt;새로운 코드 창이 열립니다&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;Step 3: 코드 붙여넣기&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;제공된 VBA 코드를 전체 복사해서 모듈 창에 붙여넣습니다.&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;Step 4: 매크로 실행&lt;/b&gt;&lt;/h3&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;Alt + F8 키를 눌러 매크로 대화상자를 엽니다&lt;/li&gt;
&lt;li&gt;CreateFruitSalesPivotTable 매크로를 선택합니다&lt;/li&gt;
&lt;li&gt;&lt;b&gt;실행&lt;/b&gt; 버튼을 클릭합니다&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;Step 5: 결과 확인&lt;/b&gt;&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;새로운 &lt;b&gt;&quot;PivotTable&quot;&lt;/b&gt; 워크시트가 생성됩니다&lt;/li&gt;
&lt;li&gt;A1셀에 &quot;판매점별 과일판매금액&quot; 제목이 표시됩니다&lt;/li&gt;
&lt;li&gt;A3셀부터 피벗테이블이 시작됩니다&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;  코드 주요 기능 설명&lt;/h2&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;  &lt;b&gt;자동 데이터 소스 설정&lt;/b&gt;&lt;/h3&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;vba&lt;/div&gt;
&lt;div&gt;
&lt;pre class=&quot;reasonml&quot; style=&quot;color: #383a42; text-align: left;&quot;&gt;&lt;code&gt;Set ws = Worksheets(&quot;과일시트&quot;)
lastRow = ws.Cells(ws.Rows.Count, 1).End(xlUp).Row
Set dataRange = ws.Range(ws.Cells(1, 1), ws.Cells(lastRow, lastCol))&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&quot;과일시트&quot;에서 데이터를 자동으로 감지합니다&lt;/li&gt;
&lt;li&gt;마지막 행까지 자동으로 범위를 설정합니다&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&amp;nbsp;&lt;/h3&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;  &lt;b&gt;피벗테이블 구조 설정&lt;/b&gt;&lt;/h3&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&lt;span style=&quot;letter-spacing: 0px;&quot;&gt;vba&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;pre class=&quot;mipsasm&quot; style=&quot;color: #383a42; text-align: left;&quot;&gt;&lt;code&gt;.PivotFields(&quot;판매점명&quot;).Orientation = xlRowField
.PivotFields(&quot;과일명&quot;).Orientation = xlColumnField
.PivotFields(&quot;판매금액(원)&quot;).Orientation = xlDataField&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;행&lt;/b&gt;: 판매점명 (세로축)&lt;/li&gt;
&lt;li&gt;&lt;b&gt;열&lt;/b&gt;: 과일명 (가로축)&lt;/li&gt;
&lt;li&gt;&lt;b&gt;데이터&lt;/b&gt;: 판매금액 합계&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&amp;nbsp;&lt;/h3&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;  &lt;b&gt;자동 서식 적용&lt;/b&gt;&lt;/h3&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&lt;span style=&quot;letter-spacing: 0px;&quot;&gt;vba&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;pre class=&quot;ini&quot; style=&quot;color: #383a42; text-align: left;&quot;&gt;&lt;code&gt;.TableStyle2 = &quot;PivotStyleMedium9&quot;
.NumberFormat = &quot;#,##0&quot;&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;전문적인 피벗테이블 스타일 적용&lt;/li&gt;
&lt;li&gt;숫자에 천 단위 구분 기호 자동 적용&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;  &lt;b&gt;통계 정보 자동 생성&lt;/b&gt;&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;총 판매점 수&lt;/li&gt;
&lt;li&gt;총 과일 종류&lt;/li&gt;
&lt;li&gt;전체 판매금액&lt;/li&gt;
&lt;li&gt;평균 판매금액&lt;/li&gt;
&lt;li&gt;업데이트 시간&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;⚠️ 주의사항&lt;/h2&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;1. &lt;b&gt;시트명 확인&lt;/b&gt;&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;데이터가 있는 시트의 이름이 정확히 **&quot;과일시트&quot;**여야 합니다&lt;/li&gt;
&lt;li&gt;시트명이 다르면 오류가 발생합니다&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;2. &lt;b&gt;컬럼명 확인&lt;/b&gt;&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;&quot;판매점명&quot;&lt;/b&gt;, &lt;b&gt;&quot;과일명&quot;&lt;/b&gt;, &lt;b&gt;&quot;판매금액(원)&quot;&lt;/b&gt; 컬럼명이 정확해야 합니다&lt;/li&gt;
&lt;li&gt;첫 번째 행에 헤더가 있어야 합니다&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;3. &lt;b&gt;기존 시트 덮어쓰기&lt;/b&gt;&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;이미 &quot;PivotTable&quot; 시트가 있으면 자동으로 삭제 후 새로 생성됩니다&lt;/li&gt;
&lt;li&gt;기존 데이터를 보존하려면 시트명을 미리 변경해두세요&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;4. &lt;b&gt;데이터 형식&lt;/b&gt;&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;판매금액은 숫자 형식이어야 합니다&lt;/li&gt;
&lt;li&gt;텍스트로 입력된 숫자는 합계 계산이 안 될 수 있습니다&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;  추가 활용 팁&lt;/h2&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;  &lt;b&gt;피벗테이블 새로고침&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;데이터가 변경되었을 때는 RefreshPivotTable() 매크로를 실행하세요:&lt;/p&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;vba&lt;/div&gt;
&lt;div&gt;
&lt;pre class=&quot;vbnet&quot; style=&quot;color: #383a42; text-align: left;&quot;&gt;&lt;code&gt;Sub RefreshPivotTable()
    Dim pt As PivotTable
    For Each pt In ActiveSheet.PivotTables
        pt.PivotCache.Refresh
    Next pt
    MsgBox &quot;피벗테이블이 새로고침되었습니다.&quot;, vbInformation
End Sub&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;  &lt;b&gt;스타일 변경&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;ChangePivotTableStyle() 매크로로 피벗테이블 색상을 변경할 수 있습니다:&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;파란색, 녹색, 주황색 등 다양한 스타일 제공&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;  &lt;b&gt;다른 데이터에 응용&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 코드는 다음과 같이 응용할 수 있습니다:&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;지역별 &amp;times; 제품별&lt;/b&gt; 판매 분석&lt;/li&gt;
&lt;li&gt;&lt;b&gt;월별 &amp;times; 카테고리별&lt;/b&gt; 매출 분석&lt;/li&gt;
&lt;li&gt;&lt;b&gt;고객별 &amp;times; 상품별&lt;/b&gt; 구매 패턴 분석&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;컬럼명만 적절히 수정하면 다양한 데이터 분석에 활용 가능합니다!&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;  마무리&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;VBA를 활용하면 복잡한 피벗테이블도 한 번의 클릭으로 생성할 수 있습니다. 특히 정기적으로 같은 형태의 분석을 해야 하는 경우, 이런 자동화 코드가 큰 도움이 됩니다.&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 100%;&quot;&gt;Sub&amp;nbsp;CreateFruitSalesPivotTable() &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'변수&amp;nbsp;선언 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;ws&amp;nbsp;As&amp;nbsp;Worksheet &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;pt&amp;nbsp;As&amp;nbsp;PivotTable &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;pc&amp;nbsp;As&amp;nbsp;PivotCache &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;dataRange&amp;nbsp;As&amp;nbsp;Range &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;lastRow&amp;nbsp;As&amp;nbsp;Long &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;lastCol&amp;nbsp;As&amp;nbsp;Long &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;pivotWs&amp;nbsp;As&amp;nbsp;Worksheet &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'과일시트를&amp;nbsp;데이터&amp;nbsp;소스로&amp;nbsp;설정 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;On&amp;nbsp;Error&amp;nbsp;Resume&amp;nbsp;Next &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set&amp;nbsp;ws&amp;nbsp;=&amp;nbsp;Worksheets(&quot;과일시트&quot;) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;On&amp;nbsp;Error&amp;nbsp;GoTo&amp;nbsp;0 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'데이터&amp;nbsp;범위&amp;nbsp;자동&amp;nbsp;감지 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;lastRow&amp;nbsp;=&amp;nbsp;ws.Cells(ws.Rows.Count,&amp;nbsp;1).End(xlUp).Row &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;lastCol&amp;nbsp;=&amp;nbsp;ws.Cells(1,&amp;nbsp;ws.Columns.Count).End(xlToLeft).Column &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set&amp;nbsp;dataRange&amp;nbsp;=&amp;nbsp;ws.Range(ws.Cells(1,&amp;nbsp;1),&amp;nbsp;ws.Cells(lastRow,&amp;nbsp;lastCol)) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'데이터&amp;nbsp;유효성&amp;nbsp;검사 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;ws&amp;nbsp;Is&amp;nbsp;Nothing&amp;nbsp;Then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;MsgBox&amp;nbsp;&quot;과일시트를&amp;nbsp;찾을&amp;nbsp;수&amp;nbsp;없습니다.&amp;nbsp;시트명을&amp;nbsp;확인해주세요.&quot;,&amp;nbsp;vbExclamation &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Exit&amp;nbsp;Sub &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;If &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;lastRow&amp;nbsp;&amp;lt;&amp;nbsp;2&amp;nbsp;Then &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;MsgBox&amp;nbsp;&quot;데이터가&amp;nbsp;충분하지&amp;nbsp;않습니다.&amp;nbsp;최소&amp;nbsp;2행&amp;nbsp;이상의&amp;nbsp;데이터가&amp;nbsp;필요합니다.&quot;,&amp;nbsp;vbExclamation &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Exit&amp;nbsp;Sub &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;If &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'새&amp;nbsp;워크시트&amp;nbsp;생성&amp;nbsp;(피벗테이블용) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'기존&amp;nbsp;PivotTable&amp;nbsp;시트가&amp;nbsp;있으면&amp;nbsp;삭제 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;On&amp;nbsp;Error&amp;nbsp;Resume&amp;nbsp;Next &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Application.DisplayAlerts&amp;nbsp;=&amp;nbsp;False &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Worksheets(&quot;PivotTable&quot;).Delete &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Application.DisplayAlerts&amp;nbsp;=&amp;nbsp;True &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;On&amp;nbsp;Error&amp;nbsp;GoTo&amp;nbsp;0 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set&amp;nbsp;pivotWs&amp;nbsp;=&amp;nbsp;Worksheets.Add &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;pivotWs.Name&amp;nbsp;=&amp;nbsp;&quot;PivotTable&quot; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'피벗캐시&amp;nbsp;생성 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set&amp;nbsp;pc&amp;nbsp;=&amp;nbsp;ActiveWorkbook.PivotCaches.Create(&amp;nbsp;_ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;SourceType:=xlDatabase,&amp;nbsp;_ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;SourceData:=dataRange) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'피벗테이블&amp;nbsp;생성&amp;nbsp;(A3&amp;nbsp;위치에) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set&amp;nbsp;pt&amp;nbsp;=&amp;nbsp;pc.CreatePivotTable(&amp;nbsp;_ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;TableDestination:=pivotWs.Range(&quot;A3&quot;),&amp;nbsp;_ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;TableName:=&quot;과일판매피벗테이블&quot;) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'피벗테이블&amp;nbsp;필드&amp;nbsp;설정 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;With&amp;nbsp;pt &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'행&amp;nbsp;필드:&amp;nbsp;판매점명 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.PivotFields(&quot;판매점명&quot;).Orientation&amp;nbsp;=&amp;nbsp;xlRowField &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.PivotFields(&quot;판매점명&quot;).Position&amp;nbsp;=&amp;nbsp;1 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'열&amp;nbsp;필드:&amp;nbsp;과일명 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.PivotFields(&quot;과일명&quot;).Orientation&amp;nbsp;=&amp;nbsp;xlColumnField &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.PivotFields(&quot;과일명&quot;).Position&amp;nbsp;=&amp;nbsp;1 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'데이터&amp;nbsp;필드:&amp;nbsp;판매금액&amp;nbsp;(합계) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;With&amp;nbsp;.PivotFields(&quot;판매금액(원)&quot;) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.Orientation&amp;nbsp;=&amp;nbsp;xlDataField &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.Function&amp;nbsp;=&amp;nbsp;xlSum &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.Name&amp;nbsp;=&amp;nbsp;&quot;판매금액&amp;nbsp;합계&quot; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.NumberFormat&amp;nbsp;=&amp;nbsp;&quot;#,##0&quot; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;With &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'피벗테이블&amp;nbsp;스타일&amp;nbsp;및&amp;nbsp;옵션&amp;nbsp;설정 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.InGridDropZones&amp;nbsp;=&amp;nbsp;True &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.RowAxisLayout&amp;nbsp;xlTabularRow &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.TableStyle2&amp;nbsp;=&amp;nbsp;&quot;PivotStyleMedium9&quot; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.ShowTableStyleRowStripes&amp;nbsp;=&amp;nbsp;True &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.ShowTableStyleColumnStripes&amp;nbsp;=&amp;nbsp;True &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'총합계&amp;nbsp;표시 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.PivotFields(&quot;판매점명&quot;).Subtotals(1)&amp;nbsp;=&amp;nbsp;True &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.ColumnGrand&amp;nbsp;=&amp;nbsp;True &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.RowGrand&amp;nbsp;=&amp;nbsp;True &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'필드&amp;nbsp;헤더&amp;nbsp;표시 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.DisplayFieldCaptions&amp;nbsp;=&amp;nbsp;True &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;With &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'워크시트&amp;nbsp;서식&amp;nbsp;설정 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;With&amp;nbsp;pivotWs &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'제목&amp;nbsp;추가&amp;nbsp;(1행에) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.Range(&quot;A1&quot;).Value&amp;nbsp;=&amp;nbsp;&quot;판매점별&amp;nbsp;과일판매금액&quot; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.Range(&quot;A1&quot;).Font.Size&amp;nbsp;=&amp;nbsp;14 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.Range(&quot;A1&quot;).Font.Bold&amp;nbsp;=&amp;nbsp;True &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.Range(&quot;A1&quot;).Font.Color&amp;nbsp;=&amp;nbsp;RGB(68,&amp;nbsp;114,&amp;nbsp;196) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'열&amp;nbsp;너비&amp;nbsp;자동&amp;nbsp;조정 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.Columns.AutoFit &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'첫&amp;nbsp;번째&amp;nbsp;열&amp;nbsp;고정&amp;nbsp;(A3&amp;nbsp;기준) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.Range(&quot;B3&quot;).Select &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ActiveWindow.FreezePanes&amp;nbsp;=&amp;nbsp;True &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;With &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'추가&amp;nbsp;통계&amp;nbsp;정보&amp;nbsp;생성 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Call&amp;nbsp;AddSummaryStats(pivotWs,&amp;nbsp;pt) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'완료&amp;nbsp;메시지 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;MsgBox&amp;nbsp;&quot;피벗테이블이&amp;nbsp;성공적으로&amp;nbsp;생성되었습니다!&quot;&amp;nbsp;&amp;amp;&amp;nbsp;vbNewLine&amp;nbsp;&amp;amp;&amp;nbsp;_ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&quot;워크시트:&amp;nbsp;PivotTable&quot;&amp;nbsp;&amp;amp;&amp;nbsp;vbNewLine&amp;nbsp;&amp;amp;&amp;nbsp;_ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&quot;행:&amp;nbsp;판매점명&quot;&amp;nbsp;&amp;amp;&amp;nbsp;vbNewLine&amp;nbsp;&amp;amp;&amp;nbsp;_ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&quot;열:&amp;nbsp;과일명&quot;&amp;nbsp;&amp;amp;&amp;nbsp;vbNewLine&amp;nbsp;&amp;amp;&amp;nbsp;_ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&quot;데이터:&amp;nbsp;판매금액&amp;nbsp;합계&quot;,&amp;nbsp;vbInformation,&amp;nbsp;&quot;피벗테이블&amp;nbsp;생성&amp;nbsp;완료&quot; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'생성된&amp;nbsp;워크시트&amp;nbsp;활성화 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;pivotWs.Activate &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;pivotWs.Range(&quot;A3&quot;).Select &lt;br /&gt;End&amp;nbsp;Sub&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;fileblock&quot; data-ke-align=&quot;alignCenter&quot;&gt;&lt;a href=&quot;https://blog.kakaocdn.net/dn/bmok0V/dJMb9OUOBVS/0kK43y7zi5S4iW3VqKjvSK/%EA%B3%BC%EC%9D%BC%ED%8C%90%EB%A7%A4%EB%8D%B0%EC%9D%B4%ED%84%B0_2025-07-31.xlsm?attach=1&amp;amp;knm=tfile.xlsm&quot; class=&quot;&quot;&gt;
    &lt;div class=&quot;image&quot;&gt;&lt;/div&gt;
    &lt;div class=&quot;desc&quot;&gt;&lt;div class=&quot;filename&quot;&gt;&lt;span class=&quot;name&quot;&gt;과일판매데이터_2025-07-31.xlsm&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;size&quot;&gt;0.04MB&lt;/div&gt;
&lt;/div&gt;
  &lt;/a&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>Pivot 개체</category>
      <category>#Excel #VBA #피벗테이블 #데이터분석 #자동화</category>
      <author>노만e</author>
      <guid isPermaLink="true">https://dream2049.tistory.com/157</guid>
      <comments>https://dream2049.tistory.com/157#entry157comment</comments>
      <pubDate>Thu, 31 Jul 2025 21:37:20 +0900</pubDate>
    </item>
    <item>
      <title>  엑셀 VBA로 네이버 검색 이미지 1000장 자동 다운로드하기 | 2025년 완벽 가이드</title>
      <link>https://dream2049.tistory.com/156</link>
      <description>&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1208&quot; data-origin-height=&quot;631&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bDUAXt/btsPClN5mXZ/GE3IR6PDFwwdibmhVARkOK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bDUAXt/btsPClN5mXZ/GE3IR6PDFwwdibmhVARkOK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bDUAXt/btsPClN5mXZ/GE3IR6PDFwwdibmhVARkOK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbDUAXt%2FbtsPClN5mXZ%2FGE3IR6PDFwwdibmhVARkOK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1208&quot; height=&quot;631&quot; data-origin-width=&quot;1208&quot; data-origin-height=&quot;631&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;  주요 기능&lt;/h2&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;1. &lt;b&gt;이미지 다운로드 + 셀 삽입&lt;/b&gt;&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;네이버에서 이미지 검색 및 다운로드&lt;/li&gt;
&lt;li&gt;다운로드 완료된 이미지를 F열부터 순서대로 셀에 자동 삽입&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;2. &lt;b&gt;셀 크기 자동 조정&lt;/b&gt;&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;행 높이: 100픽셀&lt;/li&gt;
&lt;li&gt;열 너비: 15 단위&lt;/li&gt;
&lt;li&gt;이미지가 셀 크기에 맞게 자동 조정&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;3. &lt;b&gt;스마트 이미지 관리&lt;/b&gt;&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;기존 이미지 자동 삭제 후 새 이미지 삽입&lt;/li&gt;
&lt;li&gt;이미지별 고유한 이름 부여 (Image_행번호_열번호)&lt;/li&gt;
&lt;li&gt;여백 1픽셀로 깔끔한 정렬&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;  엑셀 시트 구성&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;A열B열C열F열G열H열...&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;키워드&lt;/td&gt;
&lt;td&gt;수량&lt;/td&gt;
&lt;td&gt;저장경로&lt;/td&gt;
&lt;td&gt;이미지1&lt;/td&gt;
&lt;td&gt;이미지2&lt;/td&gt;
&lt;td&gt;이미지3&lt;/td&gt;
&lt;td&gt;...&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;강아지&lt;/td&gt;
&lt;td&gt;5&lt;/td&gt;
&lt;td&gt;C:\Images&lt;/td&gt;
&lt;td&gt; ️&lt;/td&gt;
&lt;td&gt; ️&lt;/td&gt;
&lt;td&gt; ️&lt;/td&gt;
&lt;td&gt; ️&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;고양이&lt;/td&gt;
&lt;td&gt;3&lt;/td&gt;
&lt;td&gt;C:\Images&lt;/td&gt;
&lt;td&gt; ️&lt;/td&gt;
&lt;td&gt; ️&lt;/td&gt;
&lt;td&gt; ️&lt;/td&gt;
&lt;td&gt;&amp;nbsp;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;✨ 동작 과정&lt;/h2&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;&lt;b&gt;A2, B2, C2&lt;/b&gt; 값 읽기 (키워드, 수량, 저장경로)&lt;/li&gt;
&lt;li&gt;&lt;b&gt;폴더 생성&lt;/b&gt; (키워드명으로, 중복시 숫자 추가)&lt;/li&gt;
&lt;li&gt;&lt;b&gt;네이버에서 이미지 검색 및 다운로드&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;다운로드 성공한 이미지 경로를 배열에 저장&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;F열부터 순서대로 셀에 이미지 삽입&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;다음 행(A3, B3, C3...)으로 이동하여 반복&lt;/b&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;  사용 팁&lt;/h2&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;셀 크기 조정&lt;/b&gt;: 코드의 RowHeight = 100, ColumnWidth = 15 값을 변경하여 원하는 크기로 조정 가능&lt;/li&gt;
&lt;li&gt;&lt;b&gt;이미지 시작 열 변경&lt;/b&gt;: startCol = 6 (F열)을 다른 숫자로 변경하여 시작 위치 조정 가능&lt;/li&gt;
&lt;li&gt;&lt;b&gt;여백 조정&lt;/b&gt;: Width = currentCell.Width - 2 에서 숫자를 변경하여 이미지와 셀 간 여백 조정&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이제 이미지를 다운로드하면서 동시에 엑셀 시트에서 바로 미리보기가 가능합니다!  &lt;/p&gt;
&lt;div style=&quot;background-color: #ecf0f1; color: #000000; text-align: start;&quot;&gt;
&lt;h2 style=&quot;color: #34495e;&quot; data-ke-size=&quot;size26&quot;&gt;⚡ 5분만에 마스터하는 이미지 자동 수집의 비밀&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;상상해보세요!&lt;/b&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;마케팅 자료를 위해 하루 종일 이미지를 하나씩 저장하던 당신이, 이제&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;background-color: #f39c12; color: #ffffff;&quot;&gt;키워드 하나만 입력하면 1000장의 이미지가 자동으로 폴더별로 정리&lt;/span&gt;되고 엑셀에까지 깔끔하게 정렬되는 모습을요!  &lt;/p&gt;
&lt;/div&gt;
&lt;h2 style=&quot;color: #34495e; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;  이 가이드로 얻을 수 있는 것들&lt;/h2&gt;
&lt;ul style=&quot;list-style-type: disc; color: #000000; text-align: start;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;✅&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;b&gt;네이버 이미지 API 완벽 활용법&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;✅&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;b&gt;VBA로 폴더 자동 생성 및 중복 처리&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;✅&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;b&gt;엑셀 셀에 이미지 자동 삽입 기술&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;✅&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;b&gt;복사 붙여넣기만으로 바로 사용 가능한 완성 코드&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;✅&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;b&gt;업무 효율 1000% 향상 노하우&lt;/b&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 style=&quot;color: #34495e; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;  누구에게 필요한가요?&lt;/h2&gt;
&lt;div style=&quot;background-color: #ecf0f1; color: #000000; text-align: start;&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;마케터, 디자이너, 콘텐츠 제작자, 연구원&lt;/b&gt;이라면 이 가이드가&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;background-color: #f39c12; color: #ffffff;&quot;&gt;게임 체인저&lt;/span&gt;가 될 것입니다!&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt; &lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;b&gt;디자이너:&lt;/b&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;레퍼런스 이미지 대량 수집&lt;/li&gt;
&lt;li&gt; &lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;b&gt;마케터:&lt;/b&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;경쟁사 제품 이미지 분석&lt;/li&gt;
&lt;li&gt; &lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;b&gt;블로거:&lt;/b&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;포스팅용 이미지 자동 수집&lt;/li&gt;
&lt;li&gt; &lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;b&gt;연구원:&lt;/b&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;데이터 수집 자동화&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;h2 style=&quot;color: #34495e; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;  왜 이 방법이 특별한가요?&lt;/h2&gt;
&lt;p style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;기존의 이미지 다운로드 도구들과 달리, 이 VBA 솔루션은:&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc; color: #000000; text-align: start;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt; &lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;b&gt;완전 자동화:&lt;/b&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;키워드만 입력하면 끝&lt;/li&gt;
&lt;li&gt; &lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;b&gt;스마트 정리:&lt;/b&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;폴더 자동 생성 및 중복 처리&lt;/li&gt;
&lt;li&gt; &lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;b&gt;엑셀 연동:&lt;/b&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;다운로드와 동시에 셀에 삽입&lt;/li&gt;
&lt;li&gt;⚡&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;b&gt;빠른 속도:&lt;/b&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;한 번에 1000장까지 처리&lt;/li&gt;
&lt;li&gt; &lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;b&gt;완전 무료:&lt;/b&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;별도 프로그램 설치 불필요&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 style=&quot;color: #34495e; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt; ️ 필요한 준비물&lt;/h2&gt;
&lt;ul style=&quot;list-style-type: disc; color: #000000; text-align: start;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Microsoft Excel (VBA 지원 버전)&lt;/li&gt;
&lt;li&gt;인터넷 연결&lt;/li&gt;
&lt;li&gt;5분의 시간 ⏰&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 style=&quot;color: #34495e; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;  단계별 구현 가이드&lt;/h2&gt;
&lt;h3 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size23&quot;&gt;1단계: 엑셀 시트 설정&lt;/h3&gt;
&lt;div style=&quot;background-color: #ecf0f1; color: #000000; text-align: start;&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;A열:&lt;/b&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;검색 키워드 입력&lt;br /&gt;&lt;b&gt;B열:&lt;/b&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;다운로드할 이미지 수량&lt;br /&gt;&lt;b&gt;C열:&lt;/b&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;저장할 폴더 경로&lt;br /&gt;&lt;b&gt;F열~:&lt;/b&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;다운로드된 이미지가 자동 삽입될 영역&lt;/p&gt;
&lt;/div&gt;
&lt;h3 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size23&quot;&gt;2단계: 마법 실행&lt;/h3&gt;
&lt;p style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;매크로를 실행하면 자동으로:&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc; color: #000000; text-align: start;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;  네이버에서 키워드 검색&lt;/li&gt;
&lt;li&gt;  키워드명으로 폴더 생성&lt;/li&gt;
&lt;li&gt;⬇️ 이미지 자동 다운로드&lt;/li&gt;
&lt;li&gt;  엑셀 셀에 이미지 정렬&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 style=&quot;color: #34495e; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;⚠️ 주의사항 및 팁&lt;/h2&gt;
&lt;div style=&quot;background-color: #ecf0f1; color: #000000; text-align: start;&quot;&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt; &lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;b&gt;과도한 요청 방지:&lt;/b&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;한 번에 너무 많은 이미지 요청 시 IP 차단 가능&lt;/li&gt;
&lt;li&gt; &lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;b&gt;저작권 주의:&lt;/b&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;다운로드한 이미지의 상업적 사용 시 저작권 확인 필수&lt;/li&gt;
&lt;li&gt; &lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;b&gt;저장 공간 확인:&lt;/b&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;대용량 이미지 다운로드 전 디스크 용량 체크&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;h2 style=&quot;color: #34495e; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;  마무리&lt;/h2&gt;
&lt;p style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;이제&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;background-color: #f39c12; color: #ffffff;&quot;&gt;몇 시간씩 걸리던 이미지 수집 작업이 단 몇 분&lt;/span&gt;으로 단축됩니다! 이 가이드가 여러분의 업무 효율성을 크게 향상시켜 드릴 것입니다.&lt;/p&gt;
&lt;div style=&quot;background-color: #ecf0f1; color: #000000; text-align: start;&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;  이 가이드가 도움이 되셨나요?&lt;/b&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;댓글로 여러분의 성공 사례를 공유해주세요! 더 많은 자동화 팁이 궁금하시다면 구독과 좋아요 부탁드립니다!  &lt;/p&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;fileblock&quot; data-ke-align=&quot;alignCenter&quot;&gt;&lt;a href=&quot;https://blog.kakaocdn.net/dn/62k6N/dJMb9N2F0QF/kIUKAkl0t8AIkZ7AfBiIWk/%EC%9D%B4%EB%AF%B8%EC%A7%80_%EB%8B%A4%EC%9A%B4%EB%A1%9C%EB%8D%94_%EC%B5%9C%EC%A2%85%20-%20ver1.0.xlsm?attach=1&amp;amp;knm=tfile.xlsm&quot; class=&quot;&quot;&gt;
    &lt;div class=&quot;image&quot;&gt;&lt;/div&gt;
    &lt;div class=&quot;desc&quot;&gt;&lt;div class=&quot;filename&quot;&gt;&lt;span class=&quot;name&quot;&gt;이미지_다운로더_최종 - ver1.0.xlsm&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;size&quot;&gt;2.47MB&lt;/div&gt;
&lt;/div&gt;
  &lt;/a&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>Shape 개체</category>
      <category>#VBA자동화 #이미지다운로드 #엑셀매크로 #네이버크롤링 #생산성향상</category>
      <author>노만e</author>
      <guid isPermaLink="true">https://dream2049.tistory.com/156</guid>
      <comments>https://dream2049.tistory.com/156#entry156comment</comments>
      <pubDate>Tue, 29 Jul 2025 23:04:43 +0900</pubDate>
    </item>
    <item>
      <title>엑셀에서 구글 번역기를 바로?</title>
      <link>https://dream2049.tistory.com/155</link>
      <description>&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1714&quot; data-origin-height=&quot;471&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cusBCh/btsPBeVlHaq/B93p5eO3dOcgEpmTvxeMk1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cusBCh/btsPBeVlHaq/B93p5eO3dOcgEpmTvxeMk1/img.png&quot; data-alt=&quot;영어 번역 함수&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cusBCh/btsPBeVlHaq/B93p5eO3dOcgEpmTvxeMk1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcusBCh%2FbtsPBeVlHaq%2FB93p5eO3dOcgEpmTvxeMk1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1714&quot; height=&quot;471&quot; data-origin-width=&quot;1714&quot; data-origin-height=&quot;471&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;영어 번역 함수&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;h1&gt;&lt;b&gt;엑셀에서 구글 번역기를 바로? 셀에 입력만 하면 자동 번역되는 마법의 VBA 함수!&lt;/b&gt;&lt;/h1&gt;
&lt;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;안녕하세요! 엑셀로 해외 문서 작업을 하거나, 한글로 된 데이터를 영어로 빠르게 변환해야 할 때마다 번역기를 따로 열고, 복사-붙여넣기를 반복하느라 시간을 낭비하고 계신가요? 이제 그럴 필요 없습니다!&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;오늘 소개해 드릴 &lt;b&gt;엑셀 VBA 함수&lt;/b&gt;는 여러분의 엑셀 시트에 &lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;구글 번역기 기능을 그대로 옮겨 놓은 듯한 마법&lt;/b&gt;&lt;/span&gt;을 선사합니다. 셀에 한글을 입력하고 옆 셀에 함수만 입력하면, &lt;b&gt;실시간으로 영문 번역 결과&lt;/b&gt;를 바로 확인할 수 있습니다. 이 강력한 기능으로 여러분의 업무 효율을 극대화해 보세요!&lt;/p&gt;
&lt;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;  이 번역 함수, 무엇이 특별할까요?&lt;/b&gt;&lt;/h2&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;✨ 셀에서 바로 사용&lt;/b&gt;: 엑셀 시트의 어떤 셀이든 &lt;span style=&quot;color: #ee2323;&quot;&gt;=TranslateToEnglish(셀주소)&lt;/span&gt;처럼 입력하면 즉시 번역됩니다.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;  모든 시트에서 사용 가능&lt;/b&gt;: 한 번만 설정해두면 현재 통합 문서의 모든 시트에서 이 함수를 자유롭게 사용할 수 있습니다.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;  빠른 번역&lt;/b&gt;: 구글 번역 API를 활용하여 빠르고 정확한 번역 결과를 제공합니다.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;⏰ 시간 절약&lt;/b&gt;: 번역기와 엑셀을 오가는 번거로움 없이 한 곳에서 모든 작업을 처리할 수 있습니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;  엑셀 자동 번역 함수 사용 방법 가이드&lt;/b&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 함수를 사용하기 위한 단계는 매우 간단합니다. 한 번만 설정해두면 영구적으로 사용할 수 있습니다.&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;1단계: VBA 편집기 열기&lt;/b&gt;&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;엑셀 파일을 열고 키보드의 Alt + F11 키를 동시에 누릅니다.&lt;/li&gt;
&lt;li&gt;'Microsoft Visual Basic for Applications' 편집기 창이 열립니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;2단계: '표준 모듈' 삽입&lt;/b&gt;&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;VBA 편집기 왼쪽 상단의 '프로젝트 탐색기' 창에서 현재 작업 중인 엑셀 파일 이름(VBAProject (현재 파일 이름.xlsm))을 찾습니다.&lt;/li&gt;
&lt;li&gt;해당 파일 이름을 마우스 오른쪽 버튼으로 클릭합니다.&lt;/li&gt;
&lt;li&gt;팝업 메뉴에서 삽입(I) &amp;gt; 모듈(M)을 선택합니다.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;중요&lt;/b&gt;: 'Sheet1 (Sheet1)'이나 'ThisWorkbook' 같은 시트 이름이 아닌, **'모듈(Module)'**이라고만 되어 있는 새로운 창이 열려야 합니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;3단계: 코드 복사 및 붙여넣기&lt;/b&gt;&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;새로 열린 '모듈' 창에 아래의 VBA 코드를 모두 복사하여 붙여넣습니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;4단계: 엑셀 시트에서 함수 사용하기&lt;/b&gt;&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;VBA 편집기를 닫고 엑셀 시트로 돌아옵니다.&lt;/li&gt;
&lt;li&gt;번역을 원하는 한글 텍스트가 있는 셀 (예: A1)이 있다면, 번역 결과를 표시할 셀 (예: B1)에 다음과 같이 입력합니다. =TranslateToEnglish(A1)&lt;/li&gt;
&lt;li&gt;Enter 키를 누르면 B1 셀에 A1 셀의 한글 텍스트가 영어로 번역되어 나타납니다.&lt;/li&gt;
&lt;li&gt;채우기 핸들(셀의 오른쪽 아래 작은 사각형)을 드래그하여 여러 셀에 한 번에 함수를 적용할 수 있습니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;⚠️ 꼭 알아두세요! (주의 사항)&lt;/b&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 편리한 함수를 사용하기 전에 몇 가지 중요한 주의 사항을 확인해 주세요.&lt;/p&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;인터넷 연결 필수&lt;/b&gt;&lt;/span&gt;: 이 함수는 구글 번역 API를 사용하므로, 엑셀을 사용하는 동안 인터넷 연결이 되어 있어야 합니다.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;성능 저하 가능성&lt;/b&gt;: Application.Volatile 설정 때문에 셀 내용이 변경되거나 엑셀이 재계산될 때마다 웹 요청을 다시 보냅니다. 많은 셀에 이 함수를 사용하거나, 시트 내용이 자주 변경되는 경우 엑셀의 반응 속도가 다소 느려질 수 있습니다.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;API 응답 형식 의존성&lt;/b&gt;: 현재 코드는 구글 번역 API의 특정 응답 형식을 기반으로 번역 결과를 추출합니다. 구글이 API 응답 형식을 변경할 경우, 이 함수가 더 이상 작동하지 않을 수 있습니다. (이 경우 코드를 수정해야 합니다.)&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Excel 버전 호환성&lt;/b&gt;: 코드 내 WorksheetFunction.EncodeURL 함수는 Excel 2013 버전 이상에서만 정상적으로 작동합니다. 이전 버전의 Excel을 사용하시는 경우, URL 인코딩 부분에서 오류가 발생할 수 있습니다.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;오류 메시지 확인&lt;/b&gt;: 번역에 실패하거나 HTTP 요청에 문제가 발생하면 셀에 &quot;오류 발생: (오류 내용)&quot; 또는 &quot;HTTP 오류: (상태 코드)&quot; 등의 메시지가 표시됩니다.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;매크로 보안 설정&lt;/b&gt;: 엑셀 파일에 매크로가 포함되어 있으므로, 파일을 열 때 '보안 경고'가 나타날 수 있습니다. '콘텐츠 사용' 또는 '매크로 포함'을 허용해야 함수가 정상적으로 작동합니다.&lt;/li&gt;
&lt;li&gt;위의 번역 함수를 사용후, &lt;b&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;i&gt;다른 곳에 보낼때는&lt;/i&gt;&lt;/span&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt; [영어 번역]열의 셀 값을 값으로 붙여 넣은후&lt;/span&gt;&lt;/b&gt;, 보내주세요.&amp;nbsp;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;figure class=&quot;fileblock&quot; data-ke-align=&quot;alignCenter&quot;&gt;&lt;a href=&quot;https://blog.kakaocdn.net/dn/wryLD/dJMb9cuCRoV/QAMK1XPtPMogToPqOne7S0/%EC%98%81%EB%AC%B8%EB%B2%88%EC%97%AD%20%ED%95%A8%EC%88%98%20%EC%82%AC%EC%9A%A9%ED%95%98%EA%B8%B0.xlsm?attach=1&amp;amp;knm=tfile.xlsm&quot; class=&quot;&quot;&gt;
    &lt;div class=&quot;image&quot;&gt;&lt;/div&gt;
    &lt;div class=&quot;desc&quot;&gt;&lt;div class=&quot;filename&quot;&gt;&lt;span class=&quot;name&quot;&gt;영문번역 함수 사용하기.xlsm&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;size&quot;&gt;0.02MB&lt;/div&gt;
&lt;/div&gt;
  &lt;/a&gt;&lt;/figure&gt;
&lt;/p&gt;</description>
      <category>DATA</category>
      <category>#엑셀 #VBA #매크로 #자동번역 #구글번역 #엑셀함수 #업무자동화 #엑셀팁 #생산성향상 #프로그래밍 #데이터변환 #외국어번역 #엑셀VBA #셀함수 #번역기</category>
      <author>노만e</author>
      <guid isPermaLink="true">https://dream2049.tistory.com/155</guid>
      <comments>https://dream2049.tistory.com/155#entry155comment</comments>
      <pubDate>Sun, 27 Jul 2025 16:26:29 +0900</pubDate>
    </item>
    <item>
      <title>엑셀 파일을 서버처럼 사용하기</title>
      <link>https://dream2049.tistory.com/154</link>
      <description>&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1372&quot; data-origin-height=&quot;345&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/ovXJN/btsPz1v8oNR/gF8Hg5oFlAKSnqv3P7xHG0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/ovXJN/btsPz1v8oNR/gF8Hg5oFlAKSnqv3P7xHG0/img.png&quot; data-alt=&quot;인사 정보 리스트&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/ovXJN/btsPz1v8oNR/gF8Hg5oFlAKSnqv3P7xHG0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FovXJN%2FbtsPz1v8oNR%2FgF8Hg5oFlAKSnqv3P7xHG0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1372&quot; height=&quot;345&quot; data-origin-width=&quot;1372&quot; data-origin-height=&quot;345&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;인사 정보 리스트&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1797&quot; data-origin-height=&quot;586&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/Epa5Q/btsPBjCdoRV/T7eNCzHFQJf8ezqbjpee7k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/Epa5Q/btsPBjCdoRV/T7eNCzHFQJf8ezqbjpee7k/img.png&quot; data-alt=&quot;엑셀파일에서 원하는 데이터만 가져오기&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/Epa5Q/btsPBjCdoRV/T7eNCzHFQJf8ezqbjpee7k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FEpa5Q%2FbtsPBjCdoRV%2FT7eNCzHFQJf8ezqbjpee7k%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1797&quot; height=&quot;586&quot; data-origin-width=&quot;1797&quot; data-origin-height=&quot;586&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;엑셀파일에서 원하는 데이터만 가져오기&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h1&gt;&lt;b&gt;엑셀 초보도 1분 만에 데이터 관리 끝! 인사 정보 자동 추출 매크로 완벽 가이드&lt;/b&gt;&lt;/h1&gt;
&lt;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;안녕하세요! 엑셀 작업을 하다 보면 매번 반복되는 데이터 추출과 정리 작업에 지치셨나요? 수많은 직원 정보 중에서 &lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;원하는&lt;/b&gt;&lt;b&gt; 데이터만 쏙쏙 뽑아내고, 깔끔하게 정리하는 일&lt;/b&gt;&lt;/span&gt;이 여간 귀찮은 게 아닙니다. 하지만 걱정 마세요! 오늘 소개해 드릴 &lt;b&gt;엑셀 VBA 매크로&lt;/b&gt;만 있다면, 이 모든 과정을 &lt;b&gt;단 1분 만에, 클릭 한 번으로 자동화&lt;/b&gt;할 수 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 매크로는 외부 엑셀 파일에 저장된 방대한 인사 정보에서 필요한 데이터를 자동으로 가져와 현재 시트에 보기 좋게 정리해 줍니다. 이제 더 이상 수작업으로 데이터를 찾아 헤매거나, 복사-붙여넣기 오류로 스트레스받을 필요가 없습니다!&lt;/p&gt;
&lt;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;  인사 정보 추출 매크로, 무엇이 특별할까요?&lt;/b&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 매크로는 단순히 데이터를 가져오는 것을 넘어, 여러분의 엑셀 작업 효율을 극대화할 수 있도록 설계되었습니다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;⚡ 초고속 데이터 추출&lt;/b&gt;: 수만 건의 데이터도 조건에 맞춰 순식간에 가져옵니다.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;  유연한 조건 검색&lt;/b&gt;: 특정 팀, 특정 직급 등 원하는 조건에 맞춰 데이터를 필터링할 수 있습니다.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;  깔끔한 자동 정리&lt;/b&gt;: 가져온 데이터는 자동으로 번호가 매겨지고, 지정된 헤더와 함께 보기 좋게 정렬됩니다.&lt;/li&gt;
&lt;li&gt;&lt;b&gt; ️ 안정적인 오류 처리&lt;/b&gt;: 데이터가 없거나 경로에 문제가 생겨도 오류 메시지를 통해 친절하게 알려줍니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이제 이 강력한 매크로를 어떻게 사용하는지 자세히 알아볼까요?&lt;/p&gt;
&lt;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;  1분 만에 끝내는 사용 방법 가이드&lt;/b&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 매크로를 사용하려면 몇 가지 사전 설정이 필요하지만, 한 번만 해두면 다음부터는 클릭 한 번으로 모든 작업을 해결할 수 있습니다.&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;1. 준비물 확인하기&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;먼저 매크로가 제대로 작동하기 위한 필수 정보를 입력해야 합니다. 아래 그림처럼 엑셀 시트의 특정 셀에 정보를 입력해 주세요.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;i&gt;(블로그에 실제 엑셀 화면 스크린샷을 첨부하면 좋습니다. 아래는 셀 위치 설명입니다.)&lt;/i&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;D3 셀&lt;/b&gt;: &lt;b&gt;데이터를 가져올 &lt;span style=&quot;color: #ee2323;&quot;&gt;외부 엑셀 파일의 전체 경로&lt;/span&gt;&lt;/b&gt;를 입력합니다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;예: C:\Users\YourName\Documents\인사 정보 리스트.xlsx&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;D5 셀&lt;/b&gt;: 외부 엑셀 파일에서 &lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;가져올 컬럼(열)의 이름을 쉼표(,)로 구분하여 입력&lt;/b&gt;&lt;/span&gt;합니다.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;예: 이름,사원번호,부서,연락처,이메일&lt;/li&gt;
&lt;li&gt;&lt;b&gt;주의&lt;/b&gt;: 외부 엑셀 파일의 실제 컬럼 이름과 정확히 일치해야 합니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;K5 셀 (선택 사항)&lt;/b&gt;: 데이터를 필터링할 &lt;b&gt;기준이 될 컬럼 이름&lt;/b&gt;을 입력합니다. (예: 부서 또는 팀명)&lt;/li&gt;
&lt;li&gt;&lt;b&gt;L5 셀 (선택 사항)&lt;/b&gt;: K5에 입력한 컬럼에서 &lt;b&gt;찾을 값&lt;/b&gt;을 입력합니다. (예: 영업팀 또는 개발팀)
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;K5와 L5는 필터링이 필요할 때만 입력합니다. 이 두 셀이 비어있으면 모든 데이터를 가져옵니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;2. 매크로 실행하기&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;모든 준비가 끝났다면, 이제 마법을 부릴 시간입니다!&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock floatLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;80&quot; data-origin-height=&quot;80&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/lldM8/btsPANKDDEk/GCW0H8soi1YP3oNIQTQdZ1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/lldM8/btsPANKDDEk/GCW0H8soi1YP3oNIQTQdZ1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/lldM8/btsPANKDDEk/GCW0H8soi1YP3oNIQTQdZ1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FlldM8%2FbtsPANKDDEk%2FGCW0H8soi1YP3oNIQTQdZ1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;55&quot; height=&quot;80&quot; data-origin-width=&quot;80&quot; data-origin-height=&quot;80&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;br /&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;[실행]&lt;/span&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt; 버튼&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;을 클릭합니다.&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;3. 결과 확인하기&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;매크로가 실행되면, 현재 엑셀 시트의 &lt;b&gt;B9 셀부터 데이터를 가져와서 채워지는 것을 확인&lt;/b&gt;할 수 있습니다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;B9 셀에는 &lt;b&gt;&quot;No.&quot;&lt;/b&gt; 라는 헤더가 생성되고, 그 아래로 자동으로 번호가 매겨집니다.&lt;/li&gt;
&lt;li&gt;C9 셀부터는 D5에 입력했던 순서대로 &lt;b&gt;컬럼 헤더&lt;/b&gt;가 나타나고, 그 아래로 추출된 데이터가 깔끔하게 정렬됩니다.&lt;/li&gt;
&lt;li&gt;K7 셀에는 &lt;b&gt;총 인원수&lt;/b&gt;가 자동으로 계산되어 표시됩니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;만약 조건에 맞는 데이터가 없다면, 친절하게 &quot;조건에 맞는 데이터가 없습니다.&quot;라는 메시지 박스가 나타날 것입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;fileblock&quot; data-ke-align=&quot;alignCenter&quot;&gt;&lt;a href=&quot;https://blog.kakaocdn.net/dn/W203x/dJMb9Lw1ebz/JG8C5ehBREbOHgCbhOWq5K/%EC%9D%B8%EC%82%AC%20%EC%A0%95%EB%B3%B4%20%EB%A6%AC%EC%8A%A4%ED%8A%B8.xlsx?attach=1&amp;amp;knm=tfile.xlsx&quot; class=&quot;&quot;&gt;
    &lt;div class=&quot;image&quot;&gt;&lt;/div&gt;
    &lt;div class=&quot;desc&quot;&gt;&lt;div class=&quot;filename&quot;&gt;&lt;span class=&quot;name&quot;&gt;인사 정보 리스트.xlsx&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;size&quot;&gt;0.02MB&lt;/div&gt;
&lt;/div&gt;
  &lt;/a&gt;&lt;/figure&gt;
&lt;figure class=&quot;fileblock&quot; data-ke-align=&quot;alignCenter&quot;&gt;&lt;a href=&quot;https://blog.kakaocdn.net/dn/dt7PEH/dJMb8WZC6Sj/fkrgByPwBtZwy4KbUskOvk/%EC%A7%81%EC%9B%90%EC%A0%95%EB%B3%B4%20%EA%B2%80%EC%83%89.xlsm?attach=1&amp;amp;knm=tfile.xlsm&quot; class=&quot;&quot;&gt;
    &lt;div class=&quot;image&quot;&gt;&lt;/div&gt;
    &lt;div class=&quot;desc&quot;&gt;&lt;div class=&quot;filename&quot;&gt;&lt;span class=&quot;name&quot;&gt;직원정보 검색.xlsm&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;size&quot;&gt;0.16MB&lt;/div&gt;
&lt;/div&gt;
  &lt;/a&gt;&lt;/figure&gt;
&lt;/p&gt;</description>
      <category>DATA</category>
      <category>#엑셀 #VBA #매크로 #데이터관리 #인사정보 #엑셀자동화 #데이터추출 #엑셀팁 #업무자동화 #ADO #Recordset #엑셀함수 #데이터필터링 #엑셀VBA #사원정보</category>
      <author>노만e</author>
      <guid isPermaLink="true">https://dream2049.tistory.com/154</guid>
      <comments>https://dream2049.tistory.com/154#entry154comment</comments>
      <pubDate>Sun, 27 Jul 2025 15:55:27 +0900</pubDate>
    </item>
    <item>
      <title> 엑셀에서 벽돌을 깬다고?! 직장인 다 모여! 점심시간 순삭 게임 등장!  </title>
      <link>https://dream2049.tistory.com/153</link>
      <description>&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;860&quot; data-origin-height=&quot;738&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dbpyWn/btsPv7a1gXG/XEQyGwsgamVo550PmSubek/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dbpyWn/btsPv7a1gXG/XEQyGwsgamVo550PmSubek/img.png&quot; data-alt=&quot;벽돌깨기 게임 화면&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dbpyWn/btsPv7a1gXG/XEQyGwsgamVo550PmSubek/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdbpyWn%2FbtsPv7a1gXG%2FXEQyGwsgamVo550PmSubek%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;559&quot; height=&quot;480&quot; data-origin-width=&quot;860&quot; data-origin-height=&quot;738&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;벽돌깨기 게임 화면&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;  &lt;b&gt;엑셀로 즐기는 추억의 벽돌깨기! 지루한 업무/공부 시간은 이제 그만!&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;안녕하세요! 매일 반복되는 업무와 공부에 지쳐 있지는 않으신가요? 잠시 머리 식힐 무언가가 필요할 때, 따분한 스프레드시트 화면이 눈에 밟힐 때! 이제 엑셀을 단순한 업무 도구로만 보지 마세요! 여러분의 엑셀을 짜릿한 오락실 게임기로 바꿔줄 특별한 매크로 게임을 소개합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;어릴 적 오락실에서 동전 쌓아놓고 즐기던 벽돌깨기(Breakout) 게임, 기억하시나요? 그 추억의 게임을 여러분의 익숙한 엑셀 프로그램 안에서 그대로 재현했습니다! 설치 NO! 복잡한 설정 NO! 그저 VBA 코드만 붙여넣으면 여러분의 엑셀이 바로 게임장이 됩니다!&lt;/p&gt;
&lt;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt; ️ &lt;b&gt;간단한 게임 방법 &amp;amp; 조작키 (30초 만에 게임 마스터!)&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;엑셀 벽돌깨기 게임은 남녀노소 누구나 쉽게 즐길 수 있습니다. 복잡한 컨트롤러도, 외워야 할 스킬도 없습니다!&lt;/p&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;&lt;b&gt;게임 시작!&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;VBA 편집기(Alt + F11)를 열어 Module1의 StartBreakoutGame 서브루틴 안에 커서를 두고 &lt;b&gt;F5 키&lt;/b&gt;를 누르세요.&lt;/li&gt;
&lt;li&gt;또는 엑셀 화면에서 개발 도구 탭 &amp;gt; 매크로 &amp;gt; StartBreakoutGame을 선택하고 실행 버튼을 클릭하세요.&lt;/li&gt;
&lt;li&gt;짜잔! 화면에 벽돌과 패들, 공이 나타나며 게임이 시작됩니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;게임 조작키&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;좌우 방향키 (&amp;larr; &amp;rarr;)&lt;/b&gt;: 패들(아래 막대기)을 좌우로 움직여 공을 받아내세요.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;스페이스바 (Spacebar)&lt;/b&gt;: 게임이 일시 정지 상태일 때 (예: 생명을 잃었을 때) 스페이스바를 누르면 다시 공이 발사되며 게임이 재개됩니다.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;ESC 키&lt;/b&gt;: 게임을 즉시 종료하고 싶을 때 누르세요.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;게임 목표&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;공을 패들로 튕겨 올려 화면 상단의 벽돌들을 모두 부수세요.&lt;/li&gt;
&lt;li&gt;모든 벽돌을 부수면 다음 레벨로 진입하며, 공의 속도가 조금씩 빨라져 난이도가 올라갑니다.&lt;/li&gt;
&lt;li&gt;공이 화면 하단으로 떨어지면 생명(Lives)을 잃게 됩니다. 주어진 생명(기본 3개)을 모두 잃으면 게임 오버!&lt;/li&gt;
&lt;li&gt;가장 높은 레벨까지 도달하고, 최고 점수를 획득해 보세요!&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Tip!&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;벽돌을 맞출 때마다 점수가 올라갑니다.&lt;/li&gt;
&lt;li&gt;공이 패들의 중앙에 맞으면 정직하게 위로 튕겨 올라가고, 가장자리에 맞으면 더 큰 각도로 튕겨나가니 이를 활용하여 전략적으로 벽돌을 파괴해 보세요!&lt;/li&gt;
&lt;li&gt;(선택 사항: 게임 플레이 중 Ctrl+Z 등을 눌러 실수로 실행 취소하는 것을 막기 위해 Ctrl+Z를 비활성화하는 VBA 코드를 추가할 수도 있습니다.)&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;fileblock&quot; data-ke-align=&quot;alignCenter&quot;&gt;&lt;a href=&quot;https://blog.kakaocdn.net/dn/blOjl4/dJMb8WrNtyC/uy7XJCX9NjXJl3NG0QZNnK/Game_%EB%B2%BD%EB%8F%8C%EA%B9%A8%EA%B8%B0_ver1.1.xlsm?attach=1&amp;amp;knm=tfile.xlsm&quot; class=&quot;&quot;&gt;
    &lt;div class=&quot;image&quot;&gt;&lt;/div&gt;
    &lt;div class=&quot;desc&quot;&gt;&lt;div class=&quot;filename&quot;&gt;&lt;span class=&quot;name&quot;&gt;Game_벽돌깨기_ver1.1.xlsm&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;size&quot;&gt;0.05MB&lt;/div&gt;
&lt;/div&gt;
  &lt;/a&gt;&lt;/figure&gt;
&lt;/p&gt;</description>
      <category>추억의 Game</category>
      <category>#엑셀게임 #벽돌깨기 #엑셀VBA #직장인필수 #점심시간순삭 #레트로게임 #VBA매크로 #엑셀활용 #Breakout #오락실게임 #킬링타임 #스트레스해소</category>
      <author>노만e</author>
      <guid isPermaLink="true">https://dream2049.tistory.com/153</guid>
      <comments>https://dream2049.tistory.com/153#entry153comment</comments>
      <pubDate>Wed, 23 Jul 2025 23:53:52 +0900</pubDate>
    </item>
    <item>
      <title>엑셀 지뢰찾기: 숨겨진 스릴을 찾아라!</title>
      <link>https://dream2049.tistory.com/152</link>
      <description>&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;727&quot; data-origin-height=&quot;426&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cDv64S/btsPt5q62DM/Kx4fXoSWbv50V7nD3KLaDk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cDv64S/btsPt5q62DM/Kx4fXoSWbv50V7nD3KLaDk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cDv64S/btsPt5q62DM/Kx4fXoSWbv50V7nD3KLaDk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcDv64S%2FbtsPt5q62DM%2FKx4fXoSWbv50V7nD3KLaDk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;727&quot; height=&quot;426&quot; data-origin-width=&quot;727&quot; data-origin-height=&quot;426&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;  엑셀 지뢰찾기 사용법&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;당신만의 맞춤형 지뢰찾기 게임, 이제 엑셀에서 손쉽게 즐기세요! 이 매크로 기반 게임은 친숙한 엑셀 환경에서 지뢰찾기의 묘미를 그대로 선사합니다.&lt;/p&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;&lt;b&gt;파일 열기&lt;/b&gt;: 게임이 포함된 .xlsm 파일을 엽니다. 자동으로 &lt;b&gt;'게임' 시트&lt;/b&gt;가 나타나며, 상단에 게임 제목과 설정이 표시됩니다.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;난이도 선택&lt;/b&gt;: J1 셀의 드롭다운 목록에서 원하는 **난이도(초급, 중급, 고급)**를 선택하세요. 난이도에 따라 게임판의 크기와 지뢰 수가 달라집니다.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;게임 시작&lt;/b&gt;: K1:M1 셀에 있는 &lt;b&gt;[시작] 버튼&lt;/b&gt;을 클릭합니다. 선택한 난이도에 맞춰 게임판이 2행부터 자동으로 생성됩니다.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;셀 열기 (더블클릭)&lt;/b&gt;: 지뢰가 숨어있지 않을 것 같은 셀을 &lt;b&gt;더블클릭&lt;/b&gt;하여 여세요.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;주변에 지뢰가 없으면 빈 공간이 자동으로 확장됩니다.&lt;/li&gt;
&lt;li&gt;주변에 지뢰가 있다면, 그 개수(1~8)가 숫자로 표시됩니다.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;지뢰를 밟으면 게임 오버!&lt;/b&gt; 모든 지뢰가 드러나며 게임이 종료됩니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;깃발 표시 (마우스 우클릭)&lt;/b&gt;: 지뢰가 있다고 확신하는 셀에는 &lt;b&gt;마우스 우클릭&lt;/b&gt;으로 깃발( )을 꽂아 표시하세요. 다시 우클릭하면 깃발이 사라집니다. 깃발이 꽂힌 셀은 더블클릭으로 열리지 않습니다.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;게임 승리&lt;/b&gt;: 모든 지뢰를 피하고 안전한 셀을 전부 열면 게임 승리! 축하 메시지가 나타납니다.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;다시 시작&lt;/b&gt;: 게임이 끝나면 언제든지 &lt;b&gt;[시작] 버튼&lt;/b&gt;을 다시 클릭하여 새로운 게임을 즐길 수 있습니다. 게임판은 자동으로 초기화됩니다.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;figure class=&quot;fileblock&quot; data-ke-align=&quot;alignCenter&quot;&gt;&lt;a href=&quot;https://blog.kakaocdn.net/dn/17eEV/dJMb8ZB3ddV/p6SXhR2npFMsZLYkdAG2S1/%EC%A7%80%EB%A2%B0%EC%B0%BE%EA%B8%B0.xlsm?attach=1&amp;amp;knm=tfile.xlsm&quot; class=&quot;&quot;&gt;
    &lt;div class=&quot;image&quot;&gt;&lt;/div&gt;
    &lt;div class=&quot;desc&quot;&gt;&lt;div class=&quot;filename&quot;&gt;&lt;span class=&quot;name&quot;&gt;지뢰찾기.xlsm&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;size&quot;&gt;0.06MB&lt;/div&gt;
&lt;/div&gt;
  &lt;/a&gt;&lt;/figure&gt;
&lt;/p&gt;</description>
      <category>추억의 Game</category>
      <category>#엑셀 #지뢰찾기 #엑셀게임 #VBA #엑셀매크로 #매크로게임 #오피스게임</category>
      <category>엑셀활용 #코딩연습 #엑셀자동화 #퍼즐게임 #두뇌게임</category>
      <author>노만e</author>
      <guid isPermaLink="true">https://dream2049.tistory.com/152</guid>
      <comments>https://dream2049.tistory.com/152#entry152comment</comments>
      <pubDate>Tue, 22 Jul 2025 23:00:55 +0900</pubDate>
    </item>
    <item>
      <title>엑셀 VBA로 스도쿠 게임 만들기 &amp;ndash; 난이도 선택과 힌트 기능까지 완벽 구현!</title>
      <link>https://dream2049.tistory.com/151</link>
      <description>&lt;blockquote data-end=&quot;319&quot; data-start=&quot;222&quot; data-ke-style=&quot;style1&quot;&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;721&quot; data-origin-height=&quot;550&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cnX7N3/btsPrRfoqYP/MeBWar0RLku0gEYKD1oFkK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cnX7N3/btsPrRfoqYP/MeBWar0RLku0gEYKD1oFkK/img.png&quot; data-alt=&quot;스도쿠 게임&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cnX7N3/btsPrRfoqYP/MeBWar0RLku0gEYKD1oFkK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcnX7N3%2FbtsPrRfoqYP%2FMeBWar0RLku0gEYKD1oFkK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;532&quot; height=&quot;406&quot; data-origin-width=&quot;721&quot; data-origin-height=&quot;550&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;스도쿠 게임&lt;/figcaption&gt;
&lt;/figure&gt;

&lt;p data-end=&quot;319&quot; data-start=&quot;224&quot; data-ke-size=&quot;size16&quot;&gt;&lt;br /&gt;&lt;br /&gt;엑셀 VBA로 스도쿠 게임을 직접 만들어보세요! 난이도 설정, 힌트 제공, 정답 확인 기능까지 갖춘 완성형 스도쿠 게임 코드를 소개합니다. VBA 학습과 실습을 한 번에!&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;
&lt;h2 data-end=&quot;480&quot; data-start=&quot;461&quot; data-ke-size=&quot;size26&quot;&gt;  본문 예시 (구조 포함)&lt;/h2&gt;
&lt;h3 data-end=&quot;510&quot; data-start=&quot;482&quot; data-ke-size=&quot;size23&quot;&gt;  들어가며: 엑셀로 스도쿠? 가능합니다!&lt;/h3&gt;
&lt;p data-end=&quot;640&quot; data-start=&quot;511&quot; data-ke-size=&quot;size16&quot;&gt;엑셀에서 단순한 계산이나 표 작업만 한다고요? 아닙니다! 오늘은 &lt;b&gt;엑셀 VBA로 만드는 스도쿠 게임&lt;/b&gt;을 소개합니다. 난이도 설정부터 힌트 제공, 정답 확인까지 전부 포함된 프로젝트예요. 실습을 통해 VBA 실력을 확 키워보세요!&lt;/p&gt;
&lt;hr data-end=&quot;645&quot; data-start=&quot;642&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-end=&quot;671&quot; data-start=&quot;647&quot; data-ke-size=&quot;size23&quot;&gt;  준비 단계: VBA 편집기 열기&lt;/h3&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-end=&quot;789&quot; data-start=&quot;672&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li data-end=&quot;717&quot; data-start=&quot;672&quot;&gt;Excel 실행 후 &lt;b&gt;[개발자] 탭 &amp;gt; [Visual Basic] 클릭&lt;/b&gt;&lt;/li&gt;
&lt;li data-end=&quot;750&quot; data-start=&quot;718&quot;&gt;[삽입] &amp;gt; [모듈] 선택 후, 전체 코드를 붙여넣기&lt;/li&gt;
&lt;li data-end=&quot;789&quot; data-start=&quot;751&quot;&gt;StartSudoku 매크로를 실행하면 게임판이 생성됩니다.&lt;/li&gt;
&lt;/ol&gt;
&lt;hr data-end=&quot;794&quot; data-start=&quot;791&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-end=&quot;811&quot; data-start=&quot;796&quot; data-ke-size=&quot;size23&quot;&gt;  주요 기능 안내&lt;/h3&gt;
&lt;h4 data-end=&quot;848&quot; data-start=&quot;813&quot; data-ke-size=&quot;size20&quot;&gt;① 스도쿠 판 생성 (SetupSudokuGame)&lt;/h4&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;932&quot; data-start=&quot;849&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;874&quot; data-start=&quot;849&quot;&gt;엑셀 시트에 9x9 스도쿠 셀 그리드 생성&lt;/li&gt;
&lt;li data-end=&quot;897&quot; data-start=&quot;875&quot;&gt;3x3 구간마다 두꺼운 테두리로 구분&lt;/li&gt;
&lt;li data-end=&quot;932&quot; data-start=&quot;898&quot;&gt;난이도 선택 콤보박스, 새 게임/힌트/정답 확인 버튼 추가&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 data-end=&quot;967&quot; data-start=&quot;934&quot; data-ke-size=&quot;size20&quot;&gt;② 난이도 선택 + 게임 시작 (NewGame)&lt;/h4&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1027&quot; data-start=&quot;968&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1004&quot; data-start=&quot;968&quot;&gt;초급(35칸 비움), 중급(45칸), 고급(55칸) 설정 가능&lt;/li&gt;
&lt;li data-end=&quot;1027&quot; data-start=&quot;1005&quot;&gt;백트래킹 알고리즘으로 해답 자동 생성&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 data-end=&quot;1054&quot; data-start=&quot;1029&quot; data-ke-size=&quot;size20&quot;&gt;③ 힌트 제공 (ShowHint)&lt;/h4&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1098&quot; data-start=&quot;1055&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1079&quot; data-start=&quot;1055&quot;&gt;빈 칸을 선택 후 클릭하면 정답을 보여줌&lt;/li&gt;
&lt;li data-end=&quot;1098&quot; data-start=&quot;1080&quot;&gt;노란색으로 표시되어 구분 쉬움&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 data-end=&quot;1130&quot; data-start=&quot;1100&quot; data-ke-size=&quot;size20&quot;&gt;④ 정답 확인 (CheckSolution)&lt;/h4&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1174&quot; data-start=&quot;1131&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1147&quot; data-start=&quot;1131&quot;&gt;전체 칸이 채워졌는지 확인&lt;/li&gt;
&lt;li data-end=&quot;1174&quot; data-start=&quot;1148&quot;&gt;정답과 일치 여부 판단 후 결과 메시지 출력&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;fileblock&quot; data-ke-align=&quot;alignCenter&quot;&gt;&lt;a href=&quot;https://blog.kakaocdn.net/dn/bjG6RB/dJMb9MbCEt3/Nm9ea0a6JBjiSMJHALxaKK/%EC%8A%A4%EB%8F%84%EC%BF%A0%20%EA%B2%8C%EC%9E%84.xlsm?attach=1&amp;amp;knm=tfile.xlsm&quot; class=&quot;&quot;&gt;
    &lt;div class=&quot;image&quot;&gt;&lt;/div&gt;
    &lt;div class=&quot;desc&quot;&gt;&lt;div class=&quot;filename&quot;&gt;&lt;span class=&quot;name&quot;&gt;스도쿠 게임.xlsm&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;size&quot;&gt;0.04MB&lt;/div&gt;
&lt;/div&gt;
  &lt;/a&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>추억의 Game</category>
      <category>엑셀VBA #VBA스도쿠 #엑셀게임 #엑셀매크로 #엑셀VBA게임 #스도쿠만들기 #엑셀스도쿠 #ExcelVBA #SudokuGame #MakeSudokuWithExcel #VBAProject #엑셀프로그래밍</category>
      <author>노만e</author>
      <guid isPermaLink="true">https://dream2049.tistory.com/151</guid>
      <comments>https://dream2049.tistory.com/151#entry151comment</comments>
      <pubDate>Mon, 21 Jul 2025 19:34:48 +0900</pubDate>
    </item>
  </channel>
</rss>