본문 바로가기
  • Welcome!
VBA Code

FOR NETX 문 응용

by ToolBOX01 2022. 9. 16.
반응형

변수를 "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

 

'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