2013-02-17 38 views
0

我是VBA新手,所以請多多包涵。Excel 2007中 - 用VBA工作簿語法在工作表中使用的代碼 - 讓不同的結果

我已經搜索該網站的一個答案,但沒找到。

我有這個VBA代碼的工作原理與我在Excel 2007中輸入工作表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列中的值之後,將變焦停留在120,並且不恢復到75

請幫助。

謝謝。

回答

2

你用錯了事件Workbook

使用Workbook_SheetSelectionChange

+0

完美!非常感謝。 – user2080159 2013-02-17 10:01:25

相關問題