2016-06-22 3 views
1

"Testfall-Input-Vorschlag"라는 입력 시트가 있는데, 여기에서 7 번째 (J) 열의 첫 번째 행의 셀에서 드롭 다운에서 값을 선택해야하며 값 예를 들어 "ARB13"이 선택됩니다. 선택한 열을 채 웁니다. 열의 채우기는 임의의 값으로 이루어집니다. A : ZZ의 열 셀에 값이 저장된 "Admin"시트가 있습니다. 이제 "Testfall-Input-Vorschlag"시트에서 열의 셀을 순차적으로 채우고 싶습니다. 예를 들어 cell (11,7)의 경우 "Admin"의 A 열에서 무작위 값을 생성하고 싶습니다. 셀 (12,7)의 값은 셀 (13,7)의 경우 "Admin"의 B 열에서 값을 가져야하며 "Admin"의 경우 C 열에서 값을 가져야합니다. 그래서 내가 노력하고 내가 모든 난에 대한 COL 값을 업데이트 할 수있는 방법이 코드열 값을 셀 값으로 업데이트하십시오.

Sub ARB13() 


Dim col As Integer 


For i = 11 To 382 


For j = 7 To 1000 


If Sheets("Testfall-Input_Vorschlag").Cells(1, j) = "ARB13" Then 
col = 0 
col = col + 1 
LB = 2 
    UB = Sheets("Admin").Range("col" & Rows.Count).End(xlUp).Row 
    Cells(i, j).Select 
    ActiveCell.FormulaR1C1 = Sheets("Admin").Range("Y" & Int((UB - LB + 1) *  Rnd + LB)) 


End If 
Next j 
Next i 
End Sub 

을 마련했습니다. 어느 것이 든 나는 모든 것을 의미합니다. 칼 값이 1 씩 증가해야합니다. 내가 잘못 가고있는 곳은 어디입니까?

+1

한 항목 '범위 ("COL"& Rows.Count하는)'세포() 대신'세포 (Rows.Count, COL)' –

답변

0

첫 번째 루프를 시작하기 전에 col을 정의하고 을 For j = 7 to 1000 루프에 넣지 마십시오. 그렇지 않으면 col은 모든 i 대신에 j마다 증가합니다. 이런 식으로 뭔가 :

Sub ARB13() 
    Dim col as Long 
    Dim i as Long 
    Dim j as Long 

    col = 0 

    For i = 11 To 382 
     For j = 7 to 1000 
      LB = 2 
      UB = Sheets("Admin").Cells(Rows.count, col).End(xlUp).row 
      Cells(i, j).Select 
      ActiveCell.FormulaR1C1 = Sheets("Admin").Range("Y" & Int((UB - LB + 1) * Rnd + LB)) 
     Next j 

     col = col +1 
    Next i 
End Sub 
+2

'.Range ("COL"&를 사용한다 Rows.count) .' OP가 열 COL을 원한다면 적절하지 않습니다. 하지만 변수'col'의 값을 원한다고 생각합니다. 또한 수식에는 약간의 작업이 필요할 수 있습니다. –

관련 문제