首页 > 解决方案 > Excel宏上的元素相乘

问题描述

晚安,在你的帮助下,我可以设法将右列上的一些元素与左列上的一些其他元素相乘,但左边的元素被空白单元格分隔。如果没有空格怎么办?

没有空间的表

我该如何做循环中的条件?之前的代码(带空格)是这样的:(谢谢)

Sub test()

Dim x As Integer
Dim y As Integer

Range("A1").Select
x = 1
y = 1

Do Until IsEmpty(ActiveCell) And IsEmpty(ActiveCell.Offset(1, 0))
        If IsEmpty(Cells(x, "A")) = True Then
            y = x + 1
        End If

        If IsEmpty(Cells(x, "A")) = False Then
            Cells(x, "E").Value = Cells(x, "A").Value * Cells(y, "D").Value
        End If

        x = x + 1

      ActiveCell.Offset(1, 0).Select
 Loop
End Sub

这是我想要达到的结果:(因此,D 列上的第一个数字将乘以左侧的每个数字,直到 D 列上的数字发生变化,依此类推直到最后)

结果

标签: excelvba

解决方案


仅供参考,这可以通过以下公式完成E1

=A1*LOOKUP(2,1/(D$1:D1<>""),D$1:D1)

推荐阅读