vbaで日付を文字列に変換する方法

このQ&Aのポイント
  • vbaで区切り位置を使用してyyyy/mm/dd(日付)を文字列に変換するとdd/mm/yyyyと表示されてしまいます。vbaでやらずにそのまま区切り位置で文字列に変換するとそのままyyyy/mm/ddの表示のままなのに、vbaでやるとなぜdd/mm/yyyyになってしまうのでしょうか?
  • vbaで日付yyyy/mm/ddを文字列yyyy/mm/ddに変換する方法を教えてください。
  • vbaで区切り位置を使用してyyyy/mm/dd(日付)を文字列に変換する方法について知りたいです。
回答を見る
  • ベストアンサー

yyyy/mm/ddをyymmddの文字列に

一つの列にyyyy/mm/dd(日付)とyymmdd(文字列と標準が混在)が混在しているものを、全て文字列のyymmddにするために、区切り位置で全てを文字列にしてから文字操作でyymmddにしようとしてます。 vbaで区切り位置を使用してyyyy/mm/dd(日付)を文字列に変換するとdd/mm/yyyyと表示されてしまいます。vbaでやらずにそのまま区切り位置で文字列に変換するとそのままyyyy/mm/ddの表示のままなのに、vbaでやるとなぜdd/mm/yyyyになってしまうのでしょうか? vbaで日付yyyy/mm/ddを文字列yyyy/mm/ddに変換する方法を教えてください。 よろしくお願いいたします!

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

  • ベストアンサー
回答No.1
onoritsu
質問者

お礼

ご回答ありがとうございました。 サイトを参考にさせていただき、IFを使用してなんとか混在列を同じフォーマットにすることができました。 ありがとうございます。

関連するQ&A

  • DataGridViewでyyyy/MM/dd

    SQLServer2008で作ったデータベースをVB2010のDataGridViewで表示させております。 DataGridViewで日付列を"yyyy/MM/dd"のスラッシュ入り10桁で表示させたいのですが表示されません。 データベース側でのデータ型は「date」となっております。 DataGridView1.Columns("日付").DefaultCellStyle.Format = "yyyy/MM/dd" こう記述すればいいと思ったのですが、「20111227」とスラッシュ無しで表示されてしまいます。 DataGridView1.Columns("日付").DefaultCellStyle.Format = "yyyy年MM月dd日" これは「2011年12月27日」と表示することを確認できました。 DataGridView1.Columns("日付").DefaultCellStyle.Format = "yyyy-MM-dd" これは「2011-12-27」と表示することを確認できました。 どのようにしたら"yyyy/MM/dd"形式で表示させることが出来るのでしょうか 指導のほど、よろしくお願い致します。

  • 25 Jul 2014 をyyyy/mm/ddに

    早速ですが WEBクエリーで 下記の値が セルに取り出せます Last Updated: Friday, 25 Jul 2014 06:00 PM これを 他のセル と 比較するために yyyy/mm/dd に変換したいのですが MIDで 取り出すと 曜日と月のスペル文字列の長さが一定でないので困っています。 何か方法は無いでしょうか If Format(Mid(NKNY.Range("J213"), 15, 10), "yyyy/mm/dd") = Format(NKNY.Cells(10, 2) - 1, "yyyy/mm/dd") Then

  • yyyy/M/dをyyyy/MM/ddに変換

    SQLServer 2005にて文字列型に入っている日付データの変換を行いたいと思っています。 現状yyyy/M/d(2010/1/1)のようになっているのをyyyy/MM/dd(2010/01/01)に変換したい のですが方法が分かりません。 SELECT CONVERT(DATETIME,(CONVERT(VARCHAR(10),テーブルの値)),120) FROM テーブル名 とするとCHAR データ型から DATETIME データ型への変換の結果が日付/時刻の値の範囲外です。 というエラーになっていまいます。どういった方法なら実現できるのでしょうか。 すみませんがご教授ください。 宜しくお願い致します。

  • yyyy/mm/ddからyyyy/mmへの変換

    いつもお世話になっております. Excelの第3列の2行目~2027行目までのセルに yyyy/mm/dd と入力されています. dd (日付)を取り除き,yyyy/mm という入力に直したいのですが,方法が分からずに困っております. Sub test() Dim row As Integer For row = 2 To 2027    Sheets("Sheet1").Cells(row, 3).NumberFormat = "yyyy/mm" Next End Sub 上記のようにしてみたのですが,セルの表示形式が変わっただけで, 数式バーの表示を見てみると実質的に dd が残っています. 良い方法をご存知の方がいらっしゃいましたら, ご教示の程どうぞ宜しくお願いいたします.

  • yyyy/mm/ddの日付に一括変換するマクロ

    [セルの書式設定] の [表示形式]が標準(日付ではない)で単なる文字列となっている「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を使用しています。

  • エクセルで日付をyyyy/mm/ddにしたい

    今 A1=S B1=30303 というでーたがあり二つのセルを組み合わせて 最終的にyyyy/mm/ddしたいのです。 ひとまず、S30303にして結合させて、TXTにして エクセルで読み込む際に日付形式にして読み込ませると、日付形式になったのですが、 年の桁数が二桁のものだけはそのままの数字のままで読み込んでしまいます。 他に方法があれば、他のやり方でもいいのですが、 yyyy/mm/ddにするにはどうしたらいいのでしょうか ご教授ください

  • シェルで正規表現 YYYY/MM/DD

    引数で受け取った文字列が YYYY/MM/DD形式であるかを判定したいのですが、シェルが初めてなのでよくわかりません・・・。 どなたかご教授ください! よろしくお願いします。

  • EXCEL(2003) VBA ユーザー定義 yyyy/mm/dd

    EXCEL(2003) VBA ユーザー定義 yyyy/mm/dd で mm は AutoFilter にかからない? 生年月日の表示を セルの書式設定で ユーザー定義 yyyy/mm/dd にしています。 例 1935/08/07 (標準にすると 13003 となります) 例えば 8月生まれを検索するため */08/*(注含む検索) で AutoFilter にかけても検索されません。 ちなみに 1935/08/07(注完全一致検索) や これを基にした 別の列で 昭和10年 8月 7日 の *8月*(注含む検索) では検索できます。 yyyy/mm/dd で 1935*(先頭一致検索) や前記の */08/*(注含む検索) のコーディングが可能でしょうか? 宜しくお願いします。    

  • yyyy/m/d h:mmという表記をyyyy/mm/ddにしたい

    エクセルに関する質問です。よろしくお願いします。 シート上でyyyy/m/d h:mm(例えば2009/5/1 3:04や2009/6/15 12:04のように)で表記されている箇所を、時間表記を切って「yyyy/mm/dd」だけにしたいと考えています。 「セルの書式設定」の「表示形式」タブで設定すれば表示上は「yyyy/mm/dd」になるのですが、データ上は「h:mm」が残っています。 そのためピボットテーブルで「yyyy/mm/dd」の情報をベースに、集計しようとすると「h:mm」のデータが邪魔になってしまいます。 何とかなりませんでしょうか? よろしくお願いいたします。

  • 「yyyy/mm/dd hh:mm」が「yyyy/mm/dd hh:nn」へ変化する

    access2003を使用しています。 時刻の「分」の表示形式で気になることがあるのですが テーブルのデザインで フィールド1のデータ型を「日付/時刻型」にし 書式を「yyyy/mm/dd hh:mm」と入力しても 「yyyy/mm/dd hh:nn」に変化してしまいます。 問題なく「2009/02/28 20:33」と表示されるのですが なぜmからnへ変化してしまうのでしょうか? また デザインで書式を「hh:mm」だけ入力した場合は 「時刻 (S)」へ変化します。 何か少しでもわかる方ご回答よろしくお願いします。

専門家に質問してみよう