• ベストアンサー

20060224をyyyy年mm月dd日にしたい

こんばんは。教えてください。。 Sub テスト() Dim mystr As String mystr = "20060224" mystr = Format(mystr, "yyyy年mm月dd日") MsgBox mystr End Sub これを実行するとオーバーフローします。 結果としては、「2006年02月24日」と表示させたいです。 mystr = Format(CDate(mystr), "yyyy年mm月dd日") にすると、型が一致しませんになります。 ご回答よろしくお願いします。

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

  • ベストアンサー
  • piroin654
  • ベストアンサー率75% (692/917)
回答No.1

>mystr = Format(mystr, "yyyy年mm月dd日") を mystr = Format(Format(mystr, "@@@@/@@/@@"), "yyyy\年yy\月dd\日")

bfsftauoyc
質問者

お礼

一ひねりしなくちゃだめなんですね。ありがとうございました。

その他の回答 (2)

回答No.3

無難に書くと、 Sub テスト() Dim mystr As String mystr = Format("20060224", "@@@@/@@/@@") MsgBox Format(CDate(mystr), "yyyy年mm月dd日") End Sub

bfsftauoyc
質問者

お礼

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

  • keithin
  • ベストアンサー率66% (5278/7940)
回答No.2

sub macro1()  dim s as string  s = "20060224"  msgbox format(s, "0年00月00日") end sub のようでいいです。

bfsftauoyc
質問者

お礼

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

関連する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"形式で表示させることが出来るのでしょうか 指導のほど、よろしくお願い致します。

  • アクセス 数値+日付をyyyy/mm/dd(aaa

    テーブルに 20121201aaa 20121203bbb と言うデータがあるのですが これをクエリで あ2012/12/01(土) あ2012/12/03(月) に変えるにはどうすればいいでしょうか 数値の後ろの文字はいろんなパターンがあるので置換じゃ追いつきません。 SELECT Format(Left([テーブル1]![test],8),"yyyy/mm/dd(aaa)") AS 日 FROM テーブル1; にすると#エラーになってしまいます。 SELECT Format(CDate(Left([テーブル1]![test],8)),"yyyy/mm/dd(aaa)") AS 日 FROM テーブル1; これでもダメでした・・・

  • 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

  • Excelでセルの表示形式を「yyyy年mm月」から「yyyy/mm/dd」へ

    エクセルで数式をあてはめて6ヶ月後の日にちを「yyyy年mm月」形式で出しているセルがあります。その該当月に作業をしたら、作業日をセルに上書きで入力するのですが、手入力によって「yyyy/mm/dd」形式で入れたいのです。 今、セルの表示形式が「yyyy年mm月」なので、手入力で入れても「yyyy年mm月」としかならず、「yyyy/mm/dd」にするためにセルの書式設定→表示形式の変更を行っている状態です。「yyyy年mm月」形式を解除したいのですが、Delボタンでは入力された数値しかクリアーされず、形式は残ってしまいます。「yyyy年mm月」を解除して「標準」または「yyyy/mm/dd」にもっていく簡単な方法はありますでしょうか?

  • 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にしたい

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

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

    いつもお世話になっております。 Aと言う変数にはyyyymmddの値が入っていて Aをyyyy/mm/ddにしてBの変数に入れたい場合の処理がわかりません。 調べたところ、SimpleDateFormatクラスと言うものを使えばよいと言うことが判明しました。 しかし、今まで使ったことがないのでよくわかりません。 変数Aと変数BはどちらもString型です。 ご教授お願い致します。

    • ベストアンサー
    • Java
  • 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/*(注含む検索) のコーディングが可能でしょうか? 宜しくお願いします。    

  • 月/日(曜日)から、西暦付きで日付型に変換するには

    エクセルのデータに 5月24日(金) 5月24日(木) など、 西暦を除いた日付情報が文字列として入っています。 VBAでループし、yyyy/mm/ddに治そうと思ってるのですが、 今年の分は日付型に変換すれば、勝手に2013年になりますが、 今年以外の日付も2013年になってしまいます。 手掛かりになるのは曜日なのですが、曜日から西暦を割り出す方法はあるのでしょうか? vbaのサンプルを作ってみましたが、 やはり去年も2013年になってしまうようです。 Sub Sample() Dim str As String str = "5月24日(金)" '2013年 str = Left(str, Len(str) - 3) str = CDate(str) str = "5月24日(木)" '2012年 str = Left(str, Len(str) - 3) str = CDate(str) End Sub ご教授よろしくお願いします。

  • このプログラムの説明の解説お願いします(`´)

    生年月日を入力して、自分の生まれた日の曜日を調べるプログラムです。 Sub 例1456() Dim w As Integer Dim week As Variant week = Array("日", "月", "火", "水", "木", "金", "土") hia = InputBox("「年/月/日」を入力して下さい") If IsDate(hia) Then hi = CDate(hia) hi = Format(hi, "yyyy""年""mm""月""dd""日""") Else MsgBox "「年/月/日」を入力して下さい" Exit Sub End If w = WeekDay(hi) MsgBox hi & " は " & week(w - 1) & "曜日です" End Sub 今週発表があります。構文の意味など詳しく説明しなければいけません。week(w - 1)のところなど解説いただきたいです<m(__)m>

専門家に質問してみよう