使用单元格值更新列范围

时间:2016-06-22 20:25:50

标签: excel-vba vba excel

我有一个名为“Testfall-Input-Vorschlag”的输入表,我们必须从第7(J)列第一行的单元格中选择一个值,并选择一个值,例如“ARB13”我想填写选中它的列。列的填充是随机值。有一个名为“Admin”的Sheet,其值存储在A:ZZ列的单元格中。现在我在“Testfall”中-Input-Vorschlag“表格我希望按顺序填写列的单元格。这意味着例如对于单元格(11,7)我想从单元格(12,7)的”Admin“中的A列生成随机值该值必须来自“Admin”中的B列,对于单元格(13,7),该值来自“Admin”中的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的col值。这意味着每一个我需要的col值增加1.我在哪里错了?

1 个答案:

答案 0 :(得分: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 。像这样:

:%s/#//gc