excel 需要从列G中减去值到列H,当列J被点击并通过VBA将其存储在单元格M3中

wn9m85ua  于 2023-06-25  发布在  其他
关注(0)|答案(1)|浏览(110)

需要减去值从列G到列H(G-H)当列J被点击并存储在特定的单元格M3通过VBA,这将发生在整个范围即G4:G76,H4:H76 & J 4:J76
如果仅点击J 4单元格,则将减去(G4-H4),如果点击J5单元格,则将减去(G5-H5),如果点击J6单元格,则将减去(G6-H6),并根据点击哪一行将值存储并覆盖在M3中,依此类推
我试过下面的代码,这个宏可以在J列中的任何单元格被点击时调用,但是这会在整个M列中显示它。我不需要,只有当J列中的相应单元格被单击时,它才应该显示仅在单元格M3中的计算。

Sub FormulasNoLoops()

Dim LastRow As Long
LastRow = Cells(Rows.Count, "G").End(xlUp).Row
Range("M4:M" & LastRow) = Evaluate("G4:G" & LastRow & "-H4:H" & LastRow)

End Sub

宏调用代码

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Selection.Count = 1 Then
        If Not Intersect(Target, Range("J4")) Is Nothing Then
            Call FormulasNoLoops
        End If
    End If
End Sub
ibrsph3r

ibrsph3r1#

你可以这样做:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Target.Count = 1 Then
        If Not Intersect(Target, Range("J:J")) Is Nothing Then
            With Target.EntireRow
                .Columns("M").value = .Columns("G").Value - .Columns("H").Value
            End With
        End If
    End If
End Sub

相关问题