如何将范围值更改为单元格值?

时间:2013-03-21 11:15:28

标签: excel excel-vba vba

我有一个功能:

=COUNTIF(Data!$V$6:$V$1029;Analyse_ALL!C7)

目前我需要手动输入“1029”(列中单元格值的最后一行)。 我创建了一个函数来计算最后一行,然后我将结果写入一个单元格。

如何将我的vba结果/单元格值带入我的函数?

提前致谢!

2 个答案:

答案 0 :(得分:0)

  1. 您可以让VBA为您编写完整的公式,而不仅仅是1029:

    Range("**Coordinates of the formula**").Formula = "=COUNTIF(Data!$V$6:$V$"& **originalVBAresult** & ";Analyse_ALL!C7)"

  2. 您可以在COUNTIF中拥有一个OFFSET,它链接到您编写1029的单元格:

    =COUNTIF(OFFSET(Data!$V$6;0;0;**Cell with 1029 in it**);Analyse_ALL!C7)

答案 1 :(得分:0)

你可以使用这样的东西

  1. 检测工作表Data
  2. 中第V列中最后使用的行
  3. 如果该行超过6,则将此公式添加到A1=COUNTIF(Data!$V$6:$VX;Analyse_ALL!C7)(其中X是步骤1的最后一行)
  4. <强>码

    Sub InsertFormula()
    Dim rng1 As Range
    Set rng1 = Sheets("Data").Cells(Rows.Count, "V").End(xlUp)
    If rng1.Row > 6 Then
    [a1].FormulaR1C1 = "=COUNTIF(Data!R6C22:R" & rng1.Row & "C22,Analyse_ALL!R7C3)"
    End If
    End Sub