1004错误 - 动态分配一系列单元格的公式

时间:2012-04-10 19:16:21

标签: vba excel-vba excel-2007 range formula

我正在尝试动态设置执行宏时输入公式的单元格。这段代码将循环约10次,每次都有一个新的员工部分。按部门订购。因此,当循环回到这一点时,第一个单元格将会改变。

我收到此错误:

  

对象'_Global'的方法'范围'失败

这是我的代码:

'Select the top cell in the "%Working" Column

Range(Cells(StartTemp, 9)).Select

'Insert the Formula - Billable/(Billable + Unbillable) * 100 into Column I for each section
'Formula is 'C4/(C4+C5)*100

Range(Cells(StartTemp, 9)).Formula = "=RC[-6]/(RC[-6]+RC[-5]) *100" 
Range(Cells(StartTemp, 9)).Select
Selection.NumberFormat = "0.00%"

'Insert the Formula into all cells in the section for this group.

Selection.AutoFill Destination:=Range(Cells(StartTemp, 9), Cells(EndTemp, 9)), Type:=xlFillDefault    

Range(Cells(StartTemp, 9), Cells(EndTemp, 9)).Select

提前致谢!

1 个答案:

答案 0 :(得分:4)

您收到该错误是因为您使用的是Range(Cells(StartTemp, 9))

RangeCells一起使用时,您不能只使用一个单元格。语法是

<强> 范围(小区1,小区2)

enter image description here

这会给你一个错误:)

Msgbox Range(Cells(1, 1)).Address 

enter image description here

同时避免使用.Select。它们也是错误的主要原因。

将您的代码更改为此并再次尝试( UNTESTED

With Cells(StartTemp, 9)
    .Formula = "=RC[-6]/(RC[-6]+RC[-5]) * 100"
    .NumberFormat = "0.00%"
    .AutoFill Destination:=Range(Cells(StartTemp, 9), Cells(EndTemp, 9)), Type:=xlFillDefault
End With

现在尝试一下。