在EXECEL中想用代码控制通过数据生成图.如果数据表中的第十六行的B到M列的值不全为空,满足该条件才对生成的折线图表中的折线进行美化设置 例如:
set ws=activesheet
i=16
if (ws.range("b"&i).value<>"" or ws.range("c"&i).value<>"" or.......or ws.range("m"&i).value<>"") then
activechart.折线.border.width=3    '没学过这个,工作需要,所以记不清了.大意就是设置折线的粗细
endif 在实际运行时,第十六行的B到M列的值都为空,但还是执行了IF END IF内的语句,值为空所以没有折线,所以执行语句时报错.错误大概为:不能设备BORDER.WIDTH的值
这个问题已经有人提供了答案,但是我试了下,没有效果,还是有错.由于不怎么懂这个,所以请教高手.这个问题难了我一下午了.

解决方案 »

  1.   

    单元格内容看着是空的,但是不见得就一定是空字符串吧,貌似空格、回车、NULL这样的东西看起来都是空的吧,所以你用.value<>""这个来做判断貌似不太准确吧。建议你还是用Len函数来判断一下第16行的B到M列的长度,看看是不是全都是0,如果不是那就说明肯定有单元格看着是空的,但其实不是空的,搞清楚里面具体是什么再来研究怎么解决吧