0

単純な質問ですが、これを知らない私はばかだと思います。何が起こったのかというと、いくつかのワード ドキュメントからいくつかのデータをインポートしたため、すべてのシートに不要なデータが残りました。各シートの上部の 3 行を自動的に削除したいと考えています (通常は気にしませんが、100 枚以上のシートの場合は少し面倒です)。

これが私がこれまでに試したことです:

Sub delete_rows()

Dim delRange As Range
Dim wkSheet As Worksheet

For Each wkSheet In ThisWorkbook

   Set delRange = Rows("1:3")
   delRange.Delete
Next wkSheet

End Sub

このエラーが返されます:

「実行時エラー '438':

オブジェクトはこのプロパティまたはメソッドをサポートしていません」

for ループの開始時にエラーが発生します。

助けてもらえる可能性はありますか?

ありがとう!

4

1 に答える 1

3

変数の代わりに Worksheet タイプを使用しています。For Eachまた、ループで Worksheets コレクションを参照していません。

For Each wkSheet in ThisWorkbook.Worksheets
    '...
Next wkSheet

また、3 行だけ削除する場合は、変数を使用する必要はありません。直接行うことができます:

Rows("1:3").Delete
于 2013-09-07T21:13:28.460 に答える