빈셀의 크기는 유지한채 내용 있는 셀들만 합계를 구하는 구문이다. 이 문제는 Areas 를 알고 있는것과 그렇지 않은 것 사이의 차이가 많이 난다.
더보기
Option Explicit
Sub 기초방57()
Dim rngAll As Range: Set rngAll = Range("d5:d" & Cells(Rows.Count, "d").End(3).Row)
Dim rngA As Range, rngX As Range, rngF As Range
Dim i, j, Vtemp()
ReDim Vtemp(rngAll.Cells.Count - 1) '= 임시배열 크기는 전체영역 크기로 잡음
For Each rngX In rngAll.SpecialCells(4).Areas '= 빈영역을 임시 배열에 담아라
Vtemp(i) = rngX.Cells.Count
i = i + 1
Next rngX
Set rngF = [f5] '= 출력영역
For Each rngA In rngAll.SpecialCells(2).Areas '= 값들이 있는 영역을 순환해서
rngF = WorksheetFunction.sum(rngA) '= 해당 영역들의 합계를 구해라
Set rngF = rngF.Offset(Vtemp(j) + 1) '= 다음 출력위치는 임시배열에 넣은 값 다음으로 설정
j = j + 1
Next rngA
End Sub
코드 진행은 빈셀의 크기를 임시배열에 담은 후
값이 있는 셀의 영역을 합계를 낸 후 임시배열에 넣은 빈셀의 크기대로 Offset을 하면서 코드를 진행하는 것이다.
그냥 간만에 소프트한 문제를 내 보았다...주말 잘보내길..
'VBA > 엑사남_기초방' 카테고리의 다른 글
[기초방] VBA 100제 #59 [ 불일치 영역 색칠하기 ] (0) | 2023.08.01 |
---|---|
[기초방] VBA 100제 #58 [ 불일치 영역 색칠하기 ] (0) | 2023.07.11 |
[기초방] VBA 100제 #56 [ 문자열 조합 + 정렬하기 ] (0) | 2023.07.07 |
[기초방] VBA 100제 #55 [ 색상그룹평균 ] (0) | 2023.07.05 |
[기초방] VBA 100제 #54 [ 색상그룹정렬 ] (0) | 2023.07.04 |
댓글