设为首页收藏本站

 找回密码
 立即注册

只需一步,快速开始

搜索
查看: 299|回复: 34

VBA清空公式栏

 火... [复制链接]
累计签到:30 天
连续签到:5 天
灌水成绩
2
209
4486
主题
帖子
积分

等级头衔

ID : 837

助理工程师

积分成就 测量币 : 4486
在线时间 : 0 小时
注册时间 : 2025-11-6
最后登录 : 2026-6-22

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

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


补个测试附件吧: VBA修改公式栏内容.rar (39.7 KB, 下载次数: 0)
累计签到:33 天
连续签到:1 天
灌水成绩
3
220
3253
主题
帖子
积分

等级头衔

ID : 897

助理工程师

积分成就 测量币 : 3253
在线时间 : 0 小时
注册时间 : 2026-1-23
最后登录 : 2026-7-3

勋章
UID勋章测量学徒测量员
发表于 2026-4-25 13:27:00 | 显示全部楼层 IP:香港
你是说保留单元格内的公式,只清除公式栏的文本框吗?
回复

使用道具 举报

累计签到:32 天
连续签到:2 天
灌水成绩
0
199
4115
主题
帖子
积分

等级头衔

ID : 860

助理工程师

积分成就 测量币 : 4115
在线时间 : 0 小时
注册时间 : 2025-12-5
最后登录 : 2026-6-20

勋章
UID勋章测量学徒测量员
发表于 2026-4-25 13:38:00 | 显示全部楼层 IP:香港
公示栏是什么?编辑栏么?
回复

使用道具 举报

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

等级头衔

ID : 872

高级技术员

积分成就 测量币 : 2926
在线时间 : 0 小时
注册时间 : 2026-3-6
最后登录 : 2026-7-6

勋章
UID勋章测量学徒测量员
发表于 2026-4-25 14:22:00 | 显示全部楼层 IP:香港
是的

回复

使用道具 举报

累计签到:31 天
连续签到:1 天
灌水成绩
1
177
3397
主题
帖子
积分

等级头衔

ID : 844

助理工程师

积分成就 测量币 : 3397
在线时间 : 0 小时
注册时间 : 2025-10-9
最后登录 : 2026-6-5

勋章
UID勋章测量学徒测量员
发表于 2026-4-25 14:28:00 | 显示全部楼层 IP:香港
不一定是单元格的公式,控件也可指定公式的,只管清除公式栏内的内容,不管清除后的对公式栏对应源对象影响结果
回复

使用道具 举报

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

等级头衔

ID : 857

高级技术员

积分成就 测量币 : 2928
在线时间 : 0 小时
注册时间 : 2026-3-29
最后登录 : 2026-6-14

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

使用道具 举报

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

等级头衔

ID : 808

高级技术员

积分成就 测量币 : 2950
在线时间 : 0 小时
注册时间 : 2026-2-2
最后登录 : 2026-6-14

勋章
UID勋章测量学徒测量员
发表于 2026-4-25 15:03:00 | 显示全部楼层 IP:香港
你是要这个隐藏吗
回复

使用道具 举报

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

等级头衔

ID : 815

助理工程师

积分成就 测量币 : 3353
在线时间 : 0 小时
注册时间 : 2026-2-4
最后登录 : 2026-7-5

勋章
UID勋章测量学徒测量员
发表于 2026-4-25 15:37:00 | 显示全部楼层 IP:香港
没什么意思呀,可能是想要隐藏公式,只显示结果,但有偿的话,可以试试
回复

使用道具 举报

累计签到:34 天
连续签到:3 天
灌水成绩
4
193
3970
主题
帖子
积分

等级头衔

ID : 820

助理工程师

积分成就 测量币 : 3970
在线时间 : 0 小时
注册时间 : 2026-1-28
最后登录 : 2026-7-4

勋章
UID勋章测量学徒测量员
发表于 2026-4-25 17:17:00 | 显示全部楼层 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


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

使用道具 举报

累计签到:59 天
连续签到:46 天
灌水成绩
4
193
13302
主题
帖子
积分

等级头衔

ID : 583

中级工程师

积分成就 测量币 : 13302
在线时间 : 563 小时
注册时间 : 2025-11-1
最后登录 : 2026-7-7

勋章
UID勋章测量学徒测量员
发表于 2026-5-1 01:10:33 | 显示全部楼层 IP:广东东莞
内容很干货,感谢分享。
回复

使用道具 举报

快速回复换一批
好贴支持!
好贴帮顶
硬核干货! 每一个步骤都写得清清楚楚,给楼主的大师级分享点赞! 🏆💡
日常暖贴。 优质好贴不能沉,我来帮楼主顶上去! 📈🎈
看帖回帖是美德。 悄悄地我来了,顺便留下一条充满正能量的回帖。 🌊🤝
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|精密测量技术论坛 ( 桂ICP备2026007449号-1 )

GMT+8, 2026-7-7 19:37 , Processed in 0.232989 second(s), 54 queries .

Powered by 精密测量技术论坛

© 2025-2026 联系站长

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