|
|
| Excel VBA Macro ・ セル制御 ・ FAQ |
|
A1セルへ所定値が入力されたときに別シートのセルのフォントサイズを変更するには?
|
|
|
|
Question 5306 |
「そのまま使える実用マクロ 500連発」 |
 |
 |
|
|
サンプル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
|
|
|
|
|