VBA Excel错误91,设置对象时出错

我遇到了一个问题,我的VBA Excel代码,我试图合并选定的单元格,并把它后面的单词合并的数据。 (删除单元格不起作用。)

这是一个例子( |是单元格的分隔符):

|堆栈|溢出| 100 |无|东西|

运行代码,它应该是这样的:

|堆栈溢出| 100 |无|东西|

但是我得到“错误91对象variables或未设置块”,这里是代码:

 Dim Cells As Range Dim CellsContents As String Dim RangeCells As Range Set RangeCells = Application.Selection For Each Cells In RangeCells CellsContents = CellsContents & Cells.Value & " " Next RangeCells.Value = VBA.Left(CellsContents, VBA.Len(CellsContents) - 1) Range(Cells(ActiveCell.Row, ActiveCell.Column + Selection.Count), Cells(ActiveCell.Row, 20)).Copy Destination:=Cells(ActiveCell.Row, ActiveCell.Column + Selection.Count - 1) 

错误发生在代码的最后一行。 我试图把它放在一个对象variables之前,但是我得到了一个错误的目的地。 如果你想了解更多这方面的信息,因为我知道这有点令人困惑,只是让我知道。

你不能这样使用“单元格”。 您需要在之前引用工作表对象:即。 activesheet.cells或工作表(“SheetName”)单元格

用下面的最后一行replace,它应该工作。

希望这可以帮助。

 Range(ActiveSheet.Cells(ActiveCell.Row, ActiveCell.Column + Selection.count), ActiveSheet.Cells(ActiveCell.Row, 20)).Copy ActiveSheet.Cells(ActiveCell.Row, ActiveCell.Column + Selection.count - 1) 

你的问题是,最后一行variablesCells不在范围之内。

因此,你得到你所描述的错误“对象variables未设置”。