• ベストアンサー

セルの書式設定で一部のフォントサイズを変更したい

Excel 2010を使用しているのですが、「セルの書式設定」についてわからないことがあります。 「セルの書式設定」→「ユーザー定義」で「hh:mm "PDT"」という書式を作成したところ、「10:00 PDT」と表示されました。この「PDT」という文字の部分だけフォントを小さくしたいのですが、こういった設定は可能なのでしょうか? なにか良いアイデアがありましたらご教授願います。

質問者が選んだベストアンサー

  • ベストアンサー
  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.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

77599
質問者

お礼

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

専門家に質問してみよう