设为首页收藏本站

 找回密码
 立即注册
搜索
查看: 86|回复: 8

VBA清空公式栏

[复制链接]
累计签到:2 天
连续签到:1 天
灌水成绩
1
23
45
主题
帖子
积分

等级头衔 ID : 837
用户组 : 新手上路

积分成就 测量币 : 45
违规 : 0
在线时间 : 0 小时
注册时间 : 2026-4-6
最后登录 : 2026-4-26

勋章

活跃会员最佳新人

联系方式

发表于 昨天 13:18 | 显示全部楼层 |阅读模式 IP:香港
如题,VBA能否实现对公式栏的操作,如不管工作表在什么状态下(未必是单元格才有公式,也可能是控件指定公式),清空/更换公式栏内的内容?
问了下AI(它也只能联网搜索罢了),除了手动操作外似乎无法实现。

不知 调用API?Send Key?成不成?


补个测试附件吧: VBA修改公式栏内容.rar (39.7 KB, 下载次数: 0)
测量协会论坛免责声明
重要声明:以上内容仅代表该作者观点,不代表本站测量协会论坛立场。
如有涉及侵权请尽快告知,我们将会在第一时间处理。作者原创内容未经允许不得转载!
站长联系邮箱:1339305021@qq.com
站长联系微信:dddnnbbb
累计签到:2 天
连续签到:1 天
灌水成绩
2
17
54
主题
帖子
积分

等级头衔 ID : 897
用户组 : 注册会员

积分成就 测量币 : 54
违规 : 0
在线时间 : 0 小时
注册时间 : 2026-4-6
最后登录 : 2026-4-25

勋章

活跃会员最佳新人

联系方式

发表于 昨天 13:27 | 显示全部楼层 IP:香港
你是说保留单元格内的公式,只清除公式栏的文本框吗?
回复

使用道具 举报

累计签到:3 天
连续签到:1 天
灌水成绩
0
29
38
主题
帖子
积分

等级头衔 ID : 860
用户组 : 新手上路

积分成就 测量币 : 38
违规 : 0
在线时间 : 0 小时
注册时间 : 2026-4-6
最后登录 : 2026-4-26

勋章

活跃会员最佳新人

联系方式

发表于 昨天 13:38 | 显示全部楼层 IP:香港
公示栏是什么?编辑栏么?
回复

使用道具 举报

尚未签到

灌水成绩
0
31
0
主题
帖子
积分

等级头衔 ID : 872
用户组 : 新手上路

积分成就 测量币 : 0
违规 : 0
在线时间 : 0 小时
注册时间 : 2026-4-6
最后登录 : 2026-4-26

勋章

活跃会员最佳新人

联系方式

发表于 昨天 14:22 | 显示全部楼层 IP:香港
是的

回复

使用道具 举报

累计签到:2 天
连续签到:1 天
灌水成绩
1
19
35
主题
帖子
积分

等级头衔 ID : 844
用户组 : 新手上路

积分成就 测量币 : 35
违规 : 0
在线时间 : 0 小时
注册时间 : 2026-4-6
最后登录 : 2026-4-26

勋章

活跃会员最佳新人

联系方式

发表于 昨天 14:28 | 显示全部楼层 IP:香港
不一定是单元格的公式,控件也可指定公式的,只管清除公式栏内的内容,不管清除后的对公式栏对应源对象影响结果
回复

使用道具 举报

累计签到:1 天
连续签到:1 天
灌水成绩
0
16
13
主题
帖子
积分

等级头衔 ID : 857
用户组 : 新手上路

积分成就 测量币 : 13
违规 : 0
在线时间 : 0 小时
注册时间 : 2026-4-6
最后登录 : 2026-4-26

勋章

活跃会员最佳新人

联系方式

发表于 昨天 14:54 | 显示全部楼层 IP:香港
单元格公式好解决,cells.value = cells.value就好了
但是对象的话,微软的对象是支持引用单元格的,这个取消然后还要重新设置对象的文本结果
回复

使用道具 举报

累计签到:3 天
连续签到:2 天
灌水成绩
2
24
57
主题
帖子
积分

等级头衔 ID : 808
用户组 : 注册会员

积分成就 测量币 : 57
违规 : 0
在线时间 : 0 小时
注册时间 : 2026-4-6
最后登录 : 2026-4-25

勋章

活跃会员最佳新人

联系方式

发表于 昨天 15:03 | 显示全部楼层 IP:香港
你是要这个隐藏吗
回复

使用道具 举报

累计签到:1 天
连续签到:1 天
灌水成绩
1
22
33
主题
帖子
积分

等级头衔 ID : 815
用户组 : 新手上路

积分成就 测量币 : 33
违规 : 0
在线时间 : 0 小时
注册时间 : 2026-4-6
最后登录 : 2026-4-26

勋章

活跃会员最佳新人

联系方式

发表于 昨天 15:37 | 显示全部楼层 IP:香港
没什么意思呀,可能是想要隐藏公式,只显示结果,但有偿的话,可以试试
回复

使用道具 举报

累计签到:3 天
连续签到:1 天
灌水成绩
3
22
66
主题
帖子
积分

等级头衔 ID : 820
用户组 : 注册会员

积分成就 测量币 : 66
违规 : 0
在线时间 : 0 小时
注册时间 : 2026-4-6
最后登录 : 2026-4-26

勋章

活跃会员最佳新人

联系方式

发表于 昨天 17:17 | 显示全部楼层 IP:香港
词不达意
工作表中插入两个ActiveX 的 Image控件,模块中的测试代码如下:



Sub test()
    ' 测试1 先手动修改公式栏为"=$A$1:$D$7"
    ActiveSheet.Shapes("Image2").Select
    Selection.Formula = "=$A$1:$D$7"    '这里可修改为其他不同单元格区域地址测试
    MsgBox "测试1ok!手动修改公式栏为单元格区域后,再用VBA修改设置运行没问题!"
   
    ' 测试2
    ActiveSheet.Shapes("Image1").Select
    Selection.Formula = "=$A$8:$D$13"
    '但未手动修改过公式栏的话,直接赋公式则出错!
   
    ' 测试3
    '注释上面两行代码,用VBA插入控件测试,同样出错!
    Dim SHP As Shape
    For Each SHP In ActiveSheet.Shapes
        If SHP.Name = "RngImg" Then SHP.Delete
    Next
    With ActiveSheet.OLEObjects.Add(ClassType:="Forms.Image.1", Link:=False, DisplayAsIcon:=False)
        .Name = "RngImg"
        .Left = 260
        .Top = 200
         .Width = 300
         .Height = 200
    End With
    ActiveSheet.Shapes("RngImg").Select
    ActiveSheet.OLEObjects("RngImg").Object.Select
    Selection.Formula = "=$A$1:$D$7"
   
    MsgBox "OK?/NG?"
   
End Sub


一楼已补充测试附件......
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|测量协会 ( 桂ICP备2026007449号-1 )|网站地图

GMT+8, 2026-4-26 03:13 , Processed in 0.114154 second(s), 37 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表