在下圖所示的工作表中, 當在B列和C列輸入數位後, 要求在D列自動添加公式“=數量*單價”。 雖然通過複製公式也可以完成, 但使用VBA事件程式可以有更高的自動化, 更為便捷。
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
Dim X
X = Target.Row
If Cells(X, 2) <> "" And Cells(X, 3) <> "" Then
Cells(X, 4).Formula = "=B" & X & "*C" & X
End If
End Sub
3 代碼要點分析3.1 Workbook_SheetChangeg事件
當工作表中的儲存格“進行編輯”後會觸發該事件
3.2 取得當前編輯的儲存格行數
在Workbook_SheetChange事件程式中, 系統提供的變數Target為當前編輯的儲存格。 所以當前修改的儲存格行數可以用以下方法取得:
Target.Row
3.3 向儲存格中輸入公式
在儲存格中輸入公式的具體語法如下:
Cells(x,4).Formula = "公式運算式"