VBA-条件格式(字体大小)

VBA-条件格式(字体大小),vba,excel,Vba,Excel,目的:条件格式-字体大小 如果K19=“首付来源:”则K19 font 10,否则为12 如果K21=“Amount:”则K21字体为10,否则为12 尝试: 选项显式 私有子工作表_更改(ByVal目标作为范围) 设置目标=ActiveSheet.Range(“K19”) 如果Target=“首付来源:”则 使用ActiveSheet.Range(“K19”).Font .Name=“Arial” .尺寸=10 以 其他的 使用ActiveSheet.Range(“K19”).Font .N

目的:条件格式-字体大小

如果K19=“首付来源:”则K19 font 10,否则为12

如果K21=“Amount:”则K21字体为10,否则为12

尝试:

选项显式
私有子工作表_更改(ByVal目标作为范围)
设置目标=ActiveSheet.Range(“K19”)
如果Target=“首付来源:”则
使用ActiveSheet.Range(“K19”).Font
.Name=“Arial”
.尺寸=10
以
其他的
使用ActiveSheet.Range(“K19”).Font
.Name=“Arial”
.尺寸=12
以
出口接头

End Sub
解决了当B3变为购买时更改K19和K21的选项。注意:这仅在B3更改时触发

Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Target, Range("B3")) Is Nothing Then
        If Target.Value = "Purchase" Then
            With ActiveSheet.Range("K19").Font
                .Name = "Arial"
                .Size = 10
            End With
            With ActiveSheet.Range("K21").Font
                .Name = "Arial"
                .Size = 10
            End With
        Else
            With ActiveSheet.Range("K19").Font
                .Name = "Arial"
                .Size = 12
            End With
            With ActiveSheet.Range("K21").Font
                .Name = "Arial"
                .Size = 12
            End With
        End If
    End If
End Sub

此代码有效
因此将其更改为
B3
?当它工作时,它有点强制/冗余。你的问题可以归结为“我如何使用If-Then语句”或“我如何使一个范围引用多个单元格?”搜索其中任何一个,你都会找到你的答案。为什么要重置目标?@Bruce Wayne-条件格式与字体大小不匹配。啊,你说得对!对不起,我可以发誓你可以(我用它的字体颜色和粗体,所以数字大小是可以的)。删除
Set Target=ActiveSheet.Range(“K19”)
行,如果为K21单元格添加语句,该行应该可以工作。每次宏触发时,您都会将目标重置为K19。所以,即使你改变了K21,它也会立即改变为K19。