风清清 发表于 2006-6-7 08:56:00

关于EXCEL中VBA的隐藏保护问题

<P>请教高手,我在一个EXCEL中见过有这样一种情况:其中的某个单元格子中,内容是“=js()”,单元格的显示结果是这个公式的计算结果。问题是我打开其VB编辑器,看不到任何关于这个函数的定义,也没有显示密码保护的信息。但是这个函数明显不是EXCEL函数,我将这个单元格拷贝到其他EXCEL,显示错误;拷贝到同一个EXCEL的其他页,弹出框说没有这个宏;拷贝到同一页的其他单元格,一切正常。</P>
<P>请问这个高手将宏做在什么地方去了?</P>

黄玉宏 发表于 2006-6-7 09:16:00

<P>回复:这不是自定义函数或函数,是通过Excel的VBA给单元格赋值。其具体开工如:</P>
<P>.Formula="=js()"&nbsp;&nbsp;&nbsp;&nbsp; 注:为简写,全写为:Range("A1"),其前面可能还有工作表名,如Sheet1等。</P>
<P>黄玉宏 二○○六年六月七日</P>

风清清 发表于 2006-6-9 08:50:00

<P>问题是,如果在VBA中存在这么一个语句,我是会发现的。我找遍了都找不到这个VBA语句,这才觉得作者很高啊。</P>
<P>还有就是,如果是用.Formula="=js()"&nbsp;这样的语句,我把“”单元格子的内容复制到其他页面上,为什么会报错呢?我猜想这个“js()”的函数一定是定义在这个页面sheet1中的VBA代码中,才会不能让别的页面正常引用啊,但是为什么sheet1中没有VBA呢。</P>
<P>&nbsp;</P>

霹雳啪啦啦 发表于 2006-6-9 10:01:00

如果在VBA里确实找不到,还有一种可能,就是命名公式。打开菜单 插入--&gt;名称--&gt;定义,看一下找不找得到这个公式。如果找到了,就是以名称的方式定义的“命名公式”。
页: [1]
查看完整版本: 关于EXCEL中VBA的隐藏保护问题