본문 바로가기

VBA/엑사남_기초방93

[기초방] VBA 100제 #27 [ 미납자 확인 ] 표에서 X로 표시된 곳은 각각의 사람들이 해당월에 미납금액이 있음을 뜻한다. 미납된 날을 조합하고 그 미납된 금액을 표기하는데 3만원 이상은 노란색 음영까지 표시 하는 구문이다. 최근에는 초기 서식을 입히거나 후기 서식을 입히기 위해서 사용하였던 사용자 함수를 미납금액이 있을 때만 호출하여 이슈를 처리하여 보았다. For Each rngA In rngAll.Rows M = Application.CountIf(rngA, "X") If M > 0 Then Cells(rngA.Row, "g") = haja_month(rngA) Cells(rngA.Row, "h") = M & "만원 미납" If M >= 3 Then Cells(rngA.Row, 1).Resize(1, 8).Interior.ColorIndex =.. 2023. 2. 5.
[기초방] VBA 100제 #26_1 [ 그룹별 목차 만들기 ] 26번 문제에서 생성한 각 그룹에 하이퍼링크를 이용한 목차 만들기 26번 문제에 아래와 같이 코드가 추가되었다. Function haja_Hyperlinks() Dim rngAll As Range: Set rngAll = Range([f6], [f6].End(4)) Dim rngA As Range For Each rngA In rngAll ActiveSheet.Hyperlinks.Add anchor:=rngA, Address:="", SubAddress:=rngA.Value & "!A1", ScreenTip:="[해당 시트로 이동]" rngA.Font.Underline = xlUnderlineStyleNone rngA.Font.Color = rgbDarkBlue rngA.Font.Bold = True r.. 2023. 2. 5.
[기초방] VBA 100제 #26 [ 그룹별 시트 만들기 ] 정렬되지 않은 이름들을 순환하면서 각 그룹을 만드는 구문이다. 하나의 시트로만 작업을 해왔던 분들이면 다중 시트를 생성하면서 작업하는 것이 낯설 수도 있다. 실무에서도 많이 사용되는 구문이기에 하나씩 잘 정리하길 바란다. Sheets.Add after:=Sheets(Sheets.Count) ActiveSheet.Name = rngX 참 고급스킬이다. 시트를 추가하는 데 그 위치는 현재 생성된 시트들의 맨 뒤에 시트를 추가하고, 그 이름을 특정 변수 값으로 하는 내용이다. 반드시 숙지하길 바란다. Cells(Rows.Count, "b").End(3)(2).Resize(1, 2) = Array(rngA, rngA.Next) 여기서 Array를 주목해보자. Array 안 썼다면 아래와 같이 각각을 분리하여 작.. 2023. 2. 3.
[기초방] VBA 100제 #25 [ 병합셀 다루기 ] 병합셀을 다루는 구문이다. 병합셀은 딱 두 개만 알아두면 된다. If rngX.MergeCells Then rngX.Next.Resize(rngX.MergeArea.Count, 1) = rngX if rngX.MergeCells : 병합된 셀이니 병합이면 이렇게 병합이 아니라면 이렇게.... MergeArea.Count : 병합된 영역의 크기 이 두개를 모르면 맨땅에 헤딩각!!! 더보기 Option Explicit Sub 기초방25() Dim rngX As Range: Set rngX = [c7] Dim rngM As Range Dim R& Dim cnt&: cnt = 1 Do Until IsEmpty(rngX) '= 병합된 셀들을 순환 If rngX.MergeCells Then rngX.Next.Res.. 2023. 2. 2.