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

1 に答える 1

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

必要に応じてコードを変更します

于 2013-09-24T03:17:27.960 に答える