옆에 기준 내용이 있다.
0 이 있는 곳은 0을 그대로 가져오고
나머지는 합계가 될 때까지 랜덤하게 값을 뿌려주는 매크로
Option Explicit Sub NumGenerate() Dim rng As Range Dim valR(1 To 7) As Integer Dim varA As Variant Dim i As Integer With Application .ScreenUpdating = False .EnableEvents = False .Calculation = xlCalculationManual End With Set rng = Range("D14") varA = Application.Transpose(Range("B6:B12")) Randomize Do For i = 1 To 7 If varA(i) = 0 Then i = i + 1 valR(i) = Int(Rnd * 30 + 1) Next i Loop Until Application.Sum(valR) = rng rng.Offset(-8).Resize(7) = Application.Transpose(valR) With Application .ScreenUpdating = True .EnableEvents = True .Calculation = xlCalculationAutomatic End With End Sub | cs |
'VB(A)' 카테고리의 다른 글
대량의 데이터 변환 (0) | 2015.07.27 |
---|---|
대괄호 이동 (0) | 2015.07.27 |
동일한 양식의 여러 엑셀파일 취합 (0) | 2015.07.27 |
중복된 것은 표시해주면서 하나만 뿌림 (0) | 2015.07.27 |
그룹별 오름차순 정렬 v2 (0) | 2015.07.27 |