반응형

2024/03 22

한글이 아닌 엑셀로 하는 메일 머지(3)

문제는 여기를 참고 바랍니다. 3. 해법 2 : 이름뿐만 아니라 나머지 내용까지 매크로로 처리하는 방법 가. 논리이번에는 셀 값을 Vlookup함수가 아니라 다른 시트의 셀 주소로 연결하는 방법과 같은 연번에서 이름이 반복될 경우 고지서에 한꺼번에 인쇄하는 매크로를 만들어 보겠습니다. (1) 셀 값을 다른 시트의 셀 주소로 연결하기 예를 들어 고지서 시트의 회사명(성명)인 D6셀에는 명단 시트의 E열의 값이 입력되어야 합니다. 이 때는 연결키가 없어도 됩니다.그리고, 토지 소재지인 시군, 읍면, 리동은 명단 시트의 G, H, i 열과 연결되면 됩니다. (2) 같은 연번에서 이름이 반복될 경우 인쇄하기 "같은 연번"이란 병합된 셀로서 처리 줄과 윗 줄의 A1셀이 동일한 경우이고, "이름이 반복된다"는 것은..

EXCEL - VBA 2024.03.29

한글이 아닌 엑셀로 하는 메일 머지(2)

다. 연결키를 가져오는 매크로 작성(1) 매크로 작성 명단 시트에 만들어둔 연결키 중 B열의 번호를 하나씩 고지서 시트의 L6셀에 넘겨주면 됩니다. 코드를 작성하기 위해 개발 도구 - Visual Basic을 클릭합니다. 만약 개발 도구 탭이 보이지 않는다면 파일 - 옵션 - 리본 사용자 지정에서 개발 도구 탭에 체크하고 확인 버튼을 눌러야 합니다. => https://lsw3210.tistory.com/142#google_vignette 그리고, 삽입 - 모듈을 클릭해서 Module1을 만든 다음 오른쪽 에디터 창에 아래 내용을 복사해서 붙여 넣습니다.Sub 고지서개별인쇄() Dim sht1 As Worksheet, sht2 As Worksheet Dim i As Integer, endRow As In..

EXCEL - VBA 2024.03.28

한글이 아닌 엑셀로 하는 메일 머지(1)

1. 문제고지서 서식은 한 장이고, 인쇄할 내용을 아래 명단 시트에서 순서대로 찾아서 인쇄하고자 할 때 먼저 생각나는 것이 워드나 한글의 메일 머지 기능입니다. 그러나, 여기서는 엑셀의 매크로로 구현하고자 하는 것입니다. 인쇄할 내용을 채우는 방법이 두 가지가 있습니다. 이름만 입력하면 나머지 내용은 수식으로 가져오는 방법, 이름뿐만 아니라 나머지 내용까지 매크로로 처리하는 방법인데, 한 가지씩 알아보겠습니다. 2. 해법 1 : 이름만 입력하고 나머지는 수식으로 가져오는 방법 가. 연번별로 이름에 순번 부여하기(1) 로직 연번을 기준으로 인쇄하는데, 연번에 동일인이 있다면 같은 고지서에 인쇄하고, 다른 사람이라면 별도의 고지서에 인쇄해야 합니다. 이를 위해서는 고지서 발행 기준인 순번과 동일인여부 순번 ..

EXCEL - VBA 2024.03.27

중복 값 제거하고 세기

1. 문제 아래와 같이 과일별 업체별 출시일 자료가 있을 때 과일별 업체수를 중복을 제거하고 세려고 합니다. 다시 말해 바나나를 취급하는 업체수는 2개입니다. 2. 해법 서울 가는 길이 하나가 아니듯이 엑셀도 문제를 해결하는 방법이 여러 개입니다. 데이터 탭에서 중복된 항목 제거 명령을 실행한 후 CountA함수를 이용해 셀 수도 있고, Filter 함수와 Unique 함수를 이용해 업체의 중복을 제거한 후 셀 수도 있으며, 최신 함수인 GroupBy함수를 이용할 수도 있습니다. 가. 중복된 항목 제거 중복된 항목 제거를 하면 기존 데이터가 사라지는 문제점이 있으므로 데이터를 다른 영역에 붙여 넣은 후 실행해야 합니다. 아래와 같이 E열 이후에 붙여 넣고 데이터 탭에서 중복된 항목 제거 명령을 누르면 제..

Excel 2024.03.26

텍스트내 금액 삭제하기

1. 문제 아래와 같이 텍스트에 금액이 포함되어 있을 때 금액을 지우려고 하는 것입니다. 규칙은 금액은 쉼표가 1개 또는 2개가 있고, 일반 숫자는 쉼표가 없이 숫자만 있습니다. 2. 해결 방안 Find 함수는 와일드카드 적용이 안되는데, Search 함수는 와일드카드 적용이 돼서 Search 함수를 이용해서, 컴마가 하나만 있는지 2개가 있는지에 따라 처리를 달리하는 것입니다. 파일 첨부금액부분지우기(답글).xlsx 단계별로 이해할 수 있도록 수식을 작성했습니다. B1셀 : =SEARCH("?,???",A1) 첫 번째 컴마 앞의 숫자 위치를 찾습니다. C1셀 : =SEARCH("?,???,",A1) 컴마가 2개 있는 경우 첫 번째 컴마 앞의 숫자 위치를 찾습니다. 위 2개는 위치가 중요한 것이 아니고 ..

Excel 2024.03.25

병합된 셀의 개수 세기

1. 문제 아래와 같이 셀 병합이 됐을 때 셀의 길이(높이)를 알려면 어떻게 해야 할까요? 2. 해법 병합셀 다루기 정말 어렵죠? 가. 진행 주의 셀 수 알아내기 =OFFSET(A6,1,0)이라고 A6셀을 기준으로 한 행 아래 값을 구하려고 하면 "미 진행 주"가 아니라 A7셀이 돼서 0이 반환됩니다. 그러면 어떻게 해야 할까요? Match 함수를 이용해 "미 진행 주"의 위치를 찾은 다음 빼기 1을 하면 됩니다. 먼저 '미 진행 주'의 위치를 찾기 위해 =MATCH("미 진행 주",A6:A25,0)라고 하면 11이 구해지는데, 이것은 '미 진행 주'의 처음을 검색해서 그런 것이므로 1을 빼면 진행 주의 개수는 10이 됩니다. 나. 미 진행 주의 셀 수 알아내기 미진행 주의 개수를 알아내려면 A열에서 빈..

Excel 2024.03.22

ChatGPT를 이용해서 VBA 코드 짜기(2)

1편은 여기를 클릭하면 됩니다. (3) 텍스트 파일에 특정 단어를 연결해서 표시하는 VBA 코드 검색 "텍스트 파일에 특정 단어를 연결해서 표시하는 VBA 코드"라고 했더니 아래와 같이 결과가 나왔는데, 줄별로 연결하는 부분이 빠져 있습니다. 이 때는 당신이라고 표시된 아래의 대화 내용에 커서를 갖다 대면 없던 연필이 표시되므로 연필을 클릭합니다. 그리고, 아래와 같이 " 텍스트 파일에 특정 단어를 줄별로 연결하는 VBA 코드"라고 수정한 후 '저장 및 제출' 버튼을 누릅니다. 그러면 줄별로 단어를 연결하는 코드만 보여줘야 하는데, 어제 학습을 해서 그런건지, 아니면 이전 질문과 연결해서 답을 만든 것인지 폴더를 선택할 수 있는 창을 여는 코드와 특정 단어를 연결하는 코드가 함께 결과로 나옵니다. Cop..

EXCEL - VBA 2024.03.21

ChatGPT를 이용해서 VBA 코드 짜기(1)

1. 문제 텍스트 파일이 여러 개 있는데, 기존 내용에 텍스트 파일명에서 네 번째부터 10번째까지의 텍스트를 왼쪽에 추가한 후 모든 텍스트 파일을 연결해서 하나의 파일로 만들려고 합니다. 텍스트 파일은 2개만 해보겠습니다. 2. 해결 순서 ① 적용 순서는 폴더를 선택하고, ② 폴더 내 텍스트 파일을 열어서 파일명의 네 번째부터 10번째까지의 텍스트를 발췌한 후 줄 별로 왼쪽에 추가합니다. ③ 텍스트 파일을 붙여서 하나의 파일로 만듭니다. 3. ChatGPT 로그인 또는 가입하기 ChatGTP 사이트( https://chat.openai.com/ )를 연 후 로그인을 합니다. 만약 가입이 안되어 있다면 가입하기 버튼을 누르고, 계정 만들기 창에서 여러 가지 방법 중 원하는 것을 선택합니다. 아래 Googl..

EXCEL - VBA 2024.03.20

(구글 스프레드시트) 조건부 서식 - 맞춤 수식

1. 문제 셀 내 텍스트에 따라 F열에 색을 칠하려고 합니다. https://docs.google.com/spreadsheets/d/1euzjv_hlLt2OAK5CQ5RXywQ7EN3C9cRTTrXmVdpjP0s/edit?usp=sharing 2. 해법 (1) 서식 아래에 엑셀과 같은 조건부 서식 메뉴가 있습니다. (2) 조건부 서식 메뉴를 누르면 오른쪽에 '조건부 서식 규칙' 창이 표시되는데, 단색과 색상 스케일 탭이 있고, 그 아래 범위 선택, 형식 규칙, 서식 지정 스타일이 있습니다. (3) 범위 선택 단일 셀만 선택됐을 때 열 전체를 선택하려면 F라고 쓰여 있는 열 이름 부분을 누르면 됩니다. 그러면 F:F가 표시되는데 확인 버튼을 누릅니다. 그런데 나중에 보니 F열 전체가 F1:F911입니다. ..

문자열로 된 수식의 값 계산하기

1. 문제 아래와 같이 산출식이 *, +, 괄호 등으로 연결되어 표시되어 있을 경우 산출식의 결과 값을 F열, G열과 H열에 모두 표시하려고 하면 어떻게 해야 할까요? 2. Evaluate 함수 가. Evaluate Evaluate 함수는 원래 VBA에 있는 함수인데 이름 관리자를 이용해서 사용할 수 있습니다. Lambda와 비슷합니다. Evaluate는 수식을 계산해서 결괏값을 돌려주는 역할을 합니다. 개발 도구 탭에서 Visual Basic 명령을 눌러 VB 에디터로 들어간 후 직접 실행창에 ?evaluate("2*3")이라고 입력하고 엔터 키를 누르면 2*3의 결괏값인 6이 반환됩니다. 나. 이름 정의 F5셀을 선택한 다음 수식 탭의 정의된 이름 그룹에서 이름 정의를 클릭하거나, 이름 관리자를 열고..

Excel 2024.03.18
반응형