본문 바로가기

기초방11

[기초방] VBA 100제 #34 [ 상위5그룹 합계 ] 더보기 Sub 기초방34() Dim rngall As Range: Set rngall = [c4].CurrentRegion Dim rngX As Range Dim i&, j&, hSum&, Cnt&: Cnt = rngall.Cells.Count Dim vtemp Sheets("문제").[c4].CurrentRegion.Copy [c4] '= 문제복사 For i = 1 To Cnt - 1 '= 버블정렬 / 기초방 34-1 문제 해법 For j = i To Cnt If rngall(i) > rngall(j) Then vtemp = rngall(i) rngall(i) = rngall(j) rngall(j) = vtemp End If Next j Next i For i = 4 To 0 Step -1 '= 상위 .. 2023. 3. 5.
[기초방] VBA 100제 #33 [ 칸트 차트만들기 ] 더보기 Sub 기초방33() Dim rngAll As Range: Set rngAll = Sheets("근무일정").[b3:b10] Dim rngA As Range Dim rngX As Range: Set rngX = Sheets(2).[a3] Dim rngCol As Range Dim Vtemp Dim start&, bln As Boolean Haja_Format bln '= 초기화 Sheets("근무자추출").Activate '= 근무자 추출시트 활성화 Application.Wait Now + TimeSerial(0, 0, 1) '= 1초 지연 For Each rngA In rngAll Vtemp = Split(rngA, " - ") rngX(1, 1) = rngA(1, 0) '= 고객명 rngX(1.. 2023. 3. 5.
[기초방] VBA 100제 #20 [ 패턴별 색상칠하기 ] 1번부터 1000 * 20 번까지 3,6,9 가 들어간 숫자를 찾고 그숫자의 갯수가 짝수번이면 컬러인텍스를 8 / 그렇지 않으면 컬러인덱스를 6으로 하는 구문이다. 아래는 같은 크루인 딱총님이 작성한 코드인데 정규식을 모르는 상태에서 몇일만에 놀랍도록 빅스텝 성장을 보여주었다. 딱총님의 내일을 응원한다...물론 우리 무지님과 시훈아빠 그리고 닥터 브레드님도 항상 본인의 문제에 관심을 가져주셔서 감사드린다. 정규식을 안쓰면 숫자들을 순환하며 Mid로 하나씩 걸러서 하나씩 비교해나가야 하지만 정규식을 사용하면 정규식의 Test와 Execute로 간단하게 풀 수 있는 문제이다. 더보기 Option Explicit Sub 기초방20() Dim rngall As Range: Set rngall = [d6].Res.. 2023. 1. 26.
[기초방] VBA 100제 #18 [ 이름별 카테고리 나열하기 ] 왼쪽에 있는 표를 이름별로 나열하는 구문이다. 이문제는 이름과 이름과 하위분류로 이루어져있다. 이름이 나오면 한행을 이동후 E열에 이름부터 다시 출력을 하여야 한다. If InStr(rngA, " ") = 0 Then Set rngX = Cells(rngX.Row + 1, "e") rngX = Split(rngA, " ")(0) 문자 조합이 이름은 이름만 있고 이름과 하위분류로 구성된것은 이름 + [공백 ] + 하위분류로 되어 있기 때문에 Instr로 공백 유무를 따지면 이게 이름으로 구성되어 있는지 이름과 하위분류의 조합인지를 알 수 있다. 따라서 위의 구문은 이름으로만 구성이 되었다면 한행을 내려와서 E열에 이름을 출력하라는 구문임을 알 수 있다. 내말 몬말인지 알지?? 출력은 [e5] 부터 출력인데.. 2023. 1. 17.