[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『マクロ:別のシートで実行するとWorksheetエラーが出る。』(スマトラ)
すみません、いつもお世話になっております。
下記コードは、Worksheet名「TP」で複数のセル範囲のデータをクリアするものです。
コード自体は、TPシートを表示した状態では問題なく動作します。
問題は、他のシートを開いた状態で下記コードを実行すると
実行時エラー1004
Rangeメソッドは失敗しました。Worksheetオブジェクト
となります。
皆さま、アドバイスのほどよろしくおねがいします。
Sub TPデータエリアクリア()
Dim i As Long, sh1 As Worksheet Set sh1 = Worksheets("TP") For i = 1 To 265 Step 37 With sh1 Union(.Range(Cells(3, 1 + i), Cells(59, 36 + i)), .Range(Cells(61, 1 + i), Cells(119, 36 + i)), _ .Range(Cells(121, 1 + i), Cells(179, 36 + i)), .Range(Cells(181, 1 + i), Cells(240, 36 + i))).Value = "" End With i = i + 1 Next i End Sub
< 使用 Excel:Excel2010、使用 OS:Windows7 >
そのコード標準モジュールに書いてるとおもうんですが、cellsプロパティの前に「.」つけ忘れてるので、
Worksheets("TP").Range(ActiveSheet.Cells(3, 1 + i),ActiveSheet.Cells(59, 36 + i))〜
って解釈されて、辻褄があってないってExcel君からの指摘を受けてますね。
「Cells」それぞれを「.Cells」に修正すればよいとおもいます。
(もこな2) 2018/05/09(水) 03:11
おはようございます。
すごい早起きですね。
「.」見落としていました!!
確かに問題なく動いています。
ありがとうございます。(^o^)解決です。
(スマトラ) 2018/05/09(水) 08:58
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.