- ベストアンサー
エクセルのフォントサイズの反映
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
その様な設定にしたいシートのシートモジュール(←標準モジュールではありません)に以下の様なVBAを設定されると良いと思います。 Private Sub Worksheet_Change(ByVal Target As Range) Dim c As Range, myRange As Range Set myRange = Intersect(Target, Columns("A:A")) If myRange Is Nothing Then Exit Sub For Each c In myRange If IsNumeric(c) Then If Int(c.Value) = c.Value And c.Value > 0 And c.Value < 410 Then _ Range("B" & c.Row).Font.Size = c.Value End If Next c End Sub もし、VBAの設定方法を御存じなかった場合には、補足欄等でその旨を御知らせいただければ、やり方を説明致します。
その他の回答 (3)
- kagakusuki
- ベストアンサー率51% (2610/5101)
回答No.3です。 失礼しました。 先程の回答で述べたVBAでは、フォントサイズが10.5ptの様な小数点以下の桁を含んでいる数値には対応しておりませんでした。 以下はその点を改善したVBAです。 Private Sub Worksheet_Change(ByVal Target As Range) Dim c As Range, myRange As Range Set myRange = Intersect(Target, Columns("A:A")) If myRange Is Nothing Then Exit Sub For Each c In myRange If IsNumeric(c) And c.Value >= 1 And c.Value <= 409 Then _ Range("B" & c.Row).Font.Size = c.Value Next c End Sub
お礼
2回も回答ありがとうございます。 こちらで試してみます。
- imogasi
- ベストアンサー率27% (4737/17069)
VBAをやれる人なら、すぐ思い付くコードだが、VBAは経験ないのか。 なければむつかしいのではないか。 小生の経験では、またやりたい内容が現実的(実際に必要になること)と思えないが。どんな時(場面)に使うのかな。 こういうときは手操作で、フォント変更をやるのがエクセルとおもうが。 Sheet1のイベントに Private Sub Worksheet_Change(ByVal Target As Range) If Target.Column = 1 Then Target.Offset(0, 1).Font.Size = Target.Value End If End Sub 「A列に値を入れたら」という、セル範囲を、A1:A20などに限定したければ、 If Target.Column = 1 Then を Private Sub Worksheet_Change(ByVal Target As Range) 'If Target.Column = 1 Then If Application.Intersect(Target, Range("A1:A20")) Is Nothing Then Else Target.Offset(0, 1).Font.Size = Target.Value End If End Sub A列のフォントサイズの上限や下限、また数字であるかどうか、プログラムコードに入れていません。 === ちなみに、エクセル2013で条件付き書式の結果でフォントサイズ指定は、出来無いようだね。
お礼
VBAの経験はありません。 試してみようと思います。 ありがとうございました。
- aokii
- ベストアンサー率23% (5210/22062)
条件付書式で、フォントサイズを変更できるルールもあります。
お礼
エクセル2013ではできないようです。 ありがとうございました。
お礼
VBAの設定方法は調べて試してみようと思います。 ありがとうございました。