excel vb 自定义方法问题 50

functionfindForm(strasstring)ifstr>100then这里表示选中传过来的那个单元格换一种颜色elseifstr>50then这里表示选中传... function findForm(str as string)
if str >100 then
这里表示选中传过来的那个单元格换一种颜色
elseif str >50 then
这里表示选中传过来的那个单元格换第2种颜色
elseif str >0 then
这里表示选中传过来的那个单元格换第3种颜色颜色
end if
end function
相当于js的 this.style.background="red"
如果可以的话能写上选中当前单元格的那行换色。
我不是搞vb的,但是现在在研究excel自定义函数,所写格式也许不是很正确,但是就是这个意思,我选中一个单元格进行一些列判断后(这部分已完成。。。)然后根据我算出来的值,显示这个单元格不同的颜色。
展开
 我来答
玉店生C
2013-05-22 · TA获得超过375个赞
知道小有建树答主
回答量:346
采纳率:0%
帮助的人:76.7万
展开全部
看了你的问题大概了解了。先说下,用你这个方法达不到你的要求的。
VBA自定义函数,只能返回值,不能改变单元格颜色等单元格的操作。

像你这种方法可以根据EXCEL自带的“条件格式”来做到,当单元格在不同的值范围显示不同的颜色是可以用这个实现的。

如果要做EXCEL自定义函数,只能返回一个值,一个区域,或一个数组等。

希望对你有帮助。
追问
可以改变,我都做出来了,只是一保存就死了
网上找的代码,定义传的是target对象,具体代码在公司。。。。
張員瑛
2013-05-22 · TA获得超过154个赞
知道小有建树答主
回答量:296
采纳率:0%
帮助的人:248万
展开全部
好像不可以,函数中不能改变背景,只能计算结果。只能在过程(sub)中改变背景。
追问
Function bb(str As String)
setColor()
End Function

Sub setColor()
Range("d2000:d3000").Font.Color = 202
End Sub
不太明白如何调用过程。。setColor.call()也不行,不过你给了我个思路,我找找例子看看别人代码。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式