言 该宏将差价金额(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工作了很短的时间,然后破了...它必须非常接近!
答案 0 :(得分:0)
With Cells(s.Row, counter + 21)
.Value = MonthlyAmount(counter)
.Interior.Color = RGB(230, 162, 94)
End With