如何用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加减乘除运算?视频
相关评论:
扈政菊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(选择你要求和区域,你要乘以的单元格)
扈政菊1、打开一个表,选中序列,点击工具-宏,开始录制。2、录制完成后按alt+f11 切换到代码编辑窗口,设置变量i为长整形,并且设置一个for循环,循环次数比要添加的工资条标签大,在end sub之前加next。3、按alt+f11切换到excel界面,再录制一个删除标题的宏,修改代码,添加for循环按alt+f8调出宏窗口。4...
扈政菊例:把下面的表格单元格数字后全部添加一个“元”字 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....
扈政菊累加是求和的意思吗?如果是,直接引用工作函数即可 sub test ()range("C1")=application.sum(columns(1))end sub 这样就求得了A整列的和
扈政菊利用Excel制作电子表格时,有时需要用到计算填充功能,比如某列每种元件的价格合计,就是由E列元件单价乘以D列元件数量得来的。通过分析,发现利用Excel提供的VBA(VisualBasicforApplication)功能,写几行Basic代码即可方便地达到自动填充F列数据的目的,且计算结果为纯数据值,可以自由进行处理。具体实现步骤...
扈政菊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...
扈政菊凡是需要实现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) ...
扈政菊2011-11-12 VBA实现寻找一列里相同数据 3 2016-01-09 excel如何用VBA实现一列满足多个条件的循环计数程序?比... 1 2013-01-14 用vba在Eexcel中实现对选中的单元格里的数字累加,再乘... 1 2014-09-17 excel中怎样用VBA把一列数据中与某个单元格对应的数调出...更多...
扈政菊尝试运行后,我们发现一个额外的需求:在跳转到其他工作表后,如何快速返回"My 目录"? 这很容易实现,只需在循环中添加一个指向"My 目录"的返回超链接。以上就是制作工作表目录的基本VBA代码示例。如果你对Excel VBA编程感兴趣,强烈推荐你尝试使用《神奇的VBA》插件,这是一个为职场人士精心设计的工具...
扈政菊在工作表标签单击右键 点选"查看代码"粘贴下面的代码 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...