excel vba自动运行问题

现在碰到了个问题,希望高手指点下:我用excel从外部实时读取数据,单元格中有公式,然后处理,自动的,用了worksheets_change函数。我自己改变单元格数据是,... 现在碰到了个问题,希望高手指点下:我用excel从外部实时读取数据,单元格中有公式,然后处理,自动的,用了worksheets_change 函数。我自己改变单元格数据是,程序正常运行,但单元格中有公式后,即使value发生变化,程序也不自动运行,怎么办?怎么弄个出发条件,当单元格中指变化时能让excel运行程序。
上面的问题再叙述下:比如sheet1 的a1中内又公式=(外面变量),当a1中的值变化时,它不启动worksheets_change 函数,怎么办,有没有别的触发条件,我实现了一秒读一次的宏,但觉得有点耗资源。
展开
 我来答
泥智纯旅旭
2019-04-09 · TA获得超过3万个赞
知道大有可为答主
回答量:1.1万
采纳率:30%
帮助的人:611万
展开全部
这个没有办法,如果别人设置了宏安全性为“高”或“中”,则会自动阻止vba运行或提示是否运行宏,不能在代码里设置改变宏的安全性,如果能在代码里设置改变宏的安全性,那excel的宏安全性就没有任何意义了。
太极健1969
2011-06-17 · TA获得超过9034个赞
知道大有可为答主
回答量:8668
采纳率:69%
帮助的人:3631万
展开全部
把你的change事件改为 Calculate 事件即可自动运行
Calculate 是针对公式值改变而运行的事件。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
longhq163
2011-06-17 · 超过21用户采纳过TA的回答
知道答主
回答量:115
采纳率:100%
帮助的人:22.5万
展开全部
在VBA里加入Worksheet_SelectionChange 过程,调用worksheets_change 函数里面的内容。或者试着切换到其他表,在切换回来,看看。
更多追问追答
追问
谢谢,以后系统运行后,excel就不管了,希望它能自动运行的,Worksheet_SelectionChange可能不行了,或者怎么做个能一秒运行一次的宏。
追答
我的第二个方法是否可用?或者改变EXCEL窗体结构,看看值变不?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
帐号已注销
推荐于2016-11-20 · TA获得超过8613个赞
知道大有可为答主
回答量:3242
采纳率:66%
帮助的人:2867万
展开全部
将程序放入工作表的 Calculate 事件中,即:在对工作表进行重新计算之后产生此事件。
当 公式的值 改变,也就是工作表重新进行了计算,计算完后执行这个事件
Private Sub Worksheet_Calculate()
Columns("A:F").AutoFit
End Sub
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
jimmy_tate
2011-06-17
知道答主
回答量:45
采纳率:0%
帮助的人:19.5万
展开全部
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)

End Sub
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式