A1セルへ所定値が入力されたときに別シートのセルのフォントサイズを変更するには?
Question 5306 「そのまま使える実用マクロ 500連発」 Previous Next
詳細は こちら サンプルNo. ?  ◆ 環境・・ Excel 2000 & Windows XP

あるページで次のようなコードを見つけて使っていました。ところが、
シート1のA1に1を入力したら、
シート2のB1のフォントサイズが14Pに、シート2のB2のフォントサイズが11Pに
同様に、 シート1のA1に2を入力したら、
シート2のB1のフォントサイズが11Pに、シート2のB2のフォントサイズが14Pと なるように変更したいのですが、分かりません。500連発を探しても分かりません。教えていただけないでしょうか。
Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
    With Target
        Select Case .Address
            Case "$B$1"
                .Font.Size = FontCase01(.Value)
            Case "$B$2"
                .Font.Size = FontCase02(.Value)
        End Select
    End With
End Sub

Private Function FontCase01(TaisyouVal As Long) As Integer
    Select Case TaisyouVal
        Case Is = 1
            FontCase01 = 11
        Case Is = 2
            FontCase01 = 14
        Case Else
            FontCase01 = 11
    End Select
End Function

Private Function FontCase02(TaisyouVal As Long) As Integer
    Select Case TaisyouVal
        Case Is = 1
            FontCase02 = 14
        Case Is = 2
            FontCase02 = 11
        Case Else
            FontCase02 = 11
    End Select
End Function
Answer   Copyright (C) 2007.4.29 永井善王
拙著「Excel VBA そのまま使える実用マクロ 500連発」をご購読、ありがとうございます。

読者様からのご質問は、本に掲載されたマクロについて受け付けていますが、必ずサンプルNo.をお教えいただくよう、お願いします。 また、ご質問内容が掲載マクロの範囲を超える場合などは、常設の
Excel VBA Board、または、期間限定質問 のページをご利用くださいませ。

回答としましては、下記マクロを Sheet1 のコードとして作成されれば、よろしいと思います。
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Address = "$A$1" Then
        If Target.Value = 1 Then
            Worksheets("Sheet2").Range("B1").Font.Size = 14
            Worksheets("Sheet2").Range("B2").Font.Size = 11
        ElseIf Target.Value = 2 Then
            Worksheets("Sheet2").Range("B1").Font.Size = 11
            Worksheets("Sheet2").Range("B2").Font.Size = 14
        End If
    End If
End Sub

 

Excel VBA Macro