VBA280 [VBA] 사용자 지정 정렬을 해보자 출근일이 통합된 출근부에서 개별적으로 출근일을 분리하는 문제이다. 그룹정렬을 해서 풀어도 되고, 출력한 후 본인처럼 사용자 지정 정렬도 풀어도 된다. 그룹으로 정렬하는것은 방법자체에서 많이들 하는 방법이기에 사용자 지정정렬로 풀어보려한다. 혹여나 사용자 지정 정렬이 모르는 분들이 계실것 같아 엑셀 화면을 캡쳐해보았다. 이런식으로 올림차순 / 내림차순을 넘어 내가 원하는 목록으로 정렬하고자 할때 사용된다. 더보기 Option Explicit Sub 출근부정렬() Dim rngAll As Range: Set rngAll = [a4:b13] Dim rngA As Range Dim Vtemp Dim rngX As Range: Set rngX = [d4] rngX.CurrentRegion.Offset(1).Cle.. 2022. 12. 22. [VBA] 다중 Collection으로 단어조합하기 어떻게 보면 로또번호 조합같은 문제이다. 나열된 단어속에서 일정 숫자까지만 추출해서 특정 단어를 조합하여 새로운 문구를 만드는 문제이다. 여기에 사용한 구문은 다중 컬렉션을 통해 순차적으로 조합을 만들어가면서 최종적으로 중복없는 8개의 단어조합을 만드면 되겠다. 코드 진행은 이렇다. 1. 단어들을 순환하면서 Acol 컬렉션에 담는다. 2. Acol 컬렉션에서 6개만 무작위로 뽑아서 Bcol에 추가한다. 3. Acol 에서 뽑은 6개의 단어에 [숙, 제]를 Bcol에 추가한다. 4. Bcol을 순환하며 랜덤으로 조합하여 Ccol에 추가해라 5. Ccol에 추가된 문구를 Vtemp 임시배열에 담은 후 6. Join 함수로 결합한다. 7. 결합해서 똑같이 Dcol에 추가해보면 중복이면 Dcol에 추가가 되지 .. 2022. 12. 21. [VBA] Find + Intersect를 통해서 원하는값만 출력하기 원하는 값을 포함하는 영역만 따로 출력하는 문제이다. 여기서 핵심은 Intersect를 통해서 교집합 영역을 추출하는것이다. 이것만 이해하면 본인의 코드를 충분히 이해할 수 있을 것이다. 포기하지 않은 자들이여...신의 가호가... 더보기 Option Explicit Sub Find_Num() Dim rngAll As Range: Set rngAll = [b5:g18] '= 전체영역 Dim rngF As Range '= Find 셀을 담을 영역 Dim rngAdrss$, n&, i& Dim Vall(1 To 100) '= 임의의 크기의 배열을 설정 Dim rngX As Range: Set rngX = [i5] With rngAll Set rngF = .Find(What:=7, Lookat:=xlWhole.. 2022. 12. 15. [VBA] 정규식으로 유일값 찾아내기 이문제는 정규식 패턴을 입맛대로 변경하면서 패턴과 불일치한 유일값을 찾아내는 코드이다. 이문제를 풀기 위해서는 크게 두가지로 상황을 생각할 수 있다. 1. 패턴이 하나만 일치할때 2. 패턴이 두개 일치할 때 어느 하나로 문제를 풀려고 하면 의도한 대로가 아닌 반드시 에러가 생길것이다. 본인은 이 예외 상황을 풀기 위해 사용자함수를 사용하여 예외처리 하였다. 퍼포먼스는 맘에 드는데 코드 길이가 영 맘에 안든다..ㅜ.,ㅡ 더보기 Option Explicit Sub 특이점_찾아내기() Dim Reg As Object: Set Reg = CreateObject("Vbscript.regexp") '= 정규식 선언 Dim rngAll As Range: Set rngAll = [b3:j6] '= 해당영역 설정 Dim.. 2022. 12. 15. 이전 1 ··· 37 38 39 40 41 42 43 ··· 70 다음