본문 바로가기

VBA/엑사남_기초방86

[기초방] VBA 100제 #31 [ 소계구하기 ] 소계를 구하는 문제이다 보통이면 부분합을 통해서 구하는 것이 정석이리라 본다. 부분합도 사용하지 않고 배열도 사용하지 않아서 코드가 약간 길어진 거 같다.. 핵심구문은 소계를 입력한후 소계 이전셀까지의 그룹별 합계를 구하는 구문이다. Sub Haja_Cut(rngX As Range, cnt&) Dim i& rngX(1, 1) = "소계" For i = 2 To 5 rngX(1, i) = Application.Sum(rngX(-cnt + 2, i).Resize(cnt - 1, 1)) Next i rngX(1, 1).Resize(1, 5).Interior.ColorIndex = 6 rngX(1, 1).Resize(1, 5).Font.Bold = True cnt = 0 End Sub 각 그룹의 갯수를 Cnt변.. 2023. 2. 15.
[기초방] VBA 100제 #30_1 [ 폰트처리하기_2(정규식) ] VBA 100제 #30번의 A/s 문제이다. 30번 문제를 Like 함수가 아닌 정규식으로 푼 구문이다. 본인은 처음부터 정규식을 Submatches 통해 문제를 풀어나가려고 했지만, 같은방 크루인 딱총님이 정규식 패턴 풀이와 정규식의 여러 다른 속성을 통한 풀이를 공개하여 함께 소개 하려고 한다. FirstIndex는 패턴과 일치되는 단어가 시작되는 바로 앞까지를 나타내며, Length는 패턴과 일치한 단어의 길이를 뜻한다. 정말 군더더기 없는 깔금한 코드이다. 이 코드는 음... 못이겨~~~ You win 2023. 2. 8.
[기초방] 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제 #29 [ 폰트처리하기 ] 이번 문제는 각각의 셀안에 모든값이 Bold 처리 되었거나, 일부만 Bold 처리 되었을 때, 이를 모두 Bold처리하고 노란색 음영을 주는 29번 문제와 영역의 모든 값을 병합한 후 29에서 처리한 Bold 영역에 빨간색과 Bold 처리하는 문제이다. 셀의 폰트 컬러가 아닌 셀안에 특정 단어의 컬러에 변화를 주려면 Characters구문을 알아야 한다. 전에 비슷한 문제를 낸 적이 있다. https://1stminokingdom.tistory.com/56 [VBA] 글자색 바꾸기(feat. Instr/Characters) 오늘 해볼건 이런것이다. 색상 을 변경할 단어를 Inputbox로 입력받은 후 입력받은 단어를 색상은 빨강색 / Bold는 True하는 작업이다. 이 역시 막상 해보려면 좀 난감하기에.. 2023. 2. 7.