vba AH列-P列,每行的结果存放在AI列,最后把AI列大于0的数据相加放在最后
时间: 2024-05-03 19:18:12 浏览: 72
可以使用以下VBA代码实现:
```
Sub SumValues()
Dim lastRow As Long
Dim i As Long
Dim sum As Double
lastRow = Range("A" & Rows.Count).End(xlUp).Row '获取最后一行行号
For i = 1 To lastRow '遍历每一行
Range("AI" & i).Value = Application.Sum(Range("AH" & i & ":P" & i)) '计算每行结果并存储到AI列
If Range("AI" & i).Value > 0 Then '如果AI列大于0,则累加到sum变量中
sum = sum + Range("AI" & i).Value
End If
Next i
Range("AI" & lastRow + 1).Value = sum '将大于0的结果相加并放在最后一行的AI列
End Sub
```
请注意,此代码基于数据从第1行开始,并将结果存储在AI列中。如果你的数据不是从第1行开始或结果应存储在其他列中,请相应地修改代码。
相关问题
vba AH列-P列,每行的结果存放在AI列
假设数据从第一行开始,可以使用以下代码:
```
Sub calculate_AI_column()
Dim last_row As Long
last_row = Cells(Rows.Count, "A").End(xlUp).Row '获取最后一行
Dim i As Long
For i = 1 To last_row
Dim total As Long
total = 0
Dim j As Long
For j = 34 To 41 '计算 AH 到 P 列的和
total = total + Cells(i, j).Value
Next j
Cells(i, "AI").Value = total '将结果赋值给 AI 列
Next i
End Sub
```
这个宏将对选定的工作表进行操作。要运行它,请按下 Alt + F8 打开宏窗口,然后选择此宏并单击“运行”。
vba AH列-P列,结果存放在AI列
可以使用VBA代码实现将AH列到P列的结果存放在AI列中。代码如下:
```vb
Sub CopyColumns()
Dim lastRow As Long
lastRow = Cells(Rows.Count, "AH").End(xlUp).Row '获取数据最后一行的行号
Range("AI2:AI" & lastRow).Formula = "=AH2&P2" '将结果存放在AI列中
End Sub
```
将此代码复制到VBA编辑器中,然后运行即可。注意,数据从第2行开始,因为第1行很可能是标题行。如果需要,可以根据实际需求进行修改。
阅读全文