excel表格用VBA自动求和代码 excel表格vba代码大全
在excel中怎样使用vba求和(要代码)?
vba中使用工作表函数sumproduct,只能接受以逗号分隔的参数形式,不支持乘法运算形式
其实,用到vba了,就可以尽量不用工作表函数,直接用vba的强大功能灵活处理
或者,用sheet2.cells(1,
1).formula
=
"=sumproduct(sheet1!c2:c30="
&
char(34)
&
"a"
&
char(34)
&")*sheet1!c2:c30)"
直接将公式填入单元格
如何用EXCEL的VBA脚本编写程序求和
按alt+f11进vba编辑,双击thisworkbook,贴上以下代码
Option Explicit
Sub color()
Dim isnum As Boolean
Dim c, r, i, j As Integer
i = 1
j = 1
' 循环选择的每一行。
For r = 1 To Selection.Rows.Count
' 循环选择的每一列。
For c = 2 To Selection.Columns.Count
If Selection.Cells(r, c).Text = Selection.Cells(r, c - 1).Text Then
i = i + 1
Else
Cells(Selection.Cells(r, c).Row, Selection.Columns.Count + j).Value = i
i = 1
j = j + 1
End If
' Selection.Cells(r, c).Interior.ColorIndex = ci
Next c
Cells(Selection.Cells(r, c).Row, Selection.Columns.Count + j).Value = i
i = 1
j = 1
Next r
End Sub
关闭vba后,选中数值范围,按Alt+f8执行宏
EXCEL高手请进,求VBA代码,关于求和的~
For i = 9 To [a65536].End(3).Row
Cells(i, 2).Value = WorksheetFunction.Sum(Range("a1").Resize(9, 1).Offset(i - 9, 0))
Next
帮忙用VBA写一个Excel求和程序
同意二楼。如果要自动判断行数,可用一楼的语句。“##”为A1单元格,“共计”为最后一列。
有提示框、有输入提示、自动求和的代码如下:
'(Win XP + EXCEL2007运行通过,本代码不设输入错误判断,如有需要可自行增加)
Function a(s) '字母转数字,此子宏由网友“镜湖骑士”编写,非常好用,本人一直在用
a = InputBox(s, "请输入") ' 出现输入对话框
If Len(a) = 1 Then
a = Asc(a)
If a > 90 Then
a = a - 96
Else
a = a - 64
End If
Else
a1 = Mid(a, 1, 1)
a1 = Asc(a1)
If a1 > 90 Then
a1 = a1 - 96
Else
a1 = a1 - 64
End If
a = Mid(a, 2, 1)
a = Asc(a)
If a > 90 Then
a = a1 * 26 + a - 96
Else
a = a1 * 26 + a - 64
End If
End If
End Function
Sub 求和()
Application.Calculation = xlCalculationManual '设置工作簿手动计算
nLR = ActiveSheet.Cells.SpecialCells(xlLastCell).Row '最后一行
nLC = ActiveSheet.Cells.SpecialCells(xlLastCell).Column '最后一列
x = Int(InputBox("请输入数据的起始行号。" & vbCrLf & "如从第1行开始,就输入1 。", "请输入起始行号:", 2)) '出现输入对话框
y = Int(InputBox("请输入数据的结束行号。" & vbCrLf & "如从第10行结束,就输入10 。", "请输入结束行号:", 10)) '出现输入对话框
y1 = a("请输入需要计算数据的开始列号,如 C 列,就填 C 。")
y2 = a("请输入需要计算数据的结束列号,如 G 列,就填 G 。")
For i = x To y
Cells(i, nLC) = 0
For j = y1 To y2
Cells(i, nLC) = Cells(i, nLC) + Cells(i, j)
Next
Next
Application.Calculation = xlCalculationAutomatic '工作簿自动计算
End Sub