2014-08-28 1 views
-1

Je veux copier ma formule jusqu'à la fin de la ligne, mais ma syntaxe semble être désactivée.Formule de remplissage à la fin de la plage peuplée

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

et étaient des magiciens qui sont assis dans votre tête et de savoir exactement ce que votre apparence de la feuille de calcul comme et ce que vous attendez comme résultat final ... –

Répondre

1

Vous devez trouver la dernière ligne de la colonne, puis entrer les formules en une fois. Par exemple (non testé)

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 

Remarque: Si Col B a les données qui définit votre dernière ligne puis changer .Range("A" & .Rows.Count).End(xlUp).Row à .Range("B" & .Rows.Count).End(xlUp).Row

+0

Super, je vais tester cette approche. Essentiellement identifier la dernière ligne peuplée dans la colonne et l'assigner à une variable, puis utiliser cette variable pour définir la plage ... –

Questions connexes