• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:VBAで実行時エラー '1004'の解決方法)

VBAで実行時エラー '1004'の解決方法

このQ&Aのポイント
  • VBA初心者の方が、マクロを記録して文字列を置換しようとした際に発生するエラー '1004' の解決方法について教えてください。
  • マクロを単体で動かす分には問題なく動作するが、他のシートにおいてボタンに登録して一番最初に実行すると「実行時エラー '1004'」が出る状況に対する解決方法を教えてください。
  • インターネット上で調べても解決策が見つからないため、VBAのエキスパートの方にお尋ねします。マクロを他のシートのボタンに登録し、一番最初に実行すると「実行時エラー '1004'」が出る場合の解決方法を教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • hige_082
  • ベストアンサー率50% (379/747)
回答No.3

#2です #2の回答は間違いです、すいません 書式に関する引数は、EXCEL2002から追加されていました 私は、EXCEL2000を使用しているため#2でうまく行ったのですが お詫びに、ちょっと調べてみました 下記のように括弧をつけたら、うまく行く可能性があります 自分のところで、テストできないのであくまで可能性があるだけですが 試してみてください Sub Macro1() Columns("D:D").Select Selection.Replace(What:="エリア:", Replacement:="", LookAt:=xlPart, _ SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _ ReplaceFormat:=False) End Sub 括弧をつけてボタンに登録してみてください うまく行かない場合は、ボタンに登録したマクロを提示していただければ 解決しやすいと思います

udon0318
質問者

お礼

回答ありがとうございます。 >書式に関する引数は、EXCEL2002から追加されていました こちらは私も把握しておりました。 ご教授頂いたマクロで無事に動作しました。 書式の指定に関して、もう少し調べてみようと思います。 ありがとうございました。

その他の回答 (2)

  • hige_082
  • ベストアンサー率50% (379/747)
回答No.2

Sub Macro1() Columns("D:D").Replace What:="エリア:", Replacement:="", LookAt:=xlPart, _ SearchOrder:=xlByRows, MatchCase:=False End Sub に変更してみて

udon0318
質問者

お礼

回答ありがとうございます。 無事にマクロが動きました。 なぜ検索・置換に書式に関する引数を入れるとエラーが出るのでしょうか? 宜しければ教えて頂けないでしょうか。 宜しくお願いします。

  • DOUGLAS_
  • ベストアンサー率74% (397/534)
回答No.1

1)お使いのアプリケーションとバージョンは何でしょうか? 2)「単体で動かすと問題なく動作する」マクロは本当に上記の通りですか? 3) >ネットで色々調べましたが、解決方法が分かりません。  ネットで調べられたのでしたらご存じでしょうが、「実行時エラー '1004'」と一口に申してもいろいろとあると存じます。  そのエラーに続く アプリケーション定義またはオブジェクト定義のエラーです とか RangeクラスのSelectメソッドが失敗しました とか。。。どんなメッセージが出ているのでしょうか?

udon0318
質問者

お礼

回答ありがとうございます。 >1)お使いのアプリケーションとバージョンは何でしょうか? エクセル2003 SP3です。 >2)「単体で動かすと問題なく動作する」マクロは本当に上記の通りですか? はい、動作するソースからコピペしましたので間違いありません。 >ネットで調べられたのでしたらご存じでしょうが、「実行時エラー '1004'」と一口に申してもいろいろとあると存じます。 それが「実行時エラー '1004'」としか表示されなかったのです。 デバッグでどの箇所に問題があるのかは分かりましたが、解決方法が分かりませんでした。