VBA填充或着色范围内的单元格

时间:2016-02-16 22:52:47

标签: vba selection counter

言 该宏将差价金额(EG年度预算金额减去总预测金额)应用于剩余预测月份,EG表示10月,11月和12月每年剩余3个月的不同列。 用户选择一行,触发宏,然后一个不同的宏(未显示为全部工作正常)确定每月的传播因子,然后调用下面的宏来计算每月的数量。 下面的宏工作正常,但我现在需要为目标单元格着色。因此我尝试了3个选项来修改下面的代码,但接收错误消息如下所述:

现有宏:

Sub CalcMonthlyAmounts_Bdgt()

For Each s In Selection
AccumAmount = 0
AB = Cells(s.Row, 39).Value 'Total Budgets column
BC = Cells(s.Row, 35).Value 'Total Actuals column
TotAmt = (AB - BC)

For counter = (13 - Range("NO_OF_MONTHS").Value) To 11


MonthlyAmount(counter) = (TotAmt * SpreadFactors(counter) /    SpreadTotal)
Cells(s.Row, counter + 21).Value = MonthlyAmount(counter) 

Next counter

Next s
End If
End Sub

选项1 - 添加以下WITH。在“下一个计数器”行上方的END WITH语句。这导致错误代码1004

With Cells(s.Row, counter + 21).Interior
        .PatternColorIndex = xlAutomatic
        .Color = RGB(230, 162, 94)
        .TintAndShade = 0
End With

选项2 - 在“下一个计数器”行上方添加以下行。这导致错误代码1004

Cells(s.Row, counter + 21).Interior.color=RGB(RGB(230, 162, 94)

选项3 - 使用DIM和SEt声明对象范围(Cells(s.Row,counter + 21))。此内容包含错误代码424

Dim cell_range as range
Set cell_range = Cells(s.Row, counter + 21)

感谢您的任何想法。有趣的是,选项1工作了很短的时间,然后破了...它必须非常接近!

1 个答案:

答案 0 :(得分:0)

With Cells(s.Row, counter + 21)
    .Value = MonthlyAmount(counter)
    .Interior.Color = RGB(230, 162, 94)
End With