2017-12-28 29 views
-1

私は日常的に(古いデータを削除しながら)プレーンなデータでコピーするシートを持っています。コピーされたデータは、数式が列Fにある間、列A:Eに配置されます。列Fの数式は列Aのデータに基づいています。VBA:式を最新の行までドラッグします。

コピーされるデータの量は日々変化する私は、ある日にペーストする行の数に自動的に調整するVBA式が必要です。

提案がありますか?

おかげで、 ヴィクトル

答えて

0

は、ここで私は前にワークシート上で使用してきた一つです。あなたはA1に変更加える場合:E10(または任意の範囲あなたがそこに設定を)、それはあなたの数式をプルダウンます

Private Sub Worksheet_Change(ByVal Target As Range) 
    If Not Application.Intersect(Target, Me.Range("A1:E10")) Is Nothing Then 
     Range("F2").AutoFill Destination:=Me.Range("TableName[columnName]") 
    End If 
End Sub 

テーブルとしてそれをフォーマットし、列名を使用して、作成しようとするよりも簡単ですあなたは完全な範囲を持っていることを確認してください。あなたはまた、このようなことをすることができます。

Private Sub Worksheet_Change(ByVal Target As Range) 
    Set r = Range("F2:F" + CStr(Cells(Rows.Count, 1).End(xlUp).Row())) 

    If Not Application.Intersect(Target, Me.Range("A1:E10")) Is Nothing Then 
     Range("F2").AutoFill Destination:=r 
    End If 
End Sub 
関連する問題