永发信息网

vba中如何定义自定义函数来改变使用该函数的单元格的颜色?

答案:2  悬赏:70  手机版
解决时间 2021-04-14 14:26
  • 提问者网友:低吟詩仙的傷
  • 2021-04-14 06:43
比如函数定义为colors
在 A1中输入=colors(50,50,50) 回车,背景变成灰色

我试着加入个按钮,按钮事件可以直接给单元格改变颜色,用函数就是不行。请问是何原因?

另外,调用自身(就是函数所在的单元格)的语法是怎么样的?
比如我想给A1改变颜色必须这么写么?可以不传递参数么?
A1=colorS(a1)

Function colorS(g As Range)
g.Interior.ColorIndex = 4 ‘这个没有效果,而且结果是错误值
colorS = g.Interior.Color
End Function

而 这个就可以执行
Sub 按钮1_Click()
Range("e9").Interior.ColorIndex = 4
End Sub
最佳答案
  • 五星知识达人网友:患得患失的劫
  • 2021-04-14 08:04
在A1中输入=colors(50,50,50) 回车,背景变成灰色
——这是做不到的。原因如下:
A1输入函数colors,函数只能返回值给A1,而不能返回一个操作给A1
全部回答
  • 1楼网友:鱼芗
  • 2021-04-14 09:30
这个也不用vba 用公式算就可以了…… i1 =h1-index(a1:g1,max(if(a1:g1<>"",column(a1:g1),""))) ctrl+shift+enter 三键组合数组公式…… 然后向下复制
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯