2016-06-22 7 views
1

"Testfall-Input-Vorschlag"という入力シートがあります。ここでは、7番目(J)の列の最初の行のセルのドロップダウンから値を選択する必要があります。例: "ARB13"選択された列に記入したい列の塗りつぶしにランダムな値がありますA:ZZの列のセルに値が格納されている "Admin"というシートがあります今、私は "Testfall-Input-Vorschlag"シートで列のセルを順番に書きたいと思います。たとえば、cell(11,7)の場合は、 "Admin"の列Aからランダムな値を生成したい、セル(12,7)の値は、セル(13,7)の「管理者」の列Bからの値でなければならず、値は「管理者」の列Cの値でなければなりません。だから私は試していて、私はこのコードを思いついた。列の範囲をセルの値で更新する

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 

私はすべてのiの値を更新することができます。つまり、私はすべての価値を1ずつ増やす必要があります。どこが間違っていますか?

+1

つの項目 'レンジ( "COL" &Rows.Count)'セルを使用する必要があります()の代わりに '細胞(Rows.Count、COL)' ' –

答えて

0

最初のループを開始する前にcolを定義し、ループにcol = col + 1を入れないでください。そうでない場合は、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'の価値を望んでいると思う。また、数式は少しの作業を必要とする場合があります。 –

関連する問題