Excel 2007 – 将VBA工作簿语法应用于工作表中使用的代码 – 获得不同的结果

我是VBA新手,请耐心等待。

我已经search了该网站的答案,但没有find它。

当Excel 2007中input为工作表VBA时,如果A列中的单元格突出显示,则缩放增加到120,当列A以外的单元格突出显示时,缩放恢复到75。

Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Target.Cells.Count > 1 Then Exit Sub If Target.Column = 1 Then ActiveWindow.Zoom = 120 Else ActiveWindow.Zoom = 75 End If End Sub 

我想将这个代码应用到整个工作簿,所以我把它放在“ThisWorkbook”区域,并更改语法如下:

 Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range) If Target.Cells.Count > 1 Then Exit Sub If Target.Column = 1 Then ActiveWindow.Zoom = 120 Else ActiveWindow.Zoom = 75 End If End Sub 

但是,我没有得到相同的结果。

在第二种情况下,列A中的单元格在高亮显示时不会自动缩放到120。 当我在列A中select或input一个值时,它们只能缩放。之后,缩放保持在120,不会恢复到75。

请帮忙。

谢谢。

您在Workbook使用了错误的事件

使用Workbook_SheetSelectionChange