2013-09-24 2 views
2

세포 C2를 0으로 편집 한 매크로를 작성한 다음 해당 열에서 1을 뺀 마지막 행 (j가있는 행)까지 자동 채우기하려고합니다. 코드는 3 세트의 레코드에서 작동하지만 더 많은 데이터 세트가있는 경우 마지막 행에 자동 완성되지 않습니다. 예를 들어 4 개의 레코드가있는 경우 3 번째 행만 자동 완성되며 4 번째 행은 이전 값을 계속 갖습니다. 레코드 수가 변경되면 마지막 행까지 채우게하려면 어떻게해야합니까?열의 마지막 행에 자동 채우기

데이터 :

ID | NAME | CODE 
1 | JON | 200 
2 | ANNA | 300 
3 | TIM | 400 
jjj | jjjjjj | jjjjj 

코드 :

Dim codeCol as Long 

range("C2").Select 
ActiveCell.FormulaR1C1 = "0" 
codeCol = Cells(1, Columns.Count).End(xlToLeft).Column 
Selection.AutoFill Destination:=range("C2:H" & codeCol - 6), Type:=xlFillDefault 

출력 :

ID | NAME | CODE 
1 | JON | 0 
2 | ANNA | 0 
3 | TIM | 0 
jjj | jjjjjj | jjjjj 

답변

4

을 테스트이

시도
Sub test() 
With ActiveSheet 
' range("A" & rows.count).end(xlup).row) - tells the position of last used row in A column 

.Range("C2:C" & .Range("A" & Rows.Count).End(xlUp).Row).FormulaR1C1 = "0" 
End With 
End Sub 

필요에 따라 코드 변경

+0

'Range ("A500000")'을 (를) 변경하려면 어떻게해야합니까? – user2273278

+0

내 업데이트 된 코드보기 .. 위의 코드와 그 작업을 잘 테스트했습니다 .. –

+0

Excel을 사용하는 경우 범위 ("A65536")로 변경하거나 Excel 2007 이상을 사용하여 범위 ("A1048576")를 사용하는 경우 –

관련 문제