Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel 使用单元格值更新列范围_Excel_Vba - Fatal编程技术网

Excel 使用单元格值更新列范围

Excel 使用单元格值更新列范围,excel,vba,Excel,Vba,我有一个名为“Testfall input Vorschlag”的输入表,我们必须从第7(J)列第一行的单元格中的下拉列表中选择一个值,当选择一个值时,例如“ARB13”,我想填写所选的列。该列的填充是随机值。有一个名为“Admin”的表“其中的值存储在A:ZZ列的单元格中。现在,在“Testfall Input Vorschlag”表中,我想按顺序填写列的单元格。这意味着,例如,对于单元格(11,7),我想从单元格(12,7)的“管理”中的a列生成一个随机值。该值必须来自单元格(13,7)的“

我有一个名为“Testfall input Vorschlag”的输入表,我们必须从第7(J)列第一行的单元格中的下拉列表中选择一个值,当选择一个值时,例如“ARB13”,我想填写所选的列。该列的填充是随机值。有一个名为“Admin”的表“其中的值存储在A:ZZ列的单元格中。现在,在“Testfall Input Vorschlag”表中,我想按顺序填写列的单元格。这意味着,例如,对于单元格(11,7),我想从单元格(12,7)的“管理”中的a列生成一个随机值。该值必须来自单元格(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的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
的值。此外,公式可能需要一些工作。