如何用VBA实现Excel加减乘除运算?

来自:    更新日期:早些时候
~

要在Excel中使用VBA进行自动加减乘除运算,您可以使用以下代码示例:

Sub AutoMathOperations()

Dim ws As Worksheet

Dim lastRow As Long

' 设置要进行运算的工作表

Set ws = ActiveSheet

' 获取最后有数据的行号

lastRow = ws.Cells(ws.Rows.Count, 1).End(xlUp).Row

' 定义运算符和操作数的列号

Dim operatorCol As Integer

Dim operand1Col As Integer

Dim operand2Col As Integer

Dim resultCol As Integer

operatorCol = 1 ' 运算符所在列号,假设为第1列

operand1Col = 2 ' 第一个操作数所在列号,假设为第2列

operand2Col = 3 ' 第二个操作数所在列号,假设为第3列

resultCol = 4 ' 运算结果所在列号,假设为第4列

' 从第2行开始循环至最后一行

For i = 2 To lastRow

' 获取运算符、操作数和结果的值

Dim operatorVal As String

Dim operand1Val As Double

Dim operand2Val As Double

Dim resultVal As Double

operatorVal = ws.Cells(i, operatorCol).Value

operand1Val = ws.Cells(i, operand1Col).Value

operand2Val = ws.Cells(i, operand2Col).Value

' 执行相应的运算并将结果存储在结果列中

Select Case operatorVal

Case "+"

resultVal = operand1Val + operand2Val

Case "-"

resultVal = operand1Val - operand2Val

Case "*"

resultVal = operand1Val * operand2Val

Case "/"

resultVal = operand1Val / operand2Val

End Select

' 将结果写入结果列

ws.Cells(i, resultCol).Value = resultVal

Next i

End Sub

要使用这段代码,您需要按照以下步骤进行操作:

  • 打开Excel,并按下Alt+F11键,打开VBA编辑器。

  • 在左侧的项目资源管理器中,双击要运行代码的工作簿,以展开其目录。

  • 右键单击"Microsoft Excel Objects"文件夹,选择"插入"->"模块",在项目资源管理器中会出现一个新的模块。

  • 在右侧的代码窗口中,将上述代码复制粘贴到新模块中。

  • 修改代码中的运算符和列号,以适应您的实际情况。例如,如果运算符所在列为C列,第一个操作数所在列为D列,第二个操作数所在列为E列,则将operatorCol = 3, operand1Col = 4, operand2Col = 5。

  • 保存并关闭VBA编辑器。

  • 在Excel中,选择要进行运算的工作表。

  • 按下Alt+F8键,打开宏对话框。

  • 选择"AutoMathOperations"宏,并点击"运行"按钮。

  • VBA代码将批量执行相应的加减乘除运算,并将结果存储在结果列中。

  • 请注意,此VBA代码假设运算符为文本形式(例如“+”,“-”,“*”,“/”),操作数为数值形式。如果运算符或操作数列包含其他类型的数据,请相应地修改代码以适应您的数据。



你这个太笼统了
要带实际行列号的截图
假设A列+b列,求和,结果在c列
Sub 求和()
Dim I

For I = 1 To Range("A65536").End(xlUp).Row

Cells(I, "c") = Cells(1, "a") + Cells(I, "b")'求和,减法,就修改为 -,乘法,修改为 *

Next
End Sub


如何用VBA实现Excel加减乘除运算?视频

相关评论:
  • 17321267420用vba在Eexcel中实现对选中的单元格里的数字累加,再乘以另一个选中的...
    扈政菊Function SM(v1 As Variant, v2 As Variant)Dim v For Each v In v1 SM = SM + v Next v SM = SM * v2 End Function 复制代码到模块,然后点击任意单元格输入 =sm(选择你要求和区域,你要乘以的单元格)

  • 17321267420excel 用vba 宏中 用一个for循环 将 一列满足条件的后面加上 需要的数...
    扈政菊1、打开一个表,选中序列,点击工具-宏,开始录制。2、录制完成后按alt+f11 切换到代码编辑窗口,设置变量i为长整形,并且设置一个for循环,循环次数比要添加的工资条标签大,在end sub之前加next。3、按alt+f11切换到excel界面,再录制一个删除标题的宏,修改代码,添加for循环按alt+f8调出宏窗口。4...

  • 17321267420如何用VBA实现对多个excel文件指定单元格部分文字添加下划线?_百度知...
    扈政菊例:把下面的表格单元格数字后全部添加一个“元”字 VBA代码 Sub 批量添加指定字符()Dim X As Range, T As String Set myRange = Application.InputBox(prompt:="选择要在后面添加指定内容的区域", Type:=8)T = InputBox("请输入要批量添加的字符")For Each X In myRange X.Value = X....

  • 17321267420如何用VBA代码实现在excel里同一列数据的累加
    扈政菊累加是求和的意思吗?如果是,直接引用工作函数即可 sub test ()range("C1")=application.sum(columns(1))end sub 这样就求得了A整列的和

  • 17321267420利用VBA实现Excel表格计算
    扈政菊利用Excel制作电子表格时,有时需要用到计算填充功能,比如某列每种元件的价格合计,就是由E列元件单价乘以D列元件数量得来的。通过分析,发现利用Excel提供的VBA(VisualBasicforApplication)功能,写几行Basic代码即可方便地达到自动填充F列数据的目的,且计算结果为纯数据值,可以自由进行处理。具体实现步骤...

  • 17321267420EXCEl表格中.如何用VBA来做到三列相加:Excel中,我想在 H列实现 把 B...
    扈政菊Public rOldSelect As Range Private Sub Worksheet_Activate()Set rOldSelect = Range("A1")End Sub Private Sub Worksheet_Change(ByVal Target As Range)Set rC = Target If rC.Row > 2 And rC.Row < 60001 And _(rC.Column = 2 Or rC.Column = 3 Or rC.Column = 4) Then myCalcu...

  • 17321267420excel中如何用VBA提取单元格中的数字并且相加?
    扈政菊凡是需要实现Countifs或者Sumifs的功能,用字典做再合适不过了 Sub Test()On Error Resume NextDim Dic As Object, Stri As String, i As IntegerSet Dic = CreateObject("Scripting.Dictionary")For i = 1 To Cells(Rows.Count, 1).End(3).Row If Cells(i, 1) = "" And Cells(i, 3) ...

  • 17321267420如何用VBA代码实现在excel里同一列数据的累加
    扈政菊2011-11-12 VBA实现寻找一列里相同数据 3 2016-01-09 excel如何用VBA实现一列满足多个条件的循环计数程序?比... 1 2013-01-14 用vba在Eexcel中实现对选中的单元格里的数字累加,再乘... 1 2014-09-17 excel中怎样用VBA把一列数据中与某个单元格对应的数调出...更多...

  • 17321267420神奇的Excel VBA系列之:制作工作表目录
    扈政菊尝试运行后,我们发现一个额外的需求:在跳转到其他工作表后,如何快速返回"My 目录"? 这很容易实现,只需在循环中添加一个指向"My 目录"的返回超链接。以上就是制作工作表目录的基本VBA代码示例。如果你对Excel VBA编程感兴趣,强烈推荐你尝试使用《神奇的VBA》插件,这是一个为职场人士精心设计的工具...

  • 17321267420如何用VBA给EXCEL插批注,当我单元格输入1时,批注是一个值,输入2时是另...
    扈政菊在工作表标签单击右键 点选"查看代码"粘贴下面的代码 Private Sub Worksheet_Change(ByVal Target As Range)If Target.Comment Is Nothing Then If Target.Value = 1 Then Target.AddComment "A"Else Target.AddComment "B"End If Else If Target.Value = 1 Then Target.Comment.Text "A"Else Ta...

  • 相关主题精彩

    版权声明:本网站为非赢利性站点,内容来自于网络投稿和网络,若有相关事宜,请联系管理员

    Copyright © 喜物网