在公式(例如match

时间:2018-12-23 21:22:20

标签: excel vba

我需要Excel来识别使用的第一行数据和使用的最后一行数据。

我想在数据旁边的单元格中写入一个匹配公式,并从同一行开始,并自动填充/复制直到最后一行。

例如,第一行是30,最后一行是50。

我的公式将在单元格B30中,并且将为= match(E30,$ H $ 30:$ H $ 50,0) 然后自动填充B30直到B50

Dim alr As Long  (lastrow)  
alr = Range("D50000").End(xlUp).Row


Dim ast As Long (firstrow)
ast = Range("D1").End(xlDown).Row + 2


Dim rng1 As String (austofill range)
rng1 = "B" & ast & ":" & "B" & alr

Range("B" & ast).Select
ActiveCell.FormulaR1C1 = "=MATCH(RC[3],RastC8:RalrC8,0)"
ActiveCell.Copy
Range(rng1).PasteSpecial

1 个答案:

答案 0 :(得分:1)

您需要将第一行和最后一行var连接到代表您的公式的字符串中。

Dim alr As Long,  ast As Long

alr = Range("D" & rows.count).End(xlUp).Row
ast = Range("D1").End(xlDown).Row + 2

range("B" & ast & ":B" & alr).FormulaR1C1 = _
     "=MATCH(RC[3], R" & ast & "C8:R" & alr & "C8, 0)"

您可以一次编写整个“自动填充”公式范围。