본문 바로가기

회사 생존기/엑셀 VBA로 생존하기22

엑셀 파일 비밀번호 설정하는 방법!(엑셀 암호화)

『 회사 혹은 개인업무를 하다 보면 중요한 파일 정보에 대해 암호화를 진행하여야 하는 경우가 있습니다. 보통 회사의 경우는 암호/복호화 프로그램이 적용되지만, 개인의 경우에는 사용하는 프로그램에 비밀번호를 설정하여 보호할 수 있는데요. 엑셀파일에 비밀번호를 적용하여 암호화하는 방법을 알아보겠습니다. 』 암호화 파일의 필요성 개인적으로 중요하다고 생각되는 파일들의 경우에는 비밀번호를 부여하여 안전하게 관리하는 것이 좋다고 생각합니다. 다만, 모든 파일을 암호화하여 관리한다면 반대로 역효과가 발생될 수 있는 부분이 존재하기 때문에 암호화를 진행할 파일을 선별하는 것이 좋습니다. 예를 들어 개인정보가 들어가 있는 파일이거나, 개인적으로 관리해야 하는 장부 등의 파일을 암호화하여 관리하면, 외부에 유출되었을 경.. 회사 생존기/엑셀 VBA로 생존하기 2023. 7. 30.

엑셀만으로 업무자동화? R과 태블로 처럼 될까?

직장생활을 많이 해보신 분이시라면 본인의 업무의 절반이상이 루틴 한 업무에서 온다는 것을 느끼고 계실 것입니다. 매일 같은 시간에 같은 작업을 하게 되면 쉽게 지칠 수 있으며, 일에 대한 의미를 찾는데도 어려움을 겪을 수 있습니다. 이는 곧 무기력이 되어 돌아올 수 있으며, 나아가 번아웃으로 돌아올 경우도 있을 것입니다. 만약 아래 내용 중 나에게 해당하는 것이 하나라도 있다면, 업무자동화를 통해 나만의 시간을 만들 수 있습니다. ㆍ기획업무에 종사하면서 다양한 보고서를 작성하지만 ERP, POS 시스템을 이용하여 raw형태가 같은 경우 ㆍ웹을 통해 정보 수집, 자료 취합 등 매번 동일한 업무를 진행하는 경우 ㆍ대량의 데이터를 시스템이 아닌 엑셀을 이용하여 관리하는 경우 ㆍ일일보고와 같이 동일한 보고서 양.. 회사 생존기/엑셀 VBA로 생존하기 2023. 6. 28.

Like로 조건에 맞는 데이터 추출하기!

『 회사 실무자들이 업무를 처리하다 보면 상품 혹은 거래처 코드가 123-a-11aa와 같은 형태로 부여되고 있다는 것을 알 수 있습니다. 숫자와 영문, 특수문자가 혼합된 코드를 가지고 원하는 부분만 추출하기 위해 엑셀에서는 LIKE매서드를 지원하고 있습니다. 오늘은 VBA에 내장되어 있는 Like를 통해 특정조건에 맞는 데이터를 추출하는 방법에 대해 알아보도록 하겠습니다. 』 VBA의 LIKE문법에 대해 알아보기 VBA에서 Like의 사용문법은 다음과 같습니다. 형태는 같지만 패턴이 다르다는 것에 주의하여야 합니다. if 문자셀 Like 패턴 then if 문자셀 Like 패턴 then if 문자셀 Like [A-Z] then if 문자셀 Like [a-z] then if 문자셀 Like [가-힣] t.. 회사 생존기/엑셀 VBA로 생존하기 2023. 4. 11.

VBA로 엑셀 데이터 필터기능 적용하기!

『 수많은 raw데이터 중에서 내가 원하는 부분만 걸러서 보기 위해서 엑셀의 필터기능을 많이 사용하고 계십니다. 필터기능 역시 VBA를 통해 구현이 가능한데요. 원하는 기준으로 필터 적용 후 필터된 데이터를 복사하여 필요한 부분에 붙여 넣는 코드를 알아보도록 하겠습니다. 이를 통해 업무자동화에 한 발짝 더 다가갈 수 있으면 좋겠습니다. 』 VBA로 필터기능 사용하기 VBA 필터기능 사용하기의 기본문법은 다음과 같습니다. 정렬범위.AutoFilter 필터위치, 필터기준 기본문법을 살펴보면 정렬범위를 선택 후 필터기준을 통해 필터를 진행하게 됩니다. 기본적으로 VBA는 엑셀에서 일반적으로 사용되는 내용들을 똑같이 구현할 수 있기 때문에 쉽게 배울 수 있다는 장점이 있습니다. 그럼 VBA를 사용하여 필터를 진.. 회사 생존기/엑셀 VBA로 생존하기 2023. 3. 16.

VBA로 로우 데이터 정렬하기(1개의 기준으로 정렬, 2개이상의 기준으로 정렬)

『 엑셀작업을 할 때 가장 많이 시간이 소용되는 것은 데이터를 원하는 형태로 정리하는 것인데요. 주로 엑셀의 정렬기능을 이용하여 데이터를 가공하곤 합니다. 하지만 매번 바뀌는 로우데이터를 가지고 매번 정리해야 한다면 어떨까요? 똑같은 작업을 매번 똑같이 하는 것보다 자동화시킨다면 훨씬 더 일을 효율적으로 진행할 수 있겠죠. 오늘은 VBA를 통해 데이터를 정렬하는 방법에 대해 알아보도록 하겠습니다. 』 VBA로 로우 데이터 정렬하기 VBA 로우 데이터 정렬하기의 기본문법은 다음과 같습니다. 정렬범위.Sort 첫번째 정렬위치, xlDescending, 두번째 정렬위치, xlAscending, 정렬방향 기본문법을 살펴보면 첫 번째 정렬위치와 두 번째 정렬위치를 통해 여러개의 기준을 설정할 수 있습니다. 엑셀에.. 회사 생존기/엑셀 VBA로 생존하기 2023. 2. 28.

VBA 워크시트함수(Match, Min함수), Split함수 사용법 익히기

VBA에서도 엑셀에서 사용하던 함수를 사용할 수 있다는 것을 알고 계신가요? 엑셀의 기본함수를 VBA에서 사용이 가능하기 때문에 활용면에서 엄청난 시너지를 낼 수 있는데요. 빈번히 사용되는 워크시트함수를 가지고 실전연습해 보는 시간을 갖도록 하겠습니다. 워크시트 함수 사용하기 워크시트함수의 기본문법은 application.WorksheetFunction.함수명입니다. 앞선 포스팅에서도 워크시트함수를 사용했었는데요. worksheetFunction은 생략이 가능하다는 것을 다시 한번 알고 넘어가셔야 합니다. 이유는 application.WorksheetFunction을 사용했을 경우 오류가 발생하는 경우가 존재하기 때문입니다. 그럼 워크시트함수를 한번 사용해 볼까요? 다음 예시를 통해 Match함수와 Mi.. 회사 생존기/엑셀 VBA로 생존하기 2023. 2. 17.

VBA로 행ㆍ열 삽입, 삭제하기(entirerow, entirecolumn, resize활용)

데이터로우를 구축하거나, 가공할 때 행열을 삽입하거나 삭제하는 작업을 하게 됩니다. 또한 특정 조건에 맞는 행의 수를 삽입하거나 열의 수를 삭제함으로써 원하는 형태로 가공하는 작업을 진행하곤 하는데요. 오늘은 VBA를 통해 행과 열을 삽입하고 삭제하는 방법에 대해 알아보도록 하겠습니다. VBA로 행, 열 삽입하는 프로시저 만들기 특정위치의 행 혹은 열을 추가하는 프로시저를 알아보도록 하겠습니다. row(행) 혹은 column(열) 삽입의 기본문법은 다음과 같습니다. 행(row) 삽입 문법 셀 위치.entireRow.insert 열(column) 삽입 문법 셀 위치.entireculumn.insert 그럼 예시를 한번 살펴볼까요? A1셀부터 L21셀까지 데이터가 들어있다고 가정해 보시죠. 위에서 알아본 행.. 회사 생존기/엑셀 VBA로 생존하기 2023. 2. 8.

VBA로 셀병합 해제 후 빈셀 채우기(빈셀 채우기와 찰떡궁합!)

병합되어 있는 표는 피벗테이블을 사용할 때 오류 발생이 높은 형태로 알려져 있습니다. 오류를 최소화하기 위해서는 셀병합은 되도록이면 사용하지 않는 습관을 들이는 것이 가장 좋을 것입니다. 그럼에도 병합을 꼭 해야 하는 상황이 발생할 수도 있는데요. VBA를 통해 셀병합을 해제하고 빈셀을 채워 넣는 프로시저를 작성해 보도록 하겠습니다. VBA로 셀병합 해제 후 빈셀 채우기 엑셀 빈칸을 VBA로 채우는 방법에 대해 알아보았는데요. 만약 셀병합이 되어 있다면 기존 방법으로는 해결이 불가하게 될 거예요. 그럼 어떤 방법을 사용해야 할까요? 먼저 셀병합을 해제한 후 빈셀을 채우는 형태로 진행해야 할 텐데요. 예시를 한번 보시죠. 먼저 병합되어 있는 셀을 해제해야 할 텐데요. 간단하게 병합된 셀범위를 선택하신 후 .. 회사 생존기/엑셀 VBA로 생존하기 2023. 1. 17.

VBA 빈셀 채우기!(피벗테이블 오류 최소화 방법)

피벗테이블을 사용할 때 가장 주의하여야 할 점은 셀병합으로 인해 숫자가 누락되는 것입니다. 또한 합계가 되는 기준셀의 명칭이 없게 되면 우리가 원하는 값에 도달할 수 없다는 것이죠. 이러한 실수를 최소화하기 위해 빈셀의 값을 채우는 방법을 VBA로 짜보는 시간을 갖도록 하겠습니다. 엑셀의 빈칸을 VBA로 채워보기 오늘은 VBA로 빈셀을 채우는 방법에 대해 알아보는 시간을 갖도록 하겠습니다. 보통 아래와 같은 예시가 주어질 경우 공란을 그대로 두거나, "A열"의 학교명대로 "병합하고 가운데 맞춤"을 사용하는 경우가 많으실 텐데요. 그럴 경우 필연적으로 발생하는 문제가 있습니다. 바로 피벗테이블을 사용할 경우 학교명이 비어있거나, 병합이 되어 있으면 피벗에서 "비어있음"으로 표기가 되어 합계값이 달라지는 오.. 회사 생존기/엑셀 VBA로 생존하기 2023. 1. 16.

Do ~ Loop문(While, Until)

드디어 VBA반복문의 마지막 Do ~ Loop문에 도달하였습니다. 반복문의 사용방법과 효과는 다 비슷비슷합니다. 다만 상황에 따라 어떠한 반복문을 선택할지를 결정하면 되는 것이죠. 오늘은 Do ~ Loop를 사용해서 업무자동화를 위한 단계로 한 발짝 다가가 보도록 하겠습니다. Do ~ Loop문의 경우는 사실 실무에서 많이 사용되는 편은 아닙니다. 이유는 For문과 For Each문의 활용도가 탁월하기도 하며, Do ~ Loop를 사용시 무한대로 순환하는 단점이 존재하기 때문이죠. (물론 Exit Do를 사용하여 무한 순환을 강제로 종료시켜 줄수도 있습니다.) 그럼에도 반복문의 일환으로 알고넘어가면 VBA실력향상에 도움이 될 수 있기 때문에 짚고 넘어가도록 하겠습니다. DO ~ Loop문 (While, .. 회사 생존기/엑셀 VBA로 생존하기 2023. 1. 12.

VBA 반복문 2탄(For each ~ Next 사용하기)

For ~ next문과 For each ~ next문만 자유롭게 사용가능하다면 업무자동화에 한 발짝 더 다가섰다고 할 수 있습니다. 그만큼 사용빈도가 높고 중요한 내용이라고 할 수 있습니다. 업무자동화를 위해 조금만 더 힘을 내보시죠! For Each ~ Next문은 For ~ Next에 Each가 추가된 형태입니다. For ~ Next가 지정한 횟수만큼 반복하는 반복문이었다면, For Each ~ Next는 범위 내 개체 또는 배열 내의 요소를 하나씩 접근하여 명령을 실행하는 반복문입니다. 말로는 이해가 어려우니 문법과 예제를 통해 알아보도록 하겠습니다. ▼ 아직 For ~ Next가 익숙해지지 않았다면 먼저 숙지하고 오시는 것이 도움이 됩니다. VBA 반복문 1탄(for~next 사용하기) 『 오늘은.. 회사 생존기/엑셀 VBA로 생존하기 2023. 1. 9.

VBA 반복문 1탄(for~next 사용하기)

오늘은 VBA 반복문에 대해 알아보려고 하는데요. 반복문은 반복적인 작업을 대신해주는 만능키라고 할 수 있어요. 반복문은 지정한 횟수만큼, 혹은 무한으로 사용된 코드를 반복하게 만들어 주는 역할을 하는데요. 반복문을 사용하면 사람이 계산하기에 많은 시간이 소요되는 일도 빠르게 처리할 수 있다는 장점이 있으며, 반복작업에 따르는 실수를 예방할 수 있는 역할을 하기도 하죠. VBA에서도 반복문은 다양한 종류로 사용이 가능합니다. 오늘은 VBA반복문의 첫 시간으로 For ~ Next문을 사용한 반복문에 대해 알아보는 시간을 갖도록 해요. VBA반복문 2탄에서는 For each ~ Next문을 사용하여 반복문을 표현할 예정인데요. For ~ Next문과 For each ~ Next문의 사용방법의 차이를 생각하면.. 회사 생존기/엑셀 VBA로 생존하기 2023. 1. 3.

IF조건절의 4가지 형태(사용법) 알아보기

엑셀에서 IF는 특정 조건을 통해 원하는 데이터만을 추출하는 역할을 하죠. 마찬가지로 VBA의 IF도 조건을 걸래는 역할을 하는데요. VBA에서 사용되는 IF의 4가지 형태를 알아보고, 예시를 통해 확실한 나의 것으로 만들어 보세요. VBA 범위 선택하기를 총 6탄에 걸쳐서 알아보았는데요. 가장 기본이 되는 범위선택 방법에 대해 숙지하였기 때문에 지금부터는 실제 업무에 적용이 가능한 것들을 위주로 학습해 보려고 해요. 오늘은 VBA에서 IF가 어떻게 사용되는지를 4가지로 분류하여 알아보도록 할게요. IF조건절의 경우에는 엑셀에서 사용되는 IF함수와 동일한 로직으로 작동하기 때문에 쉽게 이해하실 수 있어요. 자 그럼 시작해 보시죠~! IF를 사용하여 조건에 맞는 데이터 입력하기 IF절은 크게 4가지로 분리.. 회사 생존기/엑셀 VBA로 생존하기 2022. 12. 23.

VBA 범위 선택하기 6탄! Areas를 사용한 범위 선택!!

UsedRange, CurrentRegion이 연속적인 범위를 설정하는 방법으로 주로 사용되었다면, Areas의 경우는 비연속적인 범위를 설정하는 방법으로 사용됩니다. VBA반복문과 궁합이 잘맞기 때문에 학습해 두시면 멋진 VBA코드를 작성하실 수 있는 기틀이 될거에요. 벌써 VBA범위 선택하기의 마지막 단계인데요. 범위설정에 대한 감을 좀 잡으셨는지 궁금하네요. 만약 아직 VBA에 익숙해지지 않으셨다면 과거 포스팅을 통해서 차근차근 따라오시는 걸 추천드립니다. 우리가 왜 VBA를 배우려고 결심했는지를 다시한번 생각해보면서 VBA 6탄인 areas 범위에 대해 학습해 보도록 할게요. 엑셀 VBA를 왜 배워야 할까? 업무 자동화 시작해 보세요! 안녕하세요. 택이형과 회사에서 생존하기 택이형입니다. 오늘은 .. 회사 생존기/엑셀 VBA로 생존하기 2022. 12. 20.

VBA 범위 선택하기 5탄 (UsedRange, CurrentRegion, entirerow)

UsedRange, CurrentRegion, entirerow는 연속된 범위를 설정하는 방법으로 유용하게 사용될 수 있어요. 다양한 예시를 통해 학습하시면 VBA실력이 한단계 업그레이드 될거에요. 오늘은 VBA 범위 선택하기 5탄 UsedRange, CurrentRegion, entirerow을 통한 범위 선택에 대해 알아보도록 할게요. 범위 선택의 방법은 매우 다양하므로 1~4탄을 숙지하고 오시면 큰 도움이 될 거예요. VBA 범위 선택하기 3탄 (Union, Intersect 사용법) 안녕하세요. 택이형과 회사에서 VBA로 생존하기 택이형입니다. 오늘을 VBA 범위 선택하기 3탄 Union, Intersect를 사용한 범위지정에 대해 알아보도록 하겠습니다. 1,2탄을 학습하지 않으셨다면 아래 lst.. 회사 생존기/엑셀 VBA로 생존하기 2022. 12. 18.

VBA 범위 선택하기 4탄 (Specialcells 사용법)

Specialcells는 엑셀 VBA에서 약방의 감초같은 역할을 하는데요. 다양한 옵션을 사용할 수 있기때문에 범위선택을 위한 유용한 역할을 하고 있어요. 빈셀이나 수식이 입력된 셀 등 특수한 상황에서의 범위를 선택할 수 있으니 꼭 숙지하시기 바래요.  오늘은 VBA 범위 선택하기 4탄 Specialcells를 사용한 범위지정에 대해 알아보도록 할게요. 범위 선택의 방법은 매우 다양하므로 1~3탄을 아직 숙지하지 못하셨다면 숙지 후 오시는 것을 추천드립니다.  VBA 범위 선택하기 1탄 (Range)안녕하세요. 택이형과 회사에서 VBA로 생존하기 택이형입니다. 앞서 VBA를 사용하기 위한 기본적으로 적용하여야 하는 것들과 기초용어에 대해 알아보았는데요. 기초용어를 숙지하신 후 따라오lst914.tisto.. 회사 생존기/엑셀 VBA로 생존하기 2022. 12. 18.

VBA 범위 선택하기 3탄 (Union, Intersect 사용법)

Union, Intersect를 활용하면 교집합과 합집합의 범위를 한번에 설정할 수 있어요. 특히 Union의 경우는 앞으로 변수들을 합치는 방법으로도 사용될 예정이니 꼭 완벽숙지하시기 바래요! 오늘을 VBA 범위 선택하기 3탄 Union, Intersect를 사용한 범위지정에 대해 알아보도록 하겠습니다. 1,2탄을 학습하지 않으셨다면 아래 링크를 통해 학습하고 오시면 실력 향상에 도움이 될 것 같아요! VBA 범위 선택하기 1탄 (Range) 안녕하세요. 택이형과 회사에서 VBA로 생존하기 택이형입니다. 앞서 VBA를 사용하기 위한 기본적으로 적용하여야 하는 것들과 기초용어에 대해 알아보았는데요. 기초용어를 숙지하신 후 따라오 lst914.tistory.com VBA 범위 선택하기 2탄 (Cells, .. 회사 생존기/엑셀 VBA로 생존하기 2022. 12. 5.

VBA 범위 선택하기 2탄 (Cells, Offset, Resize 조합)

Cells, Offset, Resize를 활용하여 엑셀의 범위를 자유자재로 선택할 수 있어요. 각 속성이 가지는 특징과 예시를 통해 범위선택이 자연스럽게 익혀지도록 연습해 보세요. 오늘은 VBA 범위 선택하기 2탄 Cells, Offset, Resize속성을 가지고 범위를 지정해 보도록 할게요. 우선 Range로 범위 설정하기에 대한 학습이 부족하시다면 아래 링크를 방문하셔서 먼저 학습하시면 도움이 될 거예요~! VBA 범위 선택하기 1탄 (Range) 안녕하세요. 택이형과 회사에서 VBA로 생존하기 택이형입니다. 앞서 VBA를 사용하기 위한 기본적으로 적용하여야 하는 것들과 기초용어에 대해 알아보았는데요. 기초용어를 숙지하신 후 따라오 lst914.tistory.com VBA 범위 선택 목차 1. VB.. 회사 생존기/엑셀 VBA로 생존하기 2022. 11. 30.

VBA 범위 선택하기 1탄 (Range)

VBA를 본격적으로 활용하기 위해서는 적용하고자하는 범위를 선택하는 방법을 알아야 하는데요. VBA에서 자주 사용되는 6가지의 범위선택법을 학습하여 VBA의 기초를 다져볼게요! 앞서 VBA를 사용하기 위한 기본적으로 적용하여야 하는 것들과 기초용어에 대해 알아보았는데요. 기초용어를 숙지하신 후 따라오시면 조금 더 VBA 프로세스를 이해하시는데 도움이 될 거 같아요~! 기억이 안 나신다면 아래 링크 남겨 놓을 테니 다시 한번 읽어 보세요.^^ VBA 편집창과 개체, 속성, 매서드가 무엇인가요?? 안녕하세요. 택이형과 회사에서 생존하기 택이형입니다. 회사에서 칼퇴를 보장하고 정확성을 높여주기 위해 가장 기본이 되는 프로그램이 VBA라고 설명드렸는데요! 오늘은 VBA 편집 창의 구성과 lst914.tistor.. 회사 생존기/엑셀 VBA로 생존하기 2022. 11. 26.

VBA 변수? 변수의 의미와 자료형, 변수에 데이터 넣는 방법은!?!?

데이터를 담는 그릇! 변수에 대한 기본적인 개념을 이해하면 vba코드를 쉽고 빠르게 정리할 수 있어요! "변수란 무엇인지?", "변수의 자료형은 어떠한 것들이 있는지?", "변수는 어떻게 사용하는지?"에 대해 알아보아요! 변수가 무엇인가요? 변수는 VBA뿐만 아니라 각종 프로그래밍 언어에서 사용되는 코딩의 기초 단위입니다. 변수는 사용자의 편의를 위해 특정 데이터를 사전에 담아두는 그릇이라고 생각하면 좋을 듯해요. 그럼 변수가 어떤 역할을 하는지 방정식의 원리를 통해 알아볼게요. 변수 : (1,2,3) 방정식 : y = x + 1 결과 : (2,3,4) 어떠신가요? 감이 조금 오시나요? 바로 변수로 가지고 있던 1,2,3의 숫자가 방정식 x에 들어간 결과로 2,3,4가 출력되는 것을 볼 수 있어요. 그렇.. 회사 생존기/엑셀 VBA로 생존하기 2022. 11. 21.