VBA行削除時のエラー1004について

画像

Visual Basic | Excel30閲覧xmlns="http://www.w3.org/2000/svg">50

ベストアンサー

0

ThanksImg質問者からのお礼コメント

お二方とも大変有益な情報を書いていただき、どちらもすぐに組み込めるコード例で本当に助かりました。 迷いましたが、早かったのと、返信後フォローをいただきましたfro********さんをベストアンサーにさせていただきました。

お礼日時:1/27 11:49

その他の回答(1件)

0

テーブル設定がされてますね。 普通のアプローチでは、上手く行かないのかも。。ましてや 行削除とは。。。 テーブルのデータ部分の認識には、DataBodyRangeを使います。 ActiveなシートのA1を含むテーブルのデータ部分をSheet2のA1へコピーする方法は↓が一例。 Sub sample() ActiveSheet.Range("A1").ListObject.DataBodyRange.Copy _ Worksheets("Sheet2").Range("A1") End Sub

質問文にありますように、テーブル設定がされている場合とされていない場合とがあり、まずテーブル設定を解除してから通常の範囲と同じ処理(行削除)を行いたかったのが本来の目的ですが、 今見ますと自分の質問文のコードもテーブルが解除できませんね……。 それはさておき、テーブルが設定されているテストデータで、提示していただいたデータ部分のコピーのコードでうまく動きました! ありがとうございます。 上述のようにテーブルが設定されている場合をif文で見分けてから使用するか、本来のテーブルを範囲変換するコードを模索するかします。 お二方ともありがとうございました。