dポイントプレゼントキャンペーン実施中!

VBA初心者です。
文字列を置換しようと思い、マクロを記録したところ下記ソースになりました。

Sub Macro1()
Columns("D:D").Select
Selection.Replace What:="エリア:", Replacement:="", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
End Sub

このマクロを単体で動かすと問題なく動作するのですが、他シートにおいてあるボタンに登録して一番最初に実行すると「実行時エラー '1004'」が出てしまいます。
ネットで色々調べましたが、解決方法が分かりません。
宜しくお願い致します。

A 回答 (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

括弧をつけてボタンに登録してみてください
うまく行かない場合は、ボタンに登録したマクロを提示していただければ
解決しやすいと思います
    • good
    • 0
この回答へのお礼

回答ありがとうございます。

>書式に関する引数は、EXCEL2002から追加されていました
こちらは私も把握しておりました。

ご教授頂いたマクロで無事に動作しました。
書式の指定に関して、もう少し調べてみようと思います。
ありがとうございました。

お礼日時:2009/04/07 20:02

Sub Macro1()


Columns("D:D").Replace What:="エリア:", Replacement:="", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False
End Sub

に変更してみて
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
無事にマクロが動きました。

なぜ検索・置換に書式に関する引数を入れるとエラーが出るのでしょうか?
宜しければ教えて頂けないでしょうか。

宜しくお願いします。

お礼日時:2009/04/06 11:47

1)お使いのアプリケーションとバージョンは何でしょうか?


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

回答ありがとうございます。

>1)お使いのアプリケーションとバージョンは何でしょうか?
エクセル2003 SP3です。

>2)「単体で動かすと問題なく動作する」マクロは本当に上記の通りですか?
はい、動作するソースからコピペしましたので間違いありません。

>ネットで調べられたのでしたらご存じでしょうが、「実行時エラー '1004'」と一口に申してもいろいろとあると存じます。
それが「実行時エラー '1004'」としか表示されなかったのです。
デバッグでどの箇所に問題があるのかは分かりましたが、解決方法が分かりませんでした。

お礼日時:2009/04/06 11:36

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!