Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


1141 / 13645 ツリー ←次へ | 前へ→

【76070】日付表示について 素人です 14/9/15(月) 21:56 質問[未読]
【76071】Re:日付表示について kanabun 14/9/15(月) 22:27 発言[未読]
【76076】Re:日付表示について 素人です 14/9/16(火) 17:34 お礼[未読]
【76081】Re:日付表示について γ 14/9/19(金) 0:09 発言[未読]
【76086】Re:日付表示について γ 14/9/20(土) 10:05 発言[未読]
【76087】Re:日付表示について 素人です 14/9/20(土) 10:30 お礼[未読]
【76088】Re:日付表示について γ 14/9/20(土) 10:55 発言[未読]
【76072】Re:日付表示について γ 14/9/15(月) 22:28 発言[未読]
【76073】Re:日付表示について γ 14/9/15(月) 22:30 発言[未読]

【76070】日付表示について
質問  素人です  - 14/9/15(月) 21:56 -

引用なし
パスワード
   0416 を 01-Apr-16 と表示したいのです。
0519 を 01-May-19 以下同じく
1213   01-Dec-13
1017   01-Oct-17
0322   01-Mar-22





すなわち 4桁表示(0416)で日付は必ず月の最初の日(つまり1日)を
表示させ最初の二桁(左から順に1桁目と2桁目つまり 04 )は月を英語表記で
残りの二桁(左から順に3桁目と4桁目つまり 16)は年を表します。
この式をどなた様かお教えください。

よろしくお願い致します。

【76071】Re:日付表示について
発言  kanabun  - 14/9/15(月) 22:27 -

引用なし
パスワード
   ▼素人です さん:
>0416 を 01-Apr-16 と表示したいのです。
>0519 を 01-May-19 以下同じく
>1213   01-Dec-13
>1017   01-Oct-17
>0322   01-Mar-22

結果の出力先はどこですか?
以下は 結果を配列vに代入し、イミディエイト・ウィンドウに出力しています。
A列の元テキストを B列に出力なら、
配列v の出力先をシートB列に変更ください。

Sub test()
 Dim v, d As Long
 Dim s As String
 Dim i As Long
 
 v = Range("A1", Cells(Rows.Count, 1).End(xlUp)).Value
 For i = 1 To UBound(v)
   s = v(i, 1)
   d = DateSerial(Val(Mid$(s, 3)), Val(Left$(s, 2)), 1)
   v(i, 1) = Format$(d, "dd-mmm-yy")
   Debug.Print s, v(i, 1)
 Next
 
End Sub

【76072】Re:日付表示について
発言  γ  - 14/9/15(月) 22:28 -

引用なし
パスワード
   > この式を
ということは一般機能を使ってということですか?

【76073】Re:日付表示について
発言  γ  - 14/9/15(月) 22:30 -

引用なし
パスワード
   Range("A1").NumberFormatLocal = "dd-mmm-yy"
のような書式にして、Date型数値をValueにセットする方法もありますね。

【76076】Re:日付表示について
お礼  素人です  - 14/9/16(火) 17:34 -

引用なし
パスワード
   返事が遅くなりすいませんでした、ありがとうございます。
トライしてみます。

【76081】Re:日付表示について
発言  γ  - 14/9/19(金) 0:09 -

引用なし
パスワード
   >トライしてみます。
トライ結果を書いて欲しいですね。
そうしたフィードバックをすることが質問者さんの礼儀だと思います。
自分だけコードが得られてハッピイというわけでもないでしょう。

【76086】Re:日付表示について
発言  γ  - 14/9/20(土) 10:05 -

引用なし
パスワード
   こちらのサイトの「基本方針」に以下の記載があります。

> ●必ず返事をしてください
> 回答がついたら、その回答に必ず返事を書いてください。
> それが最低限のエチケットというものです。
> 期待通りの回答があれば感謝の意を表すことはもちろん、
> 期待した回答ではない場合も必ず返事を書いてください。
> どこがどう期待通りではないのかを具体的に書けば、
> よりあなたの期待に近い回答が得られることでしょう。

一方向の個人サポートということではなく、「そうした議論を皆さんで
共有しましょう」というコンセプトの上に成り立っています。
助言を得た場合には、その結果を報告してもらうと良いでしょう。
よろしくね。

【76087】Re:日付表示について
お礼  素人です  - 14/9/20(土) 10:30 -

引用なし
パスワード
   大変失礼いたしました。
正直今の私のレベルでは皆さんに教えて頂いた内容はついていけませんでした。
しかし、いずれにしても色々とありがとうございます。
何とかレベルUPしてお教え頂いた事を活かせるようにしたいと思います。

【76088】Re:日付表示について
発言  γ  - 14/9/20(土) 10:55 -

引用なし
パスワード
   >正直今の私のレベルでは皆さんに教えて頂いた内容はついていけませんでした。

言っていただければ、いくらでも説明する用意はありますよ。

日付というものをExcelがどう管理しているか、が分かりにくいのでしょう。
特定の日(1900年1月1日だったか)を1とする連番で管理しています。

  d = DateSerial(Val(Mid$(s, 3)), Val(Left$(s, 2)), 1)
は、年、月、日をあたえて、その連番を返すものです。

   Format$(d, "dd-mmm-yy")
は、その連番数値をもとに、指定した形式の文字列に変換するものです。

dd,mmm,yyの意味は、Format関数のヘルプ(の「関連項目」にある、
「日付/時刻表示書式指定文字 (Format 関数)」)
を調べて見て下さい。

まずは、こうしたあたりを確認していくとよいと思います。

1141 / 13645 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free