본문 바로가기

36

[VBA_find] 출근부 작성하기 출근부 작성하는 것을 엑셀로 물어보신 분이 계셔서 예전에 한번 엑셀 수식으로만 만들어 드린적이 있는데 이걸 매크로로 만들어 보도록 하겠다. 메인으로 사용된 것은 Find이다. Find는 셀 기반으로 작업을 할 경우 모르면 FOR문 몇개를 반복하며 작업을 해야 한다. FIND를 사용할 때 크게 3개로 나눈다. 1. DO LOOP / FOR문으로 감싸서 하고자 하는 작업을 반복한다 2. FIND조건에 맞는 값을 찾고 그 첫 값을 문자형 변수에 담는다. 3. DO LOOP를 한번더 감싸서 FINDNEXT로 FIND작업을 더이상 찾을 값이 없거나 첫주소까지 이를때까지 계속 반복한다. FIND는 이 구문만 기억하면 본인들이 하고 싶은 퍼포먼스를 충분히 만들수 있다. FOR문과 FIND의 차이는 FOR문은 끝까지 .. 2021. 8. 28.
[VBA_파일통합] 폴더내 파일 통합하기(완초님 질문) 엑사남 오픈방 멤버중 한분인 완초님의 질문을 좀 변형해 보았다. 각 파일에 세로로 입력된 데이터를 다른 파일에 복사를 하는데 한 열씩 띄워가며 복사하는 내용이다. 각 파일의 데이터가 A열에만 입력되어 있다는 가정하에 파일이 들어있는 폴더를 선택한 후 각 엑셀 파일을 순환하면서 거기서 받은 데이터들을 가공하여 실제 통합 파일에 뿌려주는 작업이다. FileDialog는 msoFileDialogFilePicker . 사용자가 파일을 선택할 수 있습니다. msoFileDialogFolder 선택기 . 사용자가 폴더를 선택할 수 있습니다. msoFileDialogOpen . 사용자가 파일을 열 수 있습니다. msoFileDialogSaveAs . 사용자가 파일을 저장할 수 있습니다. 세부항목을 선택하여 구문에 적.. 2021. 8. 28.
[VBA_매출순위] Consolidate .vs. ADO를 통한 매출순위 구하기 순위를 구할때는 통상 rank 함수나 rank.EQ 함수를 통해서 구하곤 한다. 이번 문제는 2021년 8월 동안의 매출을 팀명으로 통합하여 상위 3개 팀의 이름과 매출을 출력하는 것이다. Consolidate 사용에 대한 것은 이전 글을 참조하길 바란다. https://1stminokingdom.tistory.com/8 [VBA_Consolidate] 부분합 구하기 몇일전에 같은 연번내에서 부분합 구하기를 한 적이 있다. 하면서도 문제에 비해서 너무 요란하게 코드를 작성하는게 아닌가 싶어서 구글링을 했더니 그 긴 코드가 한줄로 가능한것을 보고 역 1stminokingdom.tistory.com 이번 구문에서 조심해야 할것은 시트를 넘나들어야 하기 때문에 영향을 받을 시트의 시트명을 반드시 기재를 하면서.. 2021. 8. 27.
[VBA_Dictionary] dictionary + dictionary(feat. nick : 다잡IT) 이번 코드는 딕셔너리를 이중으로 사용하여 결과값을 가져오는 구문을 작성하도록 하겠다. 이 코드는 엑사남 오픈방에 있는 다잡님의 코드를 기반으로 만들었다. 구문의 내용은 이렇다. 품번 사이즈 수량으로 이뤄진 데이터에서 품번이 같은 사이즈를 나열하고 또한 사이즈의 수량을 각각 나열하여야 한다. 육안으로 봤을때는 품번과 사이즈로 이뤄진 딕셔너리 구문에서는 키값이 품번 사이즈가 아이템값이 될것이다. 또한 사이즈 수량으로 이뤄진 구문에서는 키값이 사이즈 수량이 아이템값이 될것이다. 이 구문의 핵심은 딕셔너리는 입력된 순서 그대로 입력된다는 것이다. 좀 더 쉽게 설명하면 품번 키값하나로 사이즈와 수량이 각각 가져온다는 것이다. 품번 사이즈 수량 AM424BGM 250 1 AM424BGM 260 1 AM424BGM .. 2021. 8. 27.