FOR NETX 문 응용
변수를 "3"개 만듭니다. 변수들의 값들은 일정한 범위 안에서 변경을 합니다 FOR ~NEXT문을 사용 하여 변경 합니다.
아래 그림과 같이 DIM01의 값이 1,2,3을 가지고, DIM02의 값이 1,2,3을 가지고, DIM03의 값이 1,2,3을 가진다면, 변수들을 조합하여 나올수 있는 경우의 수는 모두 27개 입니다. 1,1,1 / 1,1,2 / . . . . . .
■ 소스 코드
증가 값을 "1"로 하였을 경우만 적용 가능 합니다. 만일 증가 값이 다르면 프로그램을 수정 해야 합니다.
Sub 넘버링()
Dim i As Long, j As Long, k As Long, count As Long
Dim dim01count As Long, dim02count As Long, dim03count As Long
' 변경 할수 있는 변수의 개수 입니다. 사용자가 값을 변경 할수 있습니다
' 조합 가능한 경우의 수는 dim01count * dim02count * dim03 count = 380 가지
dim01count = 19
dim02count = 2
dim03count = 10
Range(Cells(2, "A"), Cells(Rows.count, "A")).EntireRow.Delete
' i는 Dim01 항목의 값 입니다. 값은 1 ~ 18 까지 표시 됩니다
For i = 0 To dim01count - 1 Step 1
Cells (dim03count * dim02count * i + 2, "C") = i + 1
For j = 0 To dim02count - 1 Step 1
Cells (dim03count * j + 2 + dim02count * dim03count * i, "D") = j + 1
For k = 0 To dim03count - 1 Step 1
Cells(dim03count * j + k + 2 + dim02count * dim03count * i, "E") = k + 1
count = count + 1
Cells(count + 1, "B") = count
Next k
Next j
Next i
End Sub
■ 소스 코드
증가 값을 변수로 정의 하였습니다. 변수 이름은 "dim01step", "dim02step", "dim03step"으로 정의 하였습니다.
Sub 넘버링II()
Dim i As Long, j As Long, k As Long, count As Long
Dim dim01count As Long, dim02count As Long, dim03count As Long
dim01count = 12
dim02count = 12
dim03count = 13
Dim dim01step As Long, dim02step As Long, dim03step As Long
dim01step = 3
dim02step = 3
dim03step = 3
Range(Cells(2, "A"), Cells(Rows.count, "A")).EntireRow.Delete
For i = 0 To dim01count - 1 Step dim01step
Cells(dim03count / dim03step * dim02count / dim02step * i + 2, "C") = i + 1
For j = 0 To dim02count - 1 Step dim02step
Cells(dim03count * j / dim03step + 2 + dim02count / dim02step * dim03count * i / dim03step, "D") = j + 1
For k = 0 To dim03count - 1 Step dim03step
Cells(dim03count / dim03step * j + k + 2 + dim02count / dim02step * dim03count / dim03step * i, "E") = k + 1
count = count + 1
Cells(dim03count / dim03step * j + k + 2 + dim02count / dim02step * dim03count / dim03step * i, "B") = count
Next k
Next j
Next i
End Sub
(101) "", Empty, Nothing, Null, vbNullChar, vbNullString, Missing 차이점 (엑셀 VBA 매크로)
"", Empty, Nothing, Null, vbNullChar, vbNullString 등의 차이점이 궁금하여 구글로 찾아보다가 ...
blog.naver.com