使用VBA乘以Excel表格的列

时间:2018-09-11 05:05:11

标签: excel vba excel-vba

我正在尝试将表的两列中的值相乘,并在另一列中显示它。

由于必须对多个列重复此过程,因此我应该如何使用列标题引用列?任何帮助,将不胜感激。

逻辑如下:

ListColumns(x) = ListColumns(x - 1) * ListColumns(x - 3)

这在x值更改的循环内。

1 个答案:

答案 0 :(得分:1)

有多种实现目标的方法。

第一:假设x = 4,因此您想将A和C列相乘并将结果存储在D列中。只需将公式= A1 * C1放在D1中,并将其一直向下拖动即可。

2nd:使用VBA,更为通用:

Sub MultiplyCoulmns()
    Dim resultColumn As Long 'this is x
    resultColumn = 4 'just for example, change it to whatever you need
    'alternatively, specify column header
    Dim header As String
    header = "SomeColumn"
    resultColumn = Application.WorksheetFunction.Match(header, Range("A1:Z1"), 0)
    Dim i As Long, lastRow As Long
    lastRow = Cells(Rows.Count, resultColumn).End(xlUp).Row

    For i = 1 To lastRow
        Cells(i, resultColumn) = Cells(i, resultColumn - 1) * Cells(i, resultColumn - 3)
    Next
End Sub