|
■No97094 (工場プログラマー さん) に返信 > If Range("A" & i).MergeArea.Item(1) = "hogehoge" then
単に Range("A1") だけで済ませると、曖昧さが出てしまいます。 どのシートの Range を操作しているのかを明確にしましょう。Cells 等も同様です。
たとえば If ThisWorkbook.Worksheets("Sheet1").Range("A" & i).MergeArea(1).Value = "hogehoge" Then などのようにします。
Range("A1") というコードをシートモジュール上に書いた場合には、 Me.Range("A1") の意味となり、そのシート上のセルであることが明確になるのですが、 ThisWorkbook モジュールや標準モジュール上に記述していた場合には、 どのシートを操作しているのかが曖昧になります。
> Rangeメソッドのエラーと出ました。 > 指定セルでやるとうまくいくんですけど、解決策ってありますか?
手元の環境ではエラーを再現させられなかったので、 エラー発生時の i の値と、該当セルを含む結合セルのアドレスを教えてください。
また、正確なメッセージの内容は、 実行時エラー '1004'「'Range' メソッドは失敗しました: '_Global' オブジェクト」 でしょうか。あるいは 実行時エラー '1004'「'Range' メソッドは失敗しました: '_Worksheet' オブジェクト」 でしょうか。あるいは 実行時エラー '1004'「Range クラスの MergeArea メソッドが失敗しました。」 でしょうか。それとも…。
|