【エクセル技道場】No.356 日付の桁を揃える
===[ ▼PR ]=========================================================
☆゜♪.:*:'゜『ディズニーの英語システム』トリプルプレゼント♪.:*:'゜☆
0才〜6才のお子さまをお持ちの方へ『英語の絵本』、『CDつきABC
ポスター』『おためしビデオまたはDVD』をプレゼント!
【期間限定2003年10月31日まで】
http://211.10.20.135/a/a.cgi?k04530m01057
========================================================[ ▲PR ]====
■【エクセル技道場】No.356 2003/ 9/30 発行部数:14,968 不定期
■ http://www2.odn.ne.jp/excel/ まぐまぐID: 31665
◇日付の桁を揃える
【問題】
年月日を入力した時に前ゼロをスペースにし、桁を揃えたいのですがうまく出来ません。
平成9年9月14日
昭和60年10月4日
のようなデータを以下のように、月と日の位置をあわせたいのですが、どうすればよいでしょうか?
平成 9年 9月14日
昭和60年10月 4日
==== [ ▼PR ] ========================================================
◎ ふくびき.com ◎現金100万円が毎月当たる!今だけさらに豪華賞品!
ふくびき.comに無料会員登録をすると、こんな特典があなたに!
≫≫ 新規登録の方の中から抽選で豪華賞品が当たる!! ≪≪
≫≫ 会員の方に抽選で100万円! 福引き券付きメールもGet! ≪≪
あなたも今すぐ登録!→ http://211.10.20.135/a/a.cgi?k70080Bm01057
======================================================== [ ▲PR ] ====
【回答】
○関数で桁を揃える。
A列にデータが入っているとします。
B列のフォントを MS ゴシック などの等幅フォントにします。
1.B列を選択
2.Ctrl+1 (メニュー[書式]-[セル])
3.[フォント]タブで MS ゴシック を選択
4.[OK]ボタンをクリック
セルB1に以下の数式を入力します。
=TEXT(A1,"ggg")&
RIGHT(TEXT(A1," e年"),3)&
TEXT(MONTH(A1),"??月")&
TEXT(DAY(A1),"??日")
○そのセルの表示形式を変更して年月日の桁を揃える。
1.セルを選択
2.Ctrl+1 (メニュー[書式]-[セル])
3.[表示形式]タブの[分類]を[ユーザー定義]に
4.[種類]に
年1桁、月1桁、日1桁 → ggg_1e"年"_1m"月"_1d"日"
年1桁、月1桁、日2桁 → ggg_1e"年"_1m"月"d"日"
年1桁、月2桁、日1桁 → ggg_1e"年"m"月"_1d"日"
年1桁、月2桁、日2桁 → ggg_1e"年"m"月"d"日"
年2桁、月1桁、日1桁 → ggge"年"_1m"月"_1d"日"
年2桁、月1桁、日2桁 → ggge"年"_1m"月"d"日"
年2桁、月2桁、日1桁 → ggge"年"m"月"_1d"日"
年2桁、月2桁、日2桁 → ggge"年"m"月"d"日"
を入力
5.[OK]ボタンをクリック
○マクロでA列に日付が入力されると年月日の桁を揃える。
シートタブ上で右クリック-[コードの表示]で表示されるコードウィンドウに下記マクロを入力。
Private Sub Worksheet_Change(ByVal Target As Range)
Dim tmp As Variant
With Target
If .Column <> 1 Then Exit Sub 'A列のみを対象
tmp = .Value
If IsDate(tmp) Then
.NumberFormatLocal = "ggg" & _
IIf(Format(tmp, "e") > 9, "e年", "_0e年") & _
IIf(Month(tmp) > 9, "m月", "_1m月") & _
IIf(Day(tmp) > 9, "d日", "_1d日")
End If
End With
End Sub
○マクロで選択した範囲の日付の年月日の桁を揃える。
Sub test()
Dim c As Range
Dim tmp As Variant
Application.ScreenUpdating = False
For Each c In Intersect(Selection, ActiveSheet.UsedRange)
tmp = c.Value
If IsDate(tmp) Then
c.NumberFormatLocal = "ggg" & _
IIf(Format(tmp, "e") > 9, "e年", "_1e年") & _
IIf(Month(tmp) > 9, "m月", "_1m月") & _
IIf(Day(tmp) > 9, "d日", "_1d日")
End If
Next
Application.ScreenUpdating = True
End Sub
1.上記マクロの Sub から End Sub までを選択してCtrl+C (コピー)
2.Alt+F11(メニュー[ツール]-[マクロ]-[VBE])
→VBE(Visual Basic Editor)が開く
3.プロジェクトエクスプローラで、VBAProject(<当該ブック名>)を選択
4.メニュー[挿入]-[標準モジュール]
5.Ctrl+V (貼り付け)
6.Alt+F4(メニュー[ファイル]-[終了してMicrosoft Excelへ戻る])
7.桁を揃えたいセル範囲を選択
8.Alt+F8(メニュー[ツール]-[マクロ]-[マクロ])
9.実行したいマクロ名(この場合、test)を選択
10.[実行]ボタンをクリック
○○ あとがき ○○
子供産まれました!
■■■■■掲載内容に起因する問題の責は負いかねます。
■本誌の転載等は非商用利用に限ります。出典明記でお願いします。
■解除■まぐまぐ: http://www.mag2.com/m/0000031665.htm
■発行者:janma
■■■■■【エクセル技道場】 http://www2.odn.ne.jp/excel/


![転職なら[en]社会人の転職情報!転職成功者続出 転職なら[en]社会人の転職情報!転職成功者続出](http://kamogawa.mag2.com/bn/recommend/sya.gif)
![派遣のお仕事探しなら[en]派遣のお仕事情報 派遣のお仕事探しなら[en]派遣のお仕事情報](http://kamogawa.mag2.com/bn/recommend/haken.gif)
![アルバイト探しは[en]本気のアルバイト アルバイト探しは[en]本気のアルバイト](http://kamogawa.mag2.com/bn/recommend/baito.gif)
![就職サイトは[en]学生の就職情報 就職サイトは[en]学生の就職情報](http://kamogawa.mag2.com/bn/recommend/gakusei.gif)
![転職なら[en]転職コンサルタントキャリアを活かした転職に! 転職なら[en]転職コンサルタントキャリアを活かした転職に!](http://kamogawa.mag2.com/bn/recommend/consul.gif)