네이버 지식인에 올라온 자료를 정리해 본 것입니다.
연속된 15의 개수, 5의 개수, 0의 개수, 10의 개수가 반복횟수 기준으로 얼마나 되는지 구하는 경우입니다.
Sub 연속숫자개수구하기()
Dim rngC, rngT As Range
Dim rngAll As Range
Dim rngVariable As Range '// 변하는 영역변수
Dim i As Double
For Each rngC In Range([B2], Cells(Rows.Count, "B").End(3))
If rngC <> rngC.Offset(1) Then
i = 0
rngC.Offset(, 1) = rngC.Offset(-1, 1) + 1
rngC.Offset(, 2) = rngC
Else
i = i + 1
rngC.Offset(, 1) = i
End If
Next rngC
Set rngT = [D2].End(4) '// D2 셀로부터 아래로 내려오면서 처음 값이 있는 셀
For Each rngC In Range([D2], Cells(Rows.Count, "D").End(3))
Set rngVariable = Range(rngT, rngC)
If Not IsEmpty(rngC) Then
rngC.Offset(0, 1) = Application.CountIf(rngVariable, rngC)
End If
Next rngC
MsgBox "완료"
End Sub
Sub 값채우기()
Dim rngC As Range
Dim i, n, lastCell As Double
lastCell = Cells(Rows.Count, "J").End(3).Row
For i = 1 To lastCell
For n = 1 To 4
For Each rngC In Range([E2], Cells(Rows.Count, "E").End(3))
If Not IsEmpty(rngC) Then
If rngC = Cells(i + 3, "J") Then
If rngC.Offset(, -1) = Cells(3, n + 10) Then
Cells(i + 3, n + 10) = rngC.Offset(, -2)
End If
End If
End If
Next rngC
Next n
Next i
MsgBox "완료"
End Sub
'업무 능력 향상 > 엑셀 VBA 활용' 카테고리의 다른 글
엑셀 각 시트를 각각의 파일로 저장 (0) | 2015.04.25 |
---|---|
[VBA] 다른 시트에 일치하는 내용이 있는지 검사하여 포함되어 있는 행 출력 (0) | 2015.04.23 |
한문과 발음기호 분리하는 방법 (0) | 2015.04.07 |
파일의 유효기간 설정하여 날짜 지나면 자동 삭제 (0) | 2015.03.30 |
[VBA] 중복데이터 색깔표시, 중복제거, 정렬 (2) | 2015.03.08 |