Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/16.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
Vba Excel宏-单元格()为什么失败?_Vba_Excel - Fatal编程技术网

Vba Excel宏-单元格()为什么失败?

Vba Excel宏-单元格()为什么失败?,vba,excel,Vba,Excel,我对宏非常陌生。Iam使用此代码将两列值连接到一列中。今天的代码失败了,在工作表的前10行,其余的行都成功了。为什么会发生这样的事情,我一点都没有改变! 谢谢 试试这个: Sub FiXCrossSell() Dim lr As Long With Worksheets("CrossSell") lr = .Cells(Rows.Count, 2).End(xlUp).Row With .Range("A2:A" & lr)

我对宏非常陌生。Iam使用此代码将两列值连接到一列中。今天的代码失败了,在工作表的前10行,其余的行都成功了。为什么会发生这样的事情,我一点都没有改变! 谢谢

试试这个:

Sub FiXCrossSell()
    Dim lr As Long
    With Worksheets("CrossSell")
        lr = .Cells(Rows.Count, 2).End(xlUp).Row
        With .Range("A2:A" & lr)
            .FormulaR1C1 = "=rc2&rc5"
            .Value = .Value
        End With
    End With
End Sub

可能只需要计算B列中的单元格,然后将公式放在A列中

  Sub Button1_Click()
    Dim LstRw As Long, Rng As Range, Sh As Worksheet

    Set Sh = Sheets("CrossSell")
    With Sh
        LstRw = .Cells(.Rows.Count, "B").End(xlUp).Row
        Set Rng = .Range("A2:A" & LstRw)
        Rng = "=B2&E2"
    End With
End Sub

啊。。在我思考时,我看到其他人回答了这个问题。

表格前10行的输入是什么?您正在计算lr,但从未使用过它。您的代码原样没有多大意义。@JohnColeman-lr在问题的其他版本中使用。该代码仅适用于一个单元格A2,您所指的其他行是什么?代码是如何失败的,是否有错误代码等?你如何在行中循环,你也能提供那个部分吗?
  Sub Button1_Click()
    Dim LstRw As Long, Rng As Range, Sh As Worksheet

    Set Sh = Sheets("CrossSell")
    With Sh
        LstRw = .Cells(.Rows.Count, "B").End(xlUp).Row
        Set Rng = .Range("A2:A" & LstRw)
        Rng = "=B2&E2"
    End With
End Sub