직장인의 끄적끄적
728x90
[VBA 매크로] 매크로로 시트 목록 생성하기 (기초버전) 저는 엑셀 파일에 시트가 많은 경우 별도의 목차시트를 만들어서 시트 목록을 만들고, 시트별로 하이퍼링크도 걸어서 관리하는데요. 이번 글에서는 매크로로 시트 목록을 생성하는 기초적인 방법을 소개하겠습니다. 완성된 예시 파일을 다운받아 참고해주세요. 예시 파일 상황 ▲ 첫 번째 시트의 시트명을 '목차'로 설정하고, 목차 시트의 A2셀부터 시트 목록을 생성하려고 합니다. 즉, 매크로를 실행했을 때, A2셀부터 A4셀까지 TEST1~TEST3이 입력되는 것이 목표입니다. 시트 목록생성 매크로 VBA 코드 ▲ 매크로 코드 전문은 업로드한 엑셀 파일이나 텍스트 파일에서 그대로 복사하실 수 있습니다. 1) Dim i as Integer 변수 'i'를 Integer이라는 숫자(정수) 형식의 변수로 선언(설정)하는 구문.. 2023. 10. 15.
[엑셀] LEN 함수, 셀의 길이를 알려주는 함수 LEN 함수는 셀의 길이를 반환해 주는 함수입니다. LEN 함수는 길이를 반환해 주는 특성 때문에 홀로 사용되기보다는 다른 함수와 같이 쓰이는 경우가 많은데요. 이번 글에서는 LEN 함수의 개념과 사용사례 두 가지를 소개하겠습니다. LEN 함수 소개 및 사용법 1) LEN 함수의 함수인수와 결괏값 LEN(셀주소 혹은 문자열) = 셀 값 혹은 문자열의 길이* *공백도 포함 2) LEN 함수를 사용하는 방법 LEN 함수의 함수인수에서 봤듯이, 수식 안에 셀주소나 따옴표("")를 포함하여 문자열을 입력하면 문자 개수(공백 포함)가 반환됩니다. ▲ 위의 예시처럼, LEN("온라인 게임")이던 LEN(C1)이던 똑같이 공백을 포함한 문자 개수 6을 반환합니다. 사용사례 #1. 날짜 표기방식 통일하기 ▲ 위의 사진.. 2023. 10. 12.
[파워쿼리] 쿼리추가로 여러 데이터를 하나의 표로 합치기 회사 업무를 하다 보면 다른 시트나 파일의 데이터를 하나로 합치는 경우가 생깁니다. 일회성으로 벌어지는 일이라면 하나의 시트에 복사/붙여넣기를 하여 이어 붙이는 것이 편할 수도 있습니다. 하지만, 주기적으로 데이터나 표를 합쳐야 한다면 파워쿼리의 '쿼리 추가' 기능을 활용하는 것이 훨씬 효율적입니다. 특히, 데이터를 합치기 전에 데이터 전처리 작업이 필요한 상황*이면 더욱 유용합니다. 이번 글에서는 데이터/표를 아래로 합치는 '쿼리 추가' 기능의 활용 방법에 대해서 소개해드리겠습니다. * 만약에 데이터 열 이름과 서식이 동일한 데이터, 즉 데이터 내용만 다른 경우라면 '폴더에서 가져오기' 기능을 사용하는 것을 추천드립니다. [파워쿼리- 쿼리 생성하는 5가지 방법] #4 폴더에서 가져오기 (여러 파일 취합.. 2023. 10. 12.
[파워쿼리] 한 개의 파일 내 여러 데이터 합치기 (VLOOKUP 상위호환) VLOOKUP 함수는 데이터를 합칠 때 활용되기도 합니다. VLOOKUP과 IF함수 및 MATCH 함수 조합 혹은 INDEX-MATCH 함수 조합을 활용하면 VLOOKUP만 썼을 때의 한계를 어느 정도 극복할 수 있습니다. (VLOOKUP 사용법 글 1편, 2편 참고) 하지만, 여러 데이터를 하나로 합치거나 데이터 양이 많은 경우에는 파워쿼리의 '쿼리 병합'을 사용하는 것이 VLOOKUP 함수를 사용하는 것보다 더 효율적입니다. 참조해야 할 데이터가 많으면 VLOOKUP 함수를 여러 번 활용해야 하고, 데이터 양이 많으면 계산 시간이 늘어나기 때문입니다. 샘플 파일을 통해 파워쿼리로 한 파일 내 여러 데이터를 합치는 과정을 살펴보겠습니다. (파워쿼리에 대한 간단한 소개글 참고) 샘플 파일 상황 ▲샘플 파.. 2023. 10. 12.
[VBA 매크로] CurrentRegion으로 데이터 영역 선택하기 VBA 매크로 프로퍼티 중 'CurrentRegion'으로 데이터 영역을 선택 및 설정하는 방법을 소개해 드리겠습니다. Range 관련해서는 이전 글 [엑셀 VBA 매크로] For 구문으로 엑셀 시트 이름 한번에 바꾸기 #1: Range(셀 주소) 버전을 참고해주세요. Range("셀주소").Select 방식의 문제점: 데이터 영역의 변경사항을 반영하지 못 함 ▲[엑셀 VBA 매크로] For 구문으로 엑셀 시트 이름 한번에 바꾸기 #1: Range(셀 주소) 버전에서는 A1:B2 영역을 Range("A1:B2").Select 방식으로 선택했습니다. 즉, Range 구문 안에 영역 이름을 입력하는 방식을 사용했습니다. ▲하지만 Range("영역").Select 방식은 데이터 영역이 바뀌어도, 이를 바로 반.. 2023. 10. 11.
728x90