如何使用EXCEL宏命令实现自动计算功能?

希望解决以下问题:在某一个单元格输入计算公式(例如3*4+3),然后在右侧的单元格直接显示出结果(例如15.00)。望高手百忙之中不吝赐教。献上本人还有的最高分。致各位大... 希望解决以下问题:
在某一个单元格输入计算公式(例如3*4+3),然后在右侧的单元格直接显示出结果(例如15.00)。
望高手百忙之中不吝赐教。
献上本人还有的最高分。
致各位大侠:
是用EXCEL宏命令,实现以上功能。而且,宏命令是可以实现上述功能的。
决定提高悬赏分!
展开
 我来答
帐号已注销
2020-01-10 · TA获得超过3995个赞
知道小有建树答主
回答量:400
采纳率:63%
帮助的人:45.4万
展开全部
sky不用太多sky
高粉答主

2018-03-30 · 醉心答题,欢迎关注
知道大有可为答主
回答量:1082
采纳率:97%
帮助的人:47.5万
展开全部

CharToValue() 函数可计算单个单元格中可能含有的计算公式。若A1单元格有3×4+3,要求B1出结果,请在B1的输入框中填写=CharToValue(A1) 。并支持下拉自动应用公式。

StrToSUM()函数可计算单元格区域中可能含有的计算公式。若想在H10中求A1:F10的汇总结果,请在H10的输入框中填写=StrToSUM(A1:F10) 。

'以下是需要使用的代码,请按下ALT+F11启动VBA编辑器,插入一个模块,将以下代码粘贴其中,就可以应用了。

Public Function CharToValue(myRange As Range) As Single

'将单元格中可能存在的算式进行计算(仅限于四则运算和括号)

On Error Resume Next

Dim Str1 As String, Str2 As String, Str3 As String, Str4 As String

Dim i As Integer

Str1 = myRange.Text

Str2 = "1234567890.+-*/ ()+-×÷()"

'取出算式

For i = 1 To Len(Str1)

Str3 = Mid(Str1, i, 1)

If InStr(1, Str2, Str3) > 0 Then

Str4 = Str4 & Str3

End If

Next

'替换算式中因为习惯可能存在的非法,以利计算

Str4 = Replace(Str4, "+", "+")

Str4 = Replace(Str4, "-", "-")

Str4 = Replace(Str4, "×", "*")

Str4 = Replace(Str4, "÷", "/")

Str4 = Replace(Str4, "(", "(")

Str4 = Replace(Str4, ")", ")")

Str4 = Evaluate(Str4)

If IsNumeric(Str4) = True Then

CharToValue = Val(Str4)

Else

CharToValue = 0

End If

End Function

Public Function StrToSUM(myRange As Range) As Single

'将单元格区域中含有的算式汇总结果——区域中单元格必须连续

'如:我有15元+欠别人10元,汇总结果=25,而不是 5

Dim i As Long

Dim SumSing As Single

With myRange

For i = 1 To .Cells.Count

SumSing = SumSing + CharToValue(.Cells(i))

Next

End With

StrToSUM = SumSing

End Function

微软的OFFICE是最为流行的办公软件,主要有OFFICE2010和OFFICE2007两个版本。Office 2000是第三代办公处理软件的代表产品,可以作为办公和管理的平台,以提高使用者的工作效率和决策能力。Office 2000中文版有4种不同的版本:标准版、中小企业版、中文专业版和企业版。

在Office 2000中各个组件仍有着比较明确的分工:一般说来,Word主要用来进行文本的输入、编辑、排版、打印等工作;Excel主要用来进行有繁重计算任务的预算、财务、数据汇总等工作;PowerPoint主要用来制作演示文稿和幻灯片及投影片等;Access是一个桌面数据库系统及数据库应用程序;Outlook是一个桌面信息管理的应用程序;FrontPage主要用来制作和发布因特网的Web页面。

Microsoft Office XP是微软有史以来所发行的Office版本中最重要的版本,而且也被认为是迄今为止功能最强大、最易于使用的Office产品。新版Office放弃了以往以产品发布年命名的惯例!产品名称中的XP,是英文Experience(体验)的缩写,代表着新版Office在包容覆盖广泛设备的Web服务之后,将给用户带来丰富的、充分扩展的全新体验。

除核心的 Office XP 程序 — Microsoft Word、Excel、Outlook和 PowerPoint— 外,Office XP 专业版 中包含 Microsoft Access 2002,它是 Office XP 数据库解决方案,可帮助用户存储、访问和分析数据。

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
y_w_w
推荐于2018-02-27 · 超过12用户采纳过TA的回答
知道答主
回答量:71
采纳率:0%
帮助的人:40.7万
展开全部

假设22*33*55在A1单元格

光标定位在B1,菜单栏,插入,名称,定义,输入“ABC” (不含双引号)

在引用位置输入

=EVALUATE(A1)

确定,

这样,在B1输入

=ABC

就会得出算式22*33*55的结果

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
china_day
2011-10-10 · TA获得超过536个赞
知道小有建树答主
回答量:237
采纳率:0%
帮助的人:129万
展开全部
  送你两个函数,可以计算单元格或单元格区域中可能包含的四则运算(包括有括号)。如,我有15元+欠别人10元,汇总结果=25,而不是 5

  CharToValue() 函数可计算单个单元格中可能含有的计算公式。若A1单元格有3×4+3,要求B1出结果,请在B1的输入框中填写=CharToValue(A1) 。并支持下拉自动应用公式。

  StrToSUM()函数可计算单元格区域中可能含有的计算公式。若想在H10中求A1:F10的汇总结果,请在H10的输入框中填写=StrToSUM(A1:F10) 。

  '以下是需要使用的代码,请按下ALT+F11启动VBA编辑器,插入一个模块,将以下代码粘贴其中,就可以应用了。

  Public Function CharToValue(myRange As Range) As Single
  '将单元格中可能存在的算式进行计算(仅限于四则运算和括号)
  On Error Resume Next

  Dim Str1 As String, Str2 As String, Str3 As String, Str4 As String
  Dim i As Integer

  Str1 = myRange.Text
  Str2 = "1234567890.+-*/ ()+-×÷()"

  '取出算式
  For i = 1 To Len(Str1)
  Str3 = Mid(Str1, i, 1)
  If InStr(1, Str2, Str3) > 0 Then
  Str4 = Str4 & Str3
  End If
  Next

  '替换算式中因为习惯可能存在的非法,以利计算
  Str4 = Replace(Str4, "+", "+")
  Str4 = Replace(Str4, "-", "-")
  Str4 = Replace(Str4, "×", "*")
  Str4 = Replace(Str4, "÷", "/")
  Str4 = Replace(Str4, "(", "(")
  Str4 = Replace(Str4, ")", ")")

  Str4 = Evaluate(Str4)
  If IsNumeric(Str4) = True Then
  CharToValue = Val(Str4)
  Else
  CharToValue = 0
  End If

  End Function
  Public Function StrToSUM(myRange As Range) As Single
  '将单元格区域中含有的算式汇总结果——区域中单元格必须连续
  '如:我有15元+欠别人10元,汇总结果=25,而不是 5
  Dim i As Long
  Dim SumSing As Single

  With myRange
  For i = 1 To .Cells.Count
  SumSing = SumSing + CharToValue(.Cells(i))
  Next
  End With

  StrToSUM = SumSing

  End Function
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
vicky4853
2011-10-08 · TA获得超过394个赞
知道答主
回答量:187
采纳率:0%
帮助的人:229万
展开全部
这个用红是做不了的 需要用到简单的VB 你需要做个计算器那种样子的东西 简单点来说 两个TextBox的输入框 一个显示结果的TextBox 你可以往里写数字 然后在加两个5个按钮 4个运算符 1个显示结果 如 你在TextBox1里输入3 TextBox2里输入5 然后在点乘法 最后点等于 TextBox3里就会显示出3*5的结果15
如果用简单的办法 那就用上面的同志的方法 在显示结果的单元格中 写上运算规则 但不是写具体数字 而是写单元格 比如 A1=3 A2=4 A3=3 那么规则就是=A1*A2+A3
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(5)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式