私はExcelテーブルを持っており、データの削除とExcelテーブルへのデータの挿入を自動化しようとしています。Excel VBAを使用してテーブルにデータを挿入する
私は同じテーブルにデータ(約11 000行)を挿入しようとすると、それは非常に遅く、私のExcelのクラッシュ、しかし私のテーブルから
Sub Macro2()
Application.ScreenUpdating = False
Sheets("Report").Select
ActiveSheet.ListObjects("Report").HeaderRowRange.Select
'Remove the filters if one exists.
If ActiveSheet.FilterMode Then
Selection.AutoFilter
End If
With Worksheets("Report").ListObjects("Engagement_report")
.DataBodyRange.Offset(1).Resize(.DataBodyRange.Rows.Count - 1, .DataBodyRange.Columns.Count).Rows.Delete
.DataBodyRange.Rows(1).SpecialCells(xlCellTypeConstants).ClearContents
End With
End Sub
を私のデータを削除するには、このVBAコードを使用しています。私は、リサイズ関数iがすべての行を削除するので、私は再びデータを挿入するとき、それは範囲とゆっくりとしているので、再実行されているかどうかはわかりません。
誰もがこれを助ける提案はありますか?
あなたの助けに感謝
あなたは 'DELETE'を使用する必要がありますか? 'ClearContents'を使って十分ではありませんか?最初から複数の「選択」を取り除くこともできます –
そのワークシートには他にどんなことがありますか?あなたが持っているものを別のシートに移動し、ListObjectを使用せずに専用のワークシートを11K行だけに保管してください。 – Variatus
こんにちは@Variatus、私はこの特定のシートの数式を持っており、私はこれらの数式を使って異なるビジネス条件と基準を評価しているので、このデータ全体を表の範囲に変換しました。 – Adam