Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/24.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 在VBA中使用偏移量时引用单元格_Excel_Offset_Vba - Fatal编程技术网

Excel 在VBA中使用偏移量时引用单元格

Excel 在VBA中使用偏移量时引用单元格,excel,offset,vba,Excel,Offset,Vba,我不太明白如何根据条件引用表中的单元格,并从一列上的单元格中获取信息。基本上,我有一个表,用户可以从中选择一个变量,并在它旁边的列中输入变量的实例数。我试图使用偏移量,但我想我需要引用变量的第一个单元格 For Each cell In [Table] If cell = "Variable1" Then Var1 = .Offset(0, 1).Value ElseIf cell = "Variable2" Then Var2 = .Offset

我不太明白如何根据条件引用表中的单元格,并从一列上的单元格中获取信息。基本上,我有一个表,用户可以从中选择一个变量,并在它旁边的列中输入变量的实例数。我试图使用偏移量,但我想我需要引用变量的第一个单元格

For Each cell In [Table]
    If cell = "Variable1" Then
        Var1 = .Offset(0, 1).Value
    ElseIf cell = "Variable2" Then
        Var2 = .Offset(0, 1).Value
    ElseIf cell = "Variable3" Then
        Var3 = .Offset(0, 1).Value
    ElseIf cell = "Variable4" Then
        Var4 = .Offset(0, 1).Value
    End If
Next cell

基本上,代码将查看[表]中的每个单元格,如果单元格等于“Variable1”,则Var1将=其旁边列中的值,如果等于“Variable2”,则Var2将=其旁边列中的值。。。等等我没有适当地引用包含“Variable1”的单元格。我该怎么做?我认为它没有什么地方可以抵消,因为它必须看“cell”,但显然我错了。

很抱歉我找到了答案。只需添加ActiveCell,代码就可以正常工作。请智能社区。。回答实际问题:)

关于
单元格.偏移量(0,1).Value
?远离
ActiveCell
。这是邪恶的。而是使用
cell.Offset(0,1).Value
它是邪恶的,不起作用。你的推荐非常有效!谢谢