2014-08-28 53 views
-1

我想复制我的公式到行的末尾 - 但我的语法似乎是关闭的。填充公式到结束的人口范围

Columns("D:D").Select 
    Selection.Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove 
    Range("D3").Select 
    ActiveCell.FormulaR1C1 = _ 
     "=IF(RC[1]=""low"",""1"",""0"")&IF(RC[2]=""LOW"",""1"",""0"")&IF(RC[3]=""Negative"",""1"",""0"")" 
    Range("D2").Select 
    ActiveCell.FormulaR1C1 = "Helper Column" 
    Range("D3").Select 
    **Selection.AutoFill Destination:=Selection.End(xlDown)** 
+0

和是谁坐在你的脑袋里的魔术师,并确切地知道您的电子表格的外观喜欢和你期待什么作为最终结果... – 2014-08-28 14:00:14

回答

1

您需要查找列的最后一行,然后一次输入公式。例如(未经测试)

Sub Sample() 
    Dim ws As Worksheet 
    Dim lRow As Long 
    Dim sFormula As String 

    '~~> Change this to the relevant worksheet 
    Set ws = ThisWorkbook.Sheets("Sheet1") 

    '~~> Change this to the relevant formula 
    sFormula = "=Sum(A1:C1)" 

    With ws 
     '~~> Find Last Row of Col D 
     lRow = .Range("A" & .Rows.Count).End(xlUp).Row 

     '~~> Enter the formula 
     .Range("D3:D" & lRow).Formula = sFormula 
    End With 
End Sub 

注意:如果上校B有它定义了你的最后一行的数据,那么改变.Range("A" & .Rows.Count).End(xlUp).Row.Range("B" & .Rows.Count).End(xlUp).Row

+0

太好了,我会测试这种方法。基本上确定列中最后一个已填充的行并将其分配给一个变量,然后利用该变量来定义范围... – 2014-08-28 15:11:45