痔になりやすい生活習慣とは?

こんばんはよろしくお願いします。
エクセル2000で、日付が入力されているセルの表示を
7月4日の場合、「 7月 4日」と表示させるにはどうしたらよいのでしょうか?
(つまり十の位に半角スペースが入ってる状態です。)

同様に通し番号も9までの数字も「1」ではなく「 1」と表示させるにはどうすればよいのでしょうか?

いつもありがとうございます。

A 回答 (5件)

#3ですが、ちょっと訂正です。


後半の「月日均等幅書式」の方コードを1ヶ所(12行目)訂正しましたので、こちらを使ってください。

Sub 和暦日付均等幅書式()
Dim Rng As Range
Dim Syoshiki As String
Dim Hani
On Error Resume Next
Set Hani = Application.InputBox(Prompt:=vbLf & "日付け入力範囲を" & _
    "選択して、[OK]を押してください。", Type:=8)
If Err.Number > 0 Then Exit Sub
For Each Rng In Hani
  Syoshiki = ""
  If IsDate(Rng.Value) Then
    If Val(Format(Rng.Value, "e")) < 10 Then
      Syoshiki = "ggg e年"
    Else
      Syoshiki = "ggge年"
    End If
    If Month(Rng.Value) < 10 Then
      Syoshiki = Syoshiki & " m月"
    Else
      Syoshiki = Syoshiki & "m月"
    End If
    If Day(Rng.Value) < 10 Then
      Syoshiki = Syoshiki & " d日"
    Else
      Syoshiki = Syoshiki & "d日"
    End If
    Rng.NumberFormatLocal = Syoshiki
    Rng.Font.Name = "MS ゴシック"
  End If
Next Rng
End Sub
    • good
    • 0
この回答へのお礼

^^すごいですね。ありがとうございます。頂戴します。

お礼日時:2004/01/21 20:47

参考にならないかも知れませんが、私は以下の方法を使用します。


・実際の日付が入っているセルは非表示。
・別セルに以下の関数にて表示。(例はセルA1に日付が入っている場合です。)
=IF(AND(MONTH(A1)<10,DAY(A1)<10),TEXT(A1," m/ d"),IF(MONTH(A1)<10,TEXT(A1," m/dd"),IF(DAY(A1)<10,TEXT(A1,"mm/ d"),TEXT(A1,"mm/dd"))))

一応それっぽく見えます。
    • good
    • 0
この回答へのお礼

ありがとうございます。
関数慣れしてると、そのような式も思い浮かぶのですね。(自分もそうなりたい)

=IF(AND(MONTH(A1)<10,DAY(A1)<10),TEXT(A1," m月 d日"),IF(MONTH(A1)<10,TEXT(A1," m月dd日"),IF(DAY(A1)<10,TEXT(A1,"mm月 d日"),TEXT(A1,"mm月dd日"))))

と変えて利用できます。

お礼が遅くなりスミマセン。^^

お礼日時:2004/01/29 21:16

日付形式を保ち、自動的に表示幅を揃えるには、VBAで処理することになると思います。



もし、それで宜しかったら、次の方法でテストしてみてください。

質問では、月日だけの表示になっていますが、和暦年月日と両方作っておきますので
好きな方を使ってください。(さらに必要あれば、コード上で書式を変えてください。)

1.Alt + F11 で VBE(Visual Basic Editor)を開きます。
2.VBE のメニューから[挿入] -->[標準モジュール] を指定します。
3.モジュールウィンドウに下記コードをコピーして貼り付けます。
4.Alt + Q (または、右上隅の×)でウィンドウを閉じ、シートに戻ります。
5.メニューから[ツール]-->[マクロ]-->[セキュリティ]で「セキュリティレベル」を
 「中」にして[OK]します。
6.実行するときは、Alt + F8 (メニューから[ツール]-->[マクロ]-->[マクロ])で
 例えば「和暦日付均等幅書式」を指定し、[実行]ボタンを押します。

書式変換する範囲を聞いてきますので、選択状態にして[OK]します。
これで如何でしょう。
一括変換の他に、入力の都度、変換する方法もあります。

Sub 月日均等幅書式()
Dim Rng As Range
Dim Syoshiki As String
Dim Hani
On Error Resume Next
Set Hani = Application.InputBox(Prompt:=vbLf & "日付け入力範囲を" & _
    "選択して、[OK]を押してください。", Type:=8)
If Err.Number > 0 Then Exit Sub
For Each Rng In Hani
  Syoshiki = ""
  If IsDate(Rng.Value) Then
    If Month(Rng.Value) < 10 Then
      Syoshiki = Syoshiki & " m月"
    Else
      Syoshiki = Syoshiki & "m月"
    End If
    If Day(Rng.Value) < 10 Then
      Syoshiki = Syoshiki & " d日"
    Else
      Syoshiki = Syoshiki & "d日"
    End If
    Rng.NumberFormatLocal = Syoshiki
    Rng.Font.Name = "MS ゴシック"
  End If
Next Rng
End Sub

Sub 和暦日付均等幅書式()
Dim Rng As Range
Dim Syoshiki As String
Dim Hani
On Error Resume Next
Set Hani = Application.InputBox(Prompt:=vbLf & "日付け入力範囲を" & _
    "選択して、[OK]を押してください。", Type:=8)
If Err.Number > 0 Then Exit Sub
For Each Rng In Hani
  Syoshiki = ""
  If IsDate(Rng.Value) Then
    If Year(Rng.Value) < 10 Then
      Syoshiki = "ggg e""年"""
    Else
      Syoshiki = "ggge""年"""
    End If
    If Month(Rng.Value) < 10 Then
      Syoshiki = Syoshiki & " m月"
    Else
      Syoshiki = Syoshiki & "m月"
    End If
    If Day(Rng.Value) < 10 Then
      Syoshiki = Syoshiki & " d日"
    Else
      Syoshiki = Syoshiki & "d日"
    End If
    Rng.NumberFormatLocal = Syoshiki
    Rng.Font.Name = "MS ゴシック"
  End If
Next Rng
End Sub
    • good
    • 0

その場合は、そのセルの書式を文字列にしてやれば、数字としてでは無く、文字として認識してくれるので数字が全角、半角問わずスペースも入力出来ます。

この回答への補足

やはり、文字列にして入力するしかないのでしょうか 。

補足日時:2004/01/19 20:40
    • good
    • 0

A1 に 1月19日といれたら、書式設定でユーザー定義



1月(半角sp)19日

で 1月 19日 と出ます。

同様に 1なら ユーザー定義 半角sp で 半角sp1

になります。

この回答への補足

「 7月 4日」「 7月12日」「12月 4日」というように
十の位の無い月と日だけ半角スペースを前に入れたいのですが 。

補足日時:2004/01/19 20:37
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


人気Q&Aランキング