1. 首页 > 科技

excel表格用VBA自动求和代码 excel表格vba代码大全

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