2013-04-30 38 views
2

我試圖從細胞拖動公式到另一個單元格右側(即cellA1 [formula: A2 + A3] -> cellB1 [formula: B2+B3])以下是我有:VBA阻力公式從左到右

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 

錯誤是「必選對象」

+0

,而不是使用自動填充功能,您可以只設置使用'細胞在細胞中的公式(行,列).formula = 「= B2 + B3」' – 2013-04-30 13:07:01

回答

3

試試下面的代碼:

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 
你知道
+0

@JosephineBautista嘗試此代碼。 – Santosh 2013-04-30 13:22:12

+0

它的工作!非常感謝Santosh! :) – 2013-04-30 13:25:00

+0

@JosephineBautista歡迎:) – Santosh 2013-04-30 13:27:06

1

範圍的對象,所以賦值時這些變量,你應該使用設置關鍵字:

試試這個:

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 
+0

試圖使用**設置**。仍然有一個錯誤。 「範圍類的自動填充方法失敗」 突出部分是這樣的線: cellSource.AutoFill目的地:= cellTarget,類型:= xlFillDefault – 2013-04-30 13:19:07