次の動作をするExcel(エクセル)2007のVBA(マクロ)コードを教えてほしいです。1行目(のセル)に「置換」というデータが含まれている列のみを対象に、2行目のデータをテキストファイル名(.txt)にして、3行目以降のデータをテキストファイルの中身にするコードです。(エクセル表のデータを、条件にしたがって、テキストファイルとして出力するVBAコードです。)※長くなってしまったので、具体的な「続き」を、このページ下部の「この質問・回答へコメントを書く」欄に書かせていただきます。17:08:00300pt前回の逆の処理だと解釈しましたが、よろしいでしょうか。SubMookさんこんなに速いご回答、ほんとうにありがたいです。色んなパターンで試させていただきました。3行目以降にデータがない場合は使わない予定なので、そこはエラーになっても問題ありません。今回も完璧とも言えるコードだと思いました。>コマンドボタン実行(CommandButton1_Click)で、>メッセージボックスが「最新の置換データ(予備データ)を作成しますか?」と表示するようにします。>(※そもそもエクセルの1行目に、「置換」というデータが含まれている列が存在しないときは、>メッセージボックスで「作成できる置換データがありません!」と表示したいです。)上記の、>(※そもそもエクセルの1行目に、「置換」というデータが含まれている列が存在しないときは、>メッセージボックスで「作成できる置換データがありません!」と表示したいです。)この部分が抜けていたぐらいでしょうか、欲を言えば。ここでベストアンサー300pt前回の逆の処理だと解釈しましたが、よろしいでしょうか。SubMookさんこんなに速いご回答、ほんとうにありがたいです。色んなパターンで試させていただきました。3行目以降にデータがない場合は使わない予定なので、そこはエラーになっても問題ありません。今回も完璧とも言えるコードだと思いました。>コマンドボタン実行(CommandButton1_Click)で、>メッセージボックスが「最新の置換データ(予備データ)を作成しますか?」と表示するようにします。>(※そもそもエクセルの1行目に、「置換」というデータが含まれている列が存在しないときは、>メッセージボックスで「作成できる置換データがありません!」と表示したいです。)上記の、>(※そもそもエクセルの1行目に、「置換」というデータが含まれている列が存在しないときは、>メッセージボックスで「作成できる置換データがありません!」と表示したいです。)この部分が抜けていたぐらいでしょうか、欲を言えば。←ここ削除windofjulyさんお答えしていただき、ありがとうございます。試させていただきました。エラーなく動いてくれるコード、とても助かります。私が書かなかった、テキストファイル名だけで、中身が空の場合のテキストファイル作成についても対応していただき、ありがとうございます。明らかに私の質問の仕方が悪かったのですが、どの列にも対応したコードだったらまさに完璧だったと思います。15:33:50(↓続きです)※上から下へとそのまま順に読み進めていただきたいです。具体的には例えばX1:X2:(動物1)X3:いぬX4:ねこX5:ねずみX6:うさぎX7:へびY1:置換1Y2:(動物2)Y3:犬Y4:猫Y5:鼠Y6:兎Y7:蛇Z1:置換2Z2:(かわいい)Z3:かわいいZ4:可愛いZ5:カワイイZ6:とてもかわいいZ7:とても可愛い↑のように、1つのシート(Sheet1)においてデータがあるとき、1コマンドボタン実行(CommandButton1_Click)で、メッセージボックスが「最新の置換データ(予備データ)を作成しますか?」と表示するようにします。(※そもそもエクセルの1行目に、「置換」というデータが含まれている列が存在しないときは、メッセージボックスで「作成できる置換データがありません!」と表示したいです。↓↓↓まず、このエクセルと同じディレクトリ(階層)に「最新の置換データ(予備データ)」という名前のフォルダを作成します。(もちろん、この時点ではまだ中身は空です。)-----------------------------------------------------------------------------※【補足】もし、すでに「最新の置換データ(予備データ)」フォルダが存在する場合は、まずその(すでに存在している)「最新の置換データ(予備データ)」フォルダのみを(フォルダごと)削除します。(フォルダ名が「最新の置換データ(予備データ)」と「完全に一致するフォルダだけを削除」します。フォルダ名が「最新の置換データ」の場合は削除しません。)その後に、新しく「最新の置換データ(予備データ)」フォルダ(空)を作成します。-----------------------------------------------------------------------------2エクセル表(Sheet1)の1行目に「置換」というデータが含まれている(部分的に一致している)列の、2行目のデータを「テキストファイル名」とし、3行目以降のデータを「ファイルの中身」とするテキストファイル(.txt)を作成します。(※「最新の置換データ(予備データ)」フォルダの中に、テキストファイルが作成されるようにします。以下のテキストファイル(.txt)が作成されることになります。←(※ここまで改行するという意味です。←(※ここまで改行するという意味です。)-------------------------------------------------------------------------------------------------------------※【補足】テキストファイル作成が完了したときは、メッセージボックスが「最新の置換データ作成が完了しました!」と表示するようにしたいです。「1回だけ」メッセージボックスが「最新の置換データ作成が完了しました!」と表示するようにしたいです。---------------------------------------------------------------------------------------------ここまでの条件を満たすエクセルVBA(マクロ)のコードを知りたいです。分かる方(できる方)いましたら、どうかよろしくお願いします。すると、伝わっていない部分など多々あるかもしれません。分かりにくい点・疑問な点は、このコメント欄に書いていただけるととても助かります。windofjulyさんご回答していただき、ありがとうございました。今回はいろいろ考えた結果、シート名が変わっても、どの列を対象にするにしてもコードを極力手直しすることなく使えるMookさんのコードをベストアンサーとさせていただきました。windofjulyさんは、テキストファイル作成時極力エラーにならないように考慮してくださったので、Mookさんよりpt(回答ポイント)を多く差し上げることにいたしました。20:46:581の>メッセージボックスで「作成できる置換データがありません!」と表示したいです。)が抜けていましたねw。行の次に下記を入れてください。さんのが参考になると思いますが、対応が必要でしたらコメント下さい。21:20:19windofjulyさんへ変更コードを教えていただきありがとうございます。Activesheet.Name:これはいいですね!さっそく取り入れさせていただきました。>どの列を対象にするにしてもこれは、できればセルを選択するという手間を省いて、1行目に「置換」というデータを含むすべての列が対象になってくれれば、と思っています。windofjulyさんがご回答していただいたコードですと、どうやらA列が対象外になるようです。(1行目に「置換」というデータがあっても、テキストファイルが作成されません。)もし、A列も処理対象にするコードがわかりましたら、どうかよろしくおねがいします。21:25:34Mookさんへすばやい対応ありがとうございます。「作成できる置換データがありません!」と表示してくれるようになりました。さんのが参考になると思いますが、対応が必要でしたらコメント下さい。テキストファイルの空(データ)対応コードについても、ぜひ教えてほしいです。人によってコードの書き方が違うので、いろんなパターンを知りたいですので。Thenに変更してください。直前に下記を置いてみるとちょっと便利かも。22:01:57Mookさんへ対応ありがとうございます。vbNormalFocusこれはかなり自然の流れで確認できるという意味で、とても便利だと思います。教えていただきありがとうございます。Thenこのコードについてなんですが、3行目以降にデータがない場合(ファイル名はあるけど、テキストファイルの本文が無い状態)でも、(エラーになることなく)そのままテキストファイル作成するコードにすることは可能でしょうか。一応、本文(中身)が無くても、(ファイル名が存在するだけの)テキストファイルとして認識できる仕様にしておきたいのです。