본문 바로가기

vba89

[Tip] VBA 조건부 서식에 대한 고찰 엑셀에서 조건부 서식을 통해서 코드를 관리하면 너무나 편하고 관리하는 측면에서도 좋지만, 코드가 추가로 들어오거나 변동이 되었을 때 조건부 서식이 처음에 세팅한것처럼이 아닌 이상하게 변동이 되는 것을 경험하였을 것이다. 오늘은 이 조건부 서식또한 VBA에 관리 할 수 있는 코드들을 정리해 보려고 한다. 1. 값이 0 이상인 셀에 초록색 배경색 적용하기 Range("A1:A10").FormatConditions.Add Type:=xlExpression, Formula1:="=$A1>=0" Range("A1:A10").FormatConditions(1).Interior.Color = RGB(0, 255, 0) 2. 값이 0 이하인 셀에 빨간색 배경색 적용하기 Range("A1:A10").FormatCondi.. 2023. 2. 23.
[기초방] VBA 100제 #30 [ 폰트처리하기_2 ] 이번 문제는 이렇다. [ 고래밥 ]단어가 들어가 있는 셀은 고래밥만 빨강색으로 칠하고 Bold 처리를 하고 [ 깡 ] 이 포함된 과자는 중간에 영문자 이후부터 과자의 풀네임에 파란색 폰트 컬러로 변경하고 Bold 처리하는 구문이다. 고래밥을 찾는 구문은 전 시간에 Instr + Characters 구문을 사용한적 있기 때문에 큰 어려움이 없으리라 본다. If InStr(rngA, Str) Then Pos = InStr(rngA, Str) With rngA.Characters(Pos, Len(rngA)) .Font.Color = vbRed .Font.Bold = True End With End If [ 깡 ] 이 들어있는 과자이름은 과자 이름을 전부다 색상변경을 해야하기 때문에 기초방이라는것을 감안하여 정.. 2023. 2. 7.
[기초방] 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제 #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.