- ベストアンサー
【EXCEL2003】特定値を入力したセルのフォントサイズを変更するVBAの書き方
VBAの書き方について御教授ください! 複数のシートに入力規則のリスト設定で入力値が決まっているA列があります。(例えば「ア」「イ」「ウ」) そのリストのうち特定の値(例えば「ア」と「ウ」)を選択時に、そのセルのフォントサイズを14に自動的に変更したいです。 条件付書式で設定しようと思ったのですがサイズ変更は無理なようです。 どうぞよろしくお願いいたします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
一例です。 A列の入力規則の範囲をA1:A5のみ有効としています。 Private Sub Worksheet_Change(ByVal Target As Range) If Intersect(Target, Range("A1:A5")) Is Nothing Then Exit Sub Select Case Target.Value Case "ア", "ウ" Target.Font.Size = 14 Case Else Target.Font.Size = 10.5 End Select End Sub
その他の回答 (2)
- nattocurry
- ベストアンサー率31% (587/1853)
ThisWorkBookモジュールに、 Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range) If Not Intersect(Target, Sh.Columns("A")) Is Nothing Then If Target.Value = "ア" Or Target.Value = "ウ" Then Target.Font.Size = 14 Else Target.Font.Size = 10.5 End If End If End Sub と書けば、値が変更されたセル(Target)が、各シートのA列(Sh.Columns("A"))だったら、変更された値(Target.Value)がアかウのときに、フォントサイズ(Target.Font.Size)が14に、それ以外のときは10.5に変更されます。 これを応用して、色を変えたりすることもできます。 どうすれば色を変えることが出来るのかは、手動で色を変えて、それを「マクロの記録」で記録してみれば解るはずです。
お礼
早速の回答ありがとうございます。 説明不足で申し訳なかったのですが、、 シートをコピーして別ブックとして利用する場合があるので ブックではなくシート毎にVBAを書き込みたいのです。 実行したところ、ブック単位でのVBAの書き方はこうなんだと、とても勉強になりました。ありがとうございました。
- xls88
- ベストアンサー率56% (669/1189)
試されているコードがあれば提示してください。 「マクロの記録」で得られたコードでも結構です。 一例です。 Sub test1() If ActiveCell.Value = "ア" Then ActiveCell.Font.Size = 14 End If End Sub
お礼
早速の回答ありがとうございました。
お礼
mu2011様 回答どうもありがとうございました! 実行してみましたところ見事に変更できました。 今後の勉強に生かしていきたいと思います。