Excel 更改选定单元格字符的颜色和大小(如果未选中,则返回初始状态)

Excel 更改选定单元格字符的颜色和大小(如果未选中,则返回初始状态),excel,vba,events,Excel,Vba,Events,我尝试用事件工作表\u selectionChange开发一个小宏,以便在选择单元格时,我希望里面的字符变大一点,单元格的颜色变为绿色。然后,当我取消选择单元格以选择另一个单元格时,我希望未选择的单元格返回到初始状态(这意味着没有颜色,字符大小与选择单元格之前完全相同)。。。显然,我的宏的大小与我想要的字符大小完全相同(当我选择单元格时,字符的大小会改变,当我取消选择单元格时,单元格字符的大小会恢复到与选择之前完全相同的大小)。但是,对于颜色,它的工作方式与我希望的不一样,实际上,当我选择宏时,

我尝试用事件工作表\u selectionChange开发一个小宏,以便在选择单元格时,我希望里面的字符变大一点,单元格的颜色变为绿色。然后,当我取消选择单元格以选择另一个单元格时,我希望未选择的单元格返回到初始状态(这意味着没有颜色,字符大小与选择单元格之前完全相同)。。。显然,我的宏的大小与我想要的字符大小完全相同(当我选择单元格时,字符的大小会改变,当我取消选择单元格时,单元格字符的大小会恢复到与选择之前完全相同的大小)。但是,对于颜色,它的工作方式与我希望的不一样,实际上,当我选择宏时,它会更改单元格的颜色(绿色),但当我取消选择它(选择另一个单元格)时,颜色仍保留在单元格内。。。请在下面找到我的vba代码(PS:我只将此代码放在excel文件(Sheet1)的一页中,因为我希望此代码仅适用于我文件中的此页,提前感谢您的帮助。Xavi

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    LargeSize = FontSize * 1.2
    Cells.Font.Size = FontSize
    ActiveCell.Font.Size = LargeSize
    ActiveCell.Font.Size = LargeSize

    With Selection.Interior
        .Pattern = xlSolid
        .PatternColorIndex = xlAutomatic
        .Color = 49407
        .TintAndShade = 0
        .PatternTintAndShade = 0
    End With
End Sub
试试这个

Const FontSize As Integer = 12
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    LargeSize = FontSize * 1.2
    With Cells
        .Font.Size = FontSize
        .Interior.Color = xlNone
    End With
    With Target
        .Font.Size = LargeSize
        .Interior.Color = 49407
    End With

End Sub
试试这个

Const FontSize As Integer = 12
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    LargeSize = FontSize * 1.2
    With Cells
        .Font.Size = FontSize
        .Interior.Color = xlNone
    End With
    With Target
        .Font.Size = LargeSize
        .Interior.Color = 49407
    End With

End Sub

非常感谢您,Dy.Lee,但不幸的是,此代码不起作用,当我在工作表中选择单元格时,我收到一条错误消息:“运行时错误1004:无法设置字体类属性的大小”@哈维,你设置了FontSize吗?非常感谢Dy.Lee!现在它工作得很好,我也理解了逻辑,你将LargeSize定义为常量,否则代码无法工作…非常感谢Dy.Lee,但不幸的是,此代码无法工作,我在工作表中选择单元格时收到错误消息:“运行时错误1004:无法设置字体类的属性大小”@Xavi,您设置了FontSize吗?非常感谢Dy.Lee!现在它工作得很好,我也理解了逻辑,您将LargeSize定义为常量,否则代码无法工作。。。