ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 1887|回复: 3

我想编这样的公式,怎么不行呢

[复制链接]

TA的精华主题

TA的得分主题

发表于 2006-6-20 10:41 | 显示全部楼层 |阅读模式
大家好,我是vba的初学者,我主要想想利用vba解决在word中编辑公式的功能,因为有的公式比较复杂,所以我想利用vba和域一起来解决这个问题,例如,a/b+c/d=2/5+3/5=1(其中,a,b,c,d为变量,即值不同时,会自动生成新的数字表达式),我大概式这样编的(编的比较复杂,并且里面需用句子我还不大明白) Sub Macro5() ' ' Macro5 Macro ' ºêÔÚ 2006-6-20 ÓÉ hmy ¼ÖÆ ' DIM e as integer Dim b As String Dim c As String Dim d As String Dim e As String a = InputBox("a", "") b = InputBox("b", "") c = InputBox("c", "") d = InputBox("d", "") e = a / b + c / d Selection.Fields.Add Range:=Selection.Range, Type:=wdFieldEmpty, _ PreserveFormatting:=False Selection.TypeText Text:="eq \f(a,b)" Selection.Fields.Update Selection.MoveRight Unit:=wdCharacter, Count:=1 Selection.TypeText Text:="+" Selection.Fields.Add Range:=Selection.Range, Type:=wdFieldEmpty, _ PreserveFormatting:=False Selection.TypeText Text:="eq \f(c,d)" Selection.Fields.Update Selection.MoveRight Unit:=wdCharacter, Count:=1 Selection.TypeText Text:="=" Selection.Fields.Add Range:=Selection.Range, Type:=wdFieldEmpty, _ PreserveFormatting:=False Selection.TypeText Text:="eq \f(a,b)" Selection.Fields.Update Selection.MoveRight Unit:=wdCharacter, Count:=1 Selection.TypeText Text:="+" Selection.Fields.Add Range:=Selection.Range, Type:=wdFieldEmpty, _ PreserveFormatting:=False Selection.TypeText Text:="eq \f(c,d)" Selection.Fields.Update Selection.MoveRight Unit:=wdCharacter, Count:=1 Selection.TypeText Text:="=" Selection.InsertAfter e End Sub 我把这个宏运行了一下,并没有得到我想要得结果,当我输入a=1,b=2,c=3,d=10时,结果是这样得: a/b+c/d=a/b+c/d=.8 我不知道错出在哪里,我不知道域有没有识别变量的功能,能帮我改改吗

TA的精华主题

TA的得分主题

发表于 2006-6-20 12:55 | 显示全部楼层

Selection.TypeText Text:="eq \f(a,b)"

改为:Selection.TypeText Text:="eq \f(" & a & "," & b &")""

没有测试。楼主,不要急。

还有,你每次发贴后,好像对跟贴的解释不太关注。

是没有用?还是你没有看到?

[此贴子已经被作者于2006-6-20 12:56:04编辑过]

TA的精华主题

TA的得分主题

 楼主| 发表于 2006-6-20 13:16 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册

不好意思,我看过您上次回副我的帖子,但是我在我的电脑上试过& a &,但是结果还是不正确,什么原因呢

TA的精华主题

TA的得分主题

 楼主| 发表于 2006-6-20 13:32 | 显示全部楼层

不好意思,我忘了打双引号,丢脸了,太感谢您了,给我指明了学习的方向

您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-11-16 15:43 , Processed in 0.031695 second(s), 9 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

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