写一个VBA按列区分,逐行相乘得到的结果写到最后一行
时间: 2024-02-09 19:10:16 浏览: 108
VBA筛选出最大的四行,然后每列求平均,最终得到一行(源代码)
可以参考下面的VBA代码实现:
```
Sub MultiplyByColumn()
Dim lastRow As Long
Dim lastCol As Long
Dim i As Long
Dim j As Long
Dim product As Double
'获取最后一行和最后一列
lastRow = Cells(Rows.Count, 1).End(xlUp).Row
lastCol = Cells(1, Columns.Count).End(xlToLeft).Column
'按列区分,逐行相乘
For j = 1 To lastCol
product = 1 '初始化乘积为1
For i = 1 To lastRow
product = product * Cells(i, j).Value '计算乘积
Next i
Cells(lastRow + 1, j).Value = product '将乘积写入最后一行
Next j
End Sub
```
这段代码中,我们首先获取了最后一行和最后一列的行号和列号,然后按列区分,逐行相乘,将结果写入最后一行。需要注意的是,这里的乘积定义为Double类型,以避免在计算过程中出现溢出的问题。
阅读全文