Vba 工作表\u更改-3列乘法求值
我是vba新手,很沮丧 我有以下代码:Vba 工作表\u更改-3列乘法求值,vba,Vba,我是vba新手,很沮丧 我有以下代码: Private Sub Worksheet_Change(ByVal Target As Range) Dim VolRange As Range Dim AffectVolRange As Range Set VolRange = ActiveSheet.Range("AH:AK") Set AffectVolRange = Intersect(Target, VolRange)
Private Sub Worksheet_Change(ByVal Target As Range)
Dim VolRange As Range
Dim AffectVolRange As Range
Set VolRange = ActiveSheet.Range("AH:AK")
Set AffectVolRange = Intersect(Target, VolRange)
If Not AffectVolRange Is Nothing Then
Dim vRow As Variant
For Each vRow In AffectVolRange.Rows
With VolRange
Cells(vRow.Row, 37).Value = .Cells(vRow.Row, 34).Value * .Cells(vRow.Row, 35).Value *
.Cells(vRow.Row, 36).Value
End With
Next vRow
End If
End Sub
第34、35、36列中的初始值为空您都知道了。
考虑到您的列索引是相对于新范围的,所以是1、2、3、4。
此外,您还需要使用Application.EnableEvents=False
禁用事件,以避免对代码事件更改的单元格上的函数进行递归调用
Private Sub Worksheet_Change(ByVal Target As Range)
Dim VolRange As Range
Dim AffectVolRange As Range
Set VolRange = ActiveSheet.Range("AH:AK")
Set AffectVolRange = Intersect(Target, VolRange)
If Not AffectVolRange Is Nothing Then
Dim vRow As Variant
Application.EnableEvents = False
For Each vRow In AffectVolRange.Rows
With VolRange
.Cells(vRow.Row, 4).Value = .Cells(vRow.Row, 1).Value _
* .Cells(vRow.Row, 2).Value _
* .Cells(vRow.Row, 3).Value
End With
Next vRow
Application.EnableEvents = True
End If
End Sub
你都明白了。
考虑到您的列索引是相对于新范围的,所以是1、2、3、4。
此外,您还需要使用Application.EnableEvents=False
禁用事件,以避免对代码事件更改的单元格上的函数进行递归调用
Private Sub Worksheet_Change(ByVal Target As Range)
Dim VolRange As Range
Dim AffectVolRange As Range
Set VolRange = ActiveSheet.Range("AH:AK")
Set AffectVolRange = Intersect(Target, VolRange)
If Not AffectVolRange Is Nothing Then
Dim vRow As Variant
Application.EnableEvents = False
For Each vRow In AffectVolRange.Rows
With VolRange
.Cells(vRow.Row, 4).Value = .Cells(vRow.Row, 1).Value _
* .Cells(vRow.Row, 2).Value _
* .Cells(vRow.Row, 3).Value
End With
Next vRow
Application.EnableEvents = True
End If
End Sub
您需要解释您在做什么,您得到了什么结果,以及您期望得到什么结果。用户将第34、35、36和I列中的值填充为34*35*36的结果,第37列除外。在同一小节中,我有另一个计算方法,效果很好。你需要解释你在做什么,你得到了什么结果,你期望得到什么结果。用户将第34、35、36和I列中的值(第37列除外)填充为34*35*36的结果。在同一个潜艇中,我有另一个计算,效果很好