将列作为VBA中activecell.formula函数中的数字引用

时间:2017-04-27 12:14:38

标签: excel vba excel-vba excel-formula excel-2010

我正在尝试使用VBA计算总和产品。代码为

 Sub test()

  Dim i As Long
  Dim text As String

    For i = 1 To 32767
         text = text & "a"
    Next

    text = text & "end"
    Range("A1").Value = text
    '"end" will be lost

  End Sub

程序中有一个变量,每次都会更改列数。 我尝试定义专栏" QF"作为一个数字,但这显示错误。 如何在我的代码中将列定义为数字? 我试过以下代码。

Sub Result()
    ActiveCell.Formula = "=SUMPRODUCT(B4:QF4,B5004:QF5004)"
End Sub

1 个答案:

答案 0 :(得分:0)

这个怎么样:

Sub Result()
    ActiveCell.Formula = "=SUMPRODUCT(B4:" & Left(Cells(1, FinalR - j).EntireColumn.Address(False, False), InStr(Cells(1, FinalR - j).EntireColumn.Address(False, False), ":") - 1) & "4,B5004:" & Left(Cells(1, FinalR - j).EntireColumn.Address(False, False), InStr(Cells(1, FinalR - j).EntireColumn.Address(False, False), ":") - 1) & "5004)"
End Sub

我假设FinalR - j为您提供了列号?