2016-06-22 70 views
1

我有一個名爲「Testfall-Input-Vorschlag」的輸入表,我們必須從第7行(J)列的第一行的單元格中的下拉列表中選擇一個值,被選中例如「ARB13」我想填寫它所在的列,填充的列是隨機值,有一張名爲「Admin」的表,其值存儲在A:ZZ列的單元格中。現在我在「Testfall-Input-Vorschlag」表中填寫列的單元格,例如對於單元格(11,7),我想從「Admin」中的列A生成一個隨機值對於單元格(12,7),該值必須來自單元格(13,7)的「Admin」中的列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 

我怎樣才能更新每個我的col值。這意味着每一次我需要col值增加1.我哪裏錯了?

+1

一個項目'範圍( 「關口」 &Rows.Count)'應該使用細胞(),而不是'細胞(Rows.Count,列)'' –

回答

0

定義col在開始第一個循環之前,並且不要將col = col + 1置於For j = 7 to 1000循環中。否則col將每增加j而不是每增加i。事情是這樣的:

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( 「關口」 & Rows.count).'不正確,除非OP想要列COL。但我想他想要變量col的值。此外,該公式可能需要一些工作。 –

相關問題