Excel 使用单元格值更新列范围
我有一个名为“Testfall input Vorschlag”的输入表,我们必须从第7(J)列第一行的单元格中的下拉列表中选择一个值,当选择一个值时,例如“ARB13”,我想填写所选的列。该列的填充是随机值。有一个名为“Admin”的表“其中的值存储在A:ZZ列的单元格中。现在,在“Testfall Input Vorschlag”表中,我想按顺序填写列的单元格。这意味着,例如,对于单元格(11,7),我想从单元格(12,7)的“管理”中的a列生成一个随机值。该值必须来自单元格(13,7)的“管理”中的B列。该值来自“管理”中的C列,等等。因此,我一直在尝试,我已经想出了这段代码Excel 使用单元格值更新列范围,excel,vba,Excel,Vba,我有一个名为“Testfall input Vorschlag”的输入表,我们必须从第7(J)列第一行的单元格中的下拉列表中选择一个值,当选择一个值时,例如“ARB13”,我想填写所选的列。该列的填充是随机值。有一个名为“Admin”的表“其中的值存储在A:ZZ列的单元格中。现在,在“Testfall Input Vorschlag”表中,我想按顺序填写列的单元格。这意味着,例如,对于单元格(11,7),我想从单元格(12,7)的“管理”中的a列生成一个随机值。该值必须来自单元格(13,7)的“
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的col值。这意味着对于每个I,我需要col值增加1。我哪里出错了?在开始第一个循环之前定义
col
,并且不要将col=col+1
放在对于j=7到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
在开始第一个循环之前定义
col
,对于j=7到1000循环,不要将col=col+1
放在中。否则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
一项范围(“col”&Rows.Count)
应使用单元格()代替单元格(Rows.Count,col)
一项范围(“col”&Rows.Count)
应使用单元格()代替单元格(Rows.Count,col)
范围(“col”&Rows.Count).
是不合适的,除非OP想要列COL。但是我认为他想要变量的值COL
。公式可能需要一些工作。.Range(“COL”和Rows.count).
是不合适的,除非OP想要列COL。但我认为他想要变量COL
的值。此外,公式可能需要一些工作。