プロが教えるわが家の防犯対策術!

Excel 2010を使用しているのですが、「セルの書式設定」についてわからないことがあります。

「セルの書式設定」→「ユーザー定義」で「hh:mm "PDT"」という書式を作成したところ、「10:00 PDT」と表示されました。この「PDT」という文字の部分だけフォントを小さくしたいのですが、こういった設定は可能なのでしょうか?

なにか良いアイデアがありましたらご教授願います。

A 回答 (1件)

こんにちは!


セルの表示形式の操作だけでは無理だと思います。

いくらセルの表示形式で「PDT」を表示させたとしても、実データは入力した時刻(時間)のシリアル値になりますので
一旦文字列にして「PDT」という文字を付け加えてやる必要があります。
ただ、セル内の文字全部のフォント変更であれば簡単ですが、部分的に変更となると
手作業で行うにしてもかなり手間がかかってしまいますね!

ただ、これでは何もお役に立てないのでVBAになってしまいますが、一例です。

A列に時刻(時間)を入力するとします。

画面左下の操作したいSheet見出し上で右クリック → コードの表示 → VBE画面に
↓のコードをコピー&ペーストしてA列に入力してみてください。

Private Sub Worksheet_Change(ByVal Target As Range) 'この行から
Dim tmp
If Application.Intersect(Target, Range("A:A")) Is Nothing Or Target.Count <> 1 Then Exit Sub
'↑ A:Aの部分は実際の表示したい列に!
Application.EnableEvents = False
With Target
If IsNumeric(.Value) Then
tmp = WorksheetFunction.Text(WorksheetFunction.Round(.Value, 5), "hh:mm")
.Value = tmp & "PDT"
.Characters(Start:=Len(tmp) + 1, Length:=3).Font.Size = 8 '←フォントサイズは「8」
End If
End With
Application.EnableEvents = True
End Sub 'この行まで

※ フォントサイズは「8」ポイントとしています。

※ 質問にあるように表示形式だけ変更するのであればA列に表示されているデータは数値ですので
計算に使用できますが、上記方法で表示されているデータは文字列になります。
すなわち計算できるデータではありませんので、
もし計算する必要がある場合は、「PDT」を隣のセル表示させたりする工夫が必要になると思います。m(_ _)m
    • good
    • 0
この回答へのお礼

大変丁寧な回答をありがとうございました!残念ながら計算する必要があるので、隣のセルを使用する方向で考えてみたいと思います。

お礼日時:2013/06/22 12:09

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

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A