2

我正在尝试将公式从一个单元格拖到另一个单元格的右侧(即cellA1 [formula: A2 + A3] -> cellB1 [formula: B2+B3])。这是我所拥有的:

Dim lastColumn As Long
lastColumn = Workbook2.Worksheets(7).Cells(1, Columns.Count).End(xlToLeft).Column

cellSource = Workbook2.Worksheets(7).Cells(3, lastColumn)
cellTarget = Workbook2.Worksheets(7).Cells(3, lastColumn + 1)

cellSource.AutoFill Destination:=cellTarget, Type:=xlFillDefault

错误是“需要对象”

4

2 回答 2

4

试试下面的代码:

Dim lastColumn As Long, cellSource As Range, cellTarget As Range
lastColumn = Workbook2.Worksheets(7).Cells(1, Columns.Count).End(xlToLeft).Column

Set cellSource = Workbook2.Worksheets(7).Range(Cells(3, lastColumn).Address)
Set cellTarget = Workbook2.Worksheets(7).Range(Cells(3, lastColumn), Cells(3, lastColumn + 1))

cellSource.AutoFill Destination:=cellTarget, Type:=xlFillDefault
于 2013-04-30T13:15:49.507 回答
1

范围是对象,因此在为这些变量赋值时应该使用set关键字:

尝试这个:

Dim lastColumn As Long
lastColumn = Workbook2.Worksheets(7).Cells(1, Columns.Count).End(xlToLeft).Column

set cellSource = Workbook2.Worksheets(7).Cells(3, lastColumn)
set cellTarget = Workbook2.Worksheets(7).Cells(3, lastColumn + 1)

cellSource.AutoFill Destination:=cellTarget, Type:=xlFillDefault
于 2013-04-30T13:05:47.490 回答