변수를 "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
'VBA Code' 카테고리의 다른 글
하위폴더 내의 모든 파일 정보 가져오기 -재귀 함수 (0) | 2022.10.05 |
---|---|
VBA 차트 만들기 (0) | 2022.10.03 |
사용자 정의 Sub 프로시저 (0) | 2022.09.15 |
재귀 함수 (0) | 2022.09.15 |
배열(array) #2 (0) | 2022.09.14 |