エクセル【マクロ】で置換作業を自動的にテキスト化させたいのですが。

このQ&Aのポイント
  • エクセルで日付をテキスト化するために、マクロを使用した自動化について質問です。
  • 日付の列を選択し、置換機能を使用して日付をテキスト化したいですが、一度日付データを消してから実行すると正しくテキスト化されません。
  • マクロを作成中は問題なく動作するのですが、データを入力してから実行すると誤った形式でテキスト化されます。
回答を見る
  • ベストアンサー

エクセル【マクロ】で置換作業を自動的にテキスト化させたいのですが。

エクセルで日付をテキスト化するのに、マクロをつかって自動化させたいと考えています。 以下のようなデータを扱っています。 日付  その他  その他  その他 2007/4/26 2007/4/28 2007/5/12 2007/6/12 こういったデータがあり、日付の列を選択し、置換→200を'200にすることで日付をテキスト化したいと思っています。 マクロを作成中は問題なく、置換し、テキスト化が出来ますが。 一度日付データを消し、日付を入れてマクロを実行すると 4/26/'2007 4/28/'2007 5/12/'2007 6/12/'2007 といった感じで実行され、正しくテキスト化されません。 質問にお答えしていただけると大変ありがたいです。 よろしくお願いします。

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

  • ベストアンサー
  • merlionXX
  • ベストアンサー率48% (1930/4007)
回答No.1

iheuyoさんが現在どのようなマクロを書かれているのかわからないのでアドバイスしようがないのですが、アクティブなシートの日付データを全て文字列化するサンプルを一つ書いて見ます。 Sub test01() Dim c As Range For Each c In ActiveSheet.UsedRange If IsDate(c) Then c = "'" & Format(c, "yyyy/m/d") End If Next End Sub

iheuyo
質問者

お礼

さっそくの返事ありがとうございます。 マクロは初心者なので、VBAは簡単な修正程度でしかいじらないんですが、わからないながらもmerlionさんのヒントで、出来るようになりました。ありがとうございます。

iheuyo
質問者

補足

質問に答えていただきありがとうございました。 merlionさんの方法でやってみましたが、ひとつ問題ありました。 VBAはぜんぜんわからないので、使い方がわるかったのかもしれませんが、 Sub test01() Dim c As Range For Each c In ActiveSheet.UsedRange If IsDate(c) Then c = "'" & Format(c, "yyyy/m/d") End If Next End Sub でVBAを組むとすべての日付がテキスト化されてしまいます。 自分のテキスト化したい列のみテキスト化するにはどうやればいいのでしょうか? ちなみに、普段マクロを作るときは自動記録方式でやっています。ですので、一番よいのは自動記録式でできればいいんですが、そうするとテキスト化する部分で4/28/'2007ような形になってしまうので、それが問題になってしまいます。 よろしければお願いします。

関連するQ&A

  • エクセルでマクロを用い日付をテキスト化したいのですが。

    エクセルで日付をテキスト化するのに、マクロをつかって自動化させたいと考えています。 以下のようなデータを扱っています。 日付  その他  その他  その他 2007/4/26 2007/4/28 2007/5/12 2007/6/12 こういったデータがあり、日付の列を選択し、置換→200を'200にすることで日付をテキスト化したいと思っています。 マクロを作成中は問題なく、置換し、テキスト化が出来ますが。 一度日付データを消し、日付を入れてマクロを実行すると 4/26/'2007 4/28/'2007 5/12/'2007 6/12/'2007 といった感じで実行され、正しくテキスト化されません。 質問にお答えしていただけると大変ありがたいです。 よろしくお願いします。 ※ちなみにマクロは自動記録方式のみで作っています。VBAは修正程度の知識しかないです。

  • EXCELでマクロを用い日付をテキスト化したいのですが。

    エクセルで日付をテキスト化するのに、マクロをつかって自動化させたいと考えています。 以下のようなデータを扱っています。 日付  その他  その他  その他 2007/4/26 2007/4/28 2007/5/12 2007/6/12 こういったデータがあり、日付の列を選択し、置換→200を'200にすることで日付をテキスト化したいと思っています。 マクロを作成中は問題なく、置換し、テキスト化が出来ますが。 一度日付データを消し、日付を入れてマクロを実行すると 4/26/'2007 4/28/'2007 5/12/'2007 6/12/'2007 といった感じで実行され、正しくテキスト化されません。 質問にお答えしていただけると大変ありがたいです。 よろしくお願い致します。 ※ちなみにマクロは自動記録方式のみで作っています。VBAは修正程度の知識しかないです。

  • Excelマクロで置換

    Excelマクロで置換 セルA1に6桁・スペース・24桁の数字が入っています。 最初の6桁に130,397,430,440が含まれているシートを選択 そのシートの中に "ああああ"があったら"ああああい"に "いいいい"があったら"いいいいう"に "うううう"があったら"ううううえ"に と置換をするマクロを書きたいと思っています。 置換する対象の文字列は多いので別マクロで作成し呼び出したいと考えています。 シートは1ブックに30シート程。何シートあるかはブックによって変わります。 現在マクロの記録を使って試行錯誤しているのですが なにぶん初心者なのでなかなかうまくいきません。 どなたかご教授頂ければと思います。

  • テキストエディタでの置換(正規表現チェック済)と同様のことを

    テキストエディタでの置換(正規表現チェック済)と同様のことを エクセルのマクロでもしたい。 画像を添付しましたが、秀丸で置換を選択し、 検索文字列と置換文字列を入れて、正規表現チェックのチェックボックスを 選択した状態で実行するのと同様のことをエクセルのマクロで行いたいです。 正規表現混みだととても難しいです。 やりたいことはマクロで、フォルダ内のテキストファイルを置換をかけていきたいです。(テキストファイルは複数ある状態)そのテキストファイルを更新できればいいです。(別テキストで出力されてもいいです。) どなたか詳しい方、教えていただけませんでしょうか? よろしくお願いいたします。 --- 検索エディタ【秀丸】【置換】 検索【.*item1=(.*) item2=(.*) .*】 置換【\1\t\2】 正規表現チェック

  • エクセルマクロでワードの置換マクロを作りたい

    エクセルで作成した置換シートを使用して、ワードの資料内の間違え語を一括置換えできるエクセルマクロを作りたいです。 置換えシートには、A列に間違え語、B列に正しい語が入力してあります。 色々やってみたのですが、うまくいきません。 分かる方、教えていただけませんか?

  • Excel 検索・置換マクロ

    検索する文字列は、AH4のセルにかいている数値とし 置換後の文字列を“無し”にしたいです。 これを実行するマクロを教えてください。 何卒よろしくお願いしますm--m Excel2003

  • エクセルのマクロで

    こんにちは、お願いします。 エクセルで小計を自動計算させたいのですが・・・ 同じ日付のデータがいくつか入力されていて その日付ごとの小計を列で出したいのです。  日付    値  小計 2002/9/1  123 2002/9/1  456   579 2002/9/2  789 2002/9/2  321  1100 という感じで・・・ このとき小計を出すセルへカーソルを置き、日付を入力するか、またはその行と同じ日付になる小計を出す、 関数では出来ないですよね? 関数式ではできなとすると、マクロが作成できるでしょうか? ご存知の方がいらっしゃいましたら、是非教えてください。 宜しくお願いします。   

  • 日付自動実行マクロについて質問です。

    エクセル2000で日計表を作成しています。 A列には日付のシリアル値が、B列には日付、C列には曜日が入っています。 毎日データを挿入するのはD列からとなります。 そのファイルを開いた時に自動実行マクロでその日のD列にセルを飛ばすのにはどうしたらいいでしょうか? 苦労しています、どなたか詳しい方教えていただけると助かります。

  • javaアプレットで表示されたテキストデータをexcelに自動で取り込むマクロ

    初めて質問をさせていただきます。よろしくお願いいたします。 タイトルの通り、javaアプレットで表示されたテキストデータをexcelに自動で取り込むマクロを作りたいと考えています。 このマクロ作成の意図は、javaアプレット上のリアルタイムで変化する為替レートの四本値を定期的にexcelで取得して、そのデータに対して自作の解析手法を使いたいためです。取り込み手順は以下の通りです。 1.IEにて為替チャートの表示(javaアプレット起動) 2.javaアプレット上のテキストデータ表示のためのボタンをクリック 3.テキストデータの区切り文字をスペースからタブへ変更するドロップダウンタブを選択 4.表示されたテキストデータをコピー、excelへペースト 5.4を定期的に(例えば5分おきに)繰り返し実行 上記の手順をマクロ自動記録にて記録したところ、何も記録されませんでした。 当方VBA初心者ですので自動記録されたコードを調べながら勉強していこうとしていたのですが、記録されなければ何をどうしたらいいのかさっぱりです。 よろしくご教授お願いいたします。VBAにこだわっているわけではありませんので、より良いアイデアがあれば併せてご教授お願いいたします。当方の稚拙な文章で質問内容が分かり難いようであれば、その点のご指摘もよろしくお願いいたします。

  • エクセル2003のマクロでテキストファイルのデータを置換しようとしてい

    エクセル2003のマクロでテキストファイルのデータを置換しようとしています。 下記のようなデータが***.txtファイルに入っています。 a)を半角スペース2つに置換したいのですがどうしたらできるのか、 2文字の置換方法をご存知の方教えていただけないでしょうか? LinInputでデータを1行ずつ読み込み、 左の数値データも半角スペースに置換し、 Trimでスペースを削除しようと思います。 【入力データ】 10  55567 444  987   11  456b) 2345 789  a12 12 123a) 456 888 b17 ・ ・ ・ 【出力データ】 55567 444  987   456b) 2345 789 123 456 888 ・ ・ ・