2014-08-28 6 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

을 변경했다 당신의 머리 속에 앉아 마술사와 알고 정확히 스프레드 시트의 모양을 당신이 최종 결과로서 기대하는 것과 같은 것 ... –

답변

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

위대한, 나는이 접근법을 테스트 할 것입니다. 근본적으로 열의 마지막 채워진 행을 식별하여 변수에 할당 한 다음 해당 변수를 사용하여 범위를 정의합니다. –