2

我正在尝试动态设置在执行宏时输入公式的单元格。这段代码将循环大约 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

提前致谢!

4

1 回答 1

4

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

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

范围(单元格 1,单元格 2)

在此处输入图像描述

这会给你一个你得到的错误:)

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

在此处输入图像描述

还要避免使用.Select. 它们也是导致错误的主要原因。

将您的代码更改为此并重试(测试)

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

现在试试看。

于 2012-04-10T19:49:27.843 回答