- ベストアンサー
エクセルで年と月を出したい
エクセルで「2/1」と入力して「02/1」と表記できるようにユーザー設定をしたいです。 どうすればよいでしょうか?
- みんなの回答 (6)
- 専門家の回答
質問者が選んだベストアンサー
ちょっと強引なやり方かも知れませんが…(^^; マクロを利用すれば解決できると思います。 日付を入力するシートがSheet1であると仮定した場合、 まず他にファイルを開いている場合は、閉じてください。 次に日付を入力するセル全ての書式を、文字列に設定します。 最後に、Alt+F11でVisual Basic Editorを起動し、左上部のプロジェクトウィンドウでSheet1をダブルクリックし、右側のコードウィンドウに下記コードを貼り付ければokです。 ただし入力された日付は、Excelでは文字列として認識されてしまいますので注意して下さい。また下記コードは、Sheet1内の全セルが対象ですが、改造すれば特定の列や行のみを対象とする事も可能です。 Public f As Integer Private Sub Worksheet_Change(ByVal Target As Range) On Error GoTo Errr If f = 1 Then Exit Sub f = 1 Dim aa As String Dim n, m, y As Long aa = Target.Value If Len(aa) > 5 Then GoTo Errr For n = 1 To Len(aa) If Mid(aa, n, 1) = "/" Then Exit For End If Next n Select Case n Case 1 Case Is >= Len(aa) Case Else m = Mid(aa, n + 1, Len(aa) - n) y = Left(aa, n - 1) If m > 12 Or m < 1 Then GoTo Errr If y > 99 Or y < 1 Then GoTo Errr If y >= 10 Then Target.Value = y & "/" & m Else Target.Value = "0" & y & "/" & m End If End Select f = 0 Exit Sub Errr: f = 0 End Sub
その他の回答 (5)
- kamonohashi
- ベストアンサー率26% (73/271)
「2/1」と入力するとエクセルは2月1日としか認識できません。 また、年を入力しないと勝手に今年にされますので 2003年2月1日→03/2(表示形式yy/m)となるのです。 「2002/1/1」のように年月日の日にちも入力すれば 表示形式を「yy/m」にして「02/1」と表示させることは可能ですが、 「2/1」と入力して「02/1」と表示させたいなら 私の思いつく方法は表示形式をmm/dとして 月日として表示させて我慢するぐらいです。
お礼
なるほど・・・ やっぱりそうですかね エクセルは親切なつくりになりすぎていて、逆に余計なことをしてきますねー ご意見本当にありがとうございました まだしばらくは締め切りませんので何かいい方法が思いついたら、ぜひ教えてください
- Reisender
- ベストアンサー率40% (21/52)
ちなみに2/1は1月2日ですか?2月1日ですか? そのセルを選んで、右クリックで「セルの書式設定」を選択 「表示形式」の中から日付を選択し、右側のリストに希望のがあればそれをクリック。 なければ、ユーザ定義の種類というところに、1月2日ならば dd/m 、2月1日ならば mm/dと入力。 dは日付をmは月を表し、ddと書けば二桁いつも表示されるように なります。月か日付どちらかだけを二桁表示だと混乱することがあるので 1桁表示もしくは二桁表示に統一することをお勧めしますが…
お礼
2002年1月という意味なんですよー すいません説明不足で・・・ それで、ユーザー設定を「yy/m」として「2/1」とするとなぜか「03/2」となってしまうんです・・・
- wildcard
- ベストアンサー率54% (54/100)
セルの書式設定→表示形式→ユーザ設定→ 「月/日」であれば、mm/d 「年/月」であれば、yy/m です。
お礼
年/月なんですけどもユーザー定義を「yy/m」として、「2/1」と入力すると「03/2」となってしまうんですよ なんでですかねー
- qwer021
- ベストアンサー率24% (70/281)
すみません 良く考えたらダメですね。
お礼
そうなんですよー
- qwer021
- ベストアンサー率24% (70/281)
セルの書式設定→表示形式→ユーザ設定→yy/mではダメでしょうか?
お礼
それがだめなんですよー
お礼
ありがとうございますっ!!! なんかすごい高度な答えがきて驚いています。 面倒なことをずうずうしくお願いしちゃってほんとうにすいません 仕事が終わったら試してみますね