[セルの書式設定] の [表示形式]が標準(日付ではない)で単なる文字列となっている「mm-dd-yyyy」や「mm/dd/yyyy」のデータをマクロで「yyyy/mm/dd」の日付データに一括変換するマクロを教えてください。
たとえば、日付データが列Aにある場合にはDATE関数で、
=DATE(RIGHT(A2,4),LEFT(A2,2),MID(A2,4,2))
でも変換可能ですが、対象ファイルが多数、各ファイルにも対象の列が多数、そしてファイルの更新頻度も多いため、DATE関数を使用することは現実的ではない事情があります。
このためマクロを使用して処理させたいです。
添付のサンプルの例で一括変更するマクロを教えてください。
なお、Excelは2007を使用しています。
No.1ベストアンサー
- 回答日時:
マクロといっても日付のデータであることをいちいち判断することも容易ではありません。
むしろ日付に変化したいセルの範囲を選んでから「区切り位置」の機能を使って変換してはどうでしょう。
例えばA1セルからA100セルにデータがあるとしたらそれらの範囲を選択したのちに「ホーム」タブの「データ」から「区切り位置」をクリックします。
表示の画面でウィザードの1/3画面、2/3の画面で「次へ」をクリックして最後の画面では列のデータ形式の項で「日付」にチェックを付けたのちに右の窓では MDY を選択してから「完了」ボタンをクリックします。
区切り位置の利用は知っていましたが、yyyy/mm/ddの形にしたかったので、その並びの日付のYMDが自分のやりたいことと思いこんでいました。結果、変わらず。
MDYの選択で対応できることが分かりました。
ありがとうございました。
No.5
- 回答日時:
質問者さんがお分かりになっていないと思う点は、ループをさせないと、マクロで実行しても何の意味もないということです。
「対象ファイルが多数、各ファイルにも対象の列が多数、そしてファイルの更新頻度も多い」としているにも関らず、それに関する具体的な情報が何も書かれていないということです。例えば、●ファイルを格納しているフォルダのツリー構造(フォルダ 1 つのみならその事実)、●ファイル命名の規則、●シートの構造、●シート命名の規則、●セルの配置、●これらの情報のファイル更新による変化、などなど。
DATE 関数であろうがその他の方法であろうが、「yyyy/mm/dd」形式にする方法は、別に何だって構わないんです。たいへんな部分はそこじゃないので。
具体的な情報は書ききれないのでひとまず添付した図の例に対する模範例を拝借して、それから自分なりに考えてみるつもりでした。
知識と質問力不足、失礼しました。
No.4
- 回答日時:
No.3です。
No.1さんと同じ内容の投稿でした。
確認せずに投稿してごめんなさいね。m(_ _)m
ありがとうございます。
No1さんへのお礼の中で触れましたが、区切り位置の日付の仕様を十分理解していませんでした。
ご回答内容でも対応できることが分かりました。
No.3
- 回答日時:
こんにちは!
今回の場合はマクロとか関数で処理する方法でなく、
手を動かす方法が一番簡単だと思います。
A列すべてを範囲指定 → データ → 区切り位置 → 何もせず「次へ」を2回 → 「日付」を選択
→ その右側の欄が「YMD」となっていると思いますので、下向き▼から「MDY」を選択 → 「完了」
>対象ファイルが多数、各ファイルにも対象の列が多数
とありますが、上記の操作はマクロでも可能です。
しかし、実データの配置等が判らないとここでコードを載せても意味がありません。
※ どうしてもマクロで行いたい場合は一旦マクロの記録にとって実データに合わせてコード変更すればOKだと思います。
参考になりますかね?m(_ _)m
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excel2007で、太字にした行のみ...
-
並べ替えのマクロで対象行の範...
-
Excelでセル内の数式は残し値だ...
-
yyyy/mm/ddの日付に一括変換す...
-
Excel2007 セルを右方向に削除...
-
エクセルのふりがなの関数について
-
エクセル2003でマクロをおこな...
-
EXCELで1ヶ月分の連続した日付...
-
EXCELで同一フォーマットのシー...
-
VBAでシートコピー後、シート名...
-
エクセルの複数シートの保護を...
-
複数シートの特定の位置に連番...
-
特定のシートの削除を禁止した...
-
前の(左隣の)シートを連続参...
-
VBA セルの値と同じ名前のシー...
-
エクセルで前シートを参照して...
-
エクセルのシート名をリスト化...
-
エクセルで前のシートを連続参...
-
エクセルVBA 串刺し計算の際、...
-
シート名が変わる場合のVBAの設...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
条件に応じて特定の行を非表示...
-
Excel2007で、太字にした行のみ...
-
Excel(VBA)データ入力に応じて...
-
Excelでセル内の数式は残し値だ...
-
エクセル VBA 小数点を含む数字...
-
Excel2007 セルを右方向に削除...
-
Excelで連続印刷をするマクロ
-
「マクロ」の足し算の式を教え...
-
値貼り付けをしても書式も貼り...
-
excel ある部分だけをコピペし...
-
エクセルで全ての数字間にカン...
-
wordのvbaでハイパーリンク設定...
-
Excel にて非表示行を探すワー...
-
Excelで周期的に列を削除する方法
-
エクセル2003でマクロをおこな...
-
yyyy/mm/ddの日付に一括変換す...
-
VBA コピーを有効行までループ...
-
並べ替えのマクロで対象行の範...
-
エクセル オートフィルタの抽...
-
エクセル マクロ オートシェ...
おすすめ情報