연속된 숫자 개수 구하기
네이버 지식인에 올라온 자료를 정리해 본 것입니다.
연속된 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