我正在尝试从电子表格创建呼叫,该呼叫将更改为单元格的格式。当我明确列举范围(即“ C7”)时,我的代码有效。当我在excel函数调用中隐式创建它时,它不会:
如果将= call_color放在单元格中,则“ C7”变为绿色。如果我将= Color_Green(C7)放在同一单元格中,它将无法正常工作。
Sub call_color()
Dim TestVal As Range
Set TestVal = Range("C7")
Call Color_Green(TestVal)
End Sub
Sub Color_Green(ByRef MyRng As Range)
' Color Green Macro
MyRng.Select
With Selection.Interior
.Color = RGB(0, 250, 0)
End With
End Sub
我希望能够在vb中进行一些计算,并根据这些计算来格式化单元格。如何传递允许.interior功能起作用的范围?
答案 0 :(得分:0)
不要使用select或selection并提供父级工作表引用。
Sub call_color()
Dim TestVal As Range
Set TestVal = worksheets("sheet1").Range("C7")
Color_Green TestVal
End Sub
Sub Color_Green(ByRef MyRng As Range)
' Color Green Macro
MyRng.Interior.Color = RGB(0, 250, 0)
End Sub