首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何利用RightClick函数在表格中选择多个单元格进行计算?

如何利用RightClick函数在表格中选择多个单元格进行计算?
EN

Stack Overflow用户
提问于 2018-08-01 02:08:41
回答 1查看 42关注 0票数 1

我有一个表,看起来像这样:

代码语言:javascript
复制
Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
If Not Intersect(Target, Range("C25:C35", "I25:I35")) Is Nothing Then
    If Target.Cells.Count = 1 Then
        Cancel = True
        Sheets("Sheet1").Range("G42") = Target.Value

Cancel = True
Target.Interior.Color = vbGreen
   End If
End If
End Sub

当我右击CLTV Table中的任何单元格时,它会突出显示绿色,并自动填充下面突出显示为黄色的单元格中的值。我可以选择多个单元格,所有单元格都以绿色突出显示,但是,右键单击的最后一个单元格将自动填充Total Purp./Char.LLPAs (#2):字段中的值。

我希望实现的是能够右键单击表中的多个单元格(所有单元格都高亮显示,如示例所示),并以某种方式添加选定的单元格0.250 + 0.375 + 0.250 + 0.500,并将总和自动填充到Total Purp./Char.LLPAs (#2):字段中。

这有可能吗?

提前谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-08-01 02:25:26

试试这个--我想这就是你要找的?需要更多的澄清

代码语言:javascript
复制
Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)

Dim cell As Range

If Not Intersect(Target, Range("C25:C35", "I25:I35")) Is Nothing Then

    If Target.Cells.Count = 1 Then

        Cancel = True
        Sheets("Sheet1").Range("G42") = 0
        Target.Interior.Color = vbGreen

        For Each cell In Range("C25:C35", "I25:I35")
            If cell.Interior.Color = vbGreen Then
                Sheets("Sheet1").Range("G42") = Sheets("Sheet1").Range("G42") + cell.Value
            End If
        Next cell

    End If

End If

End Sub

要重置所有颜色,请将其分配给按钮或单独运行:

代码语言:javascript
复制
Sub ResetColors()

Sheets("Sheet1").Range("G42") = 0

With Range("C25:C35", "I25:I35").Interior
    .Pattern = xlNone
    .TintAndShade = 0
    .PatternTintAndShade = 0
End With

End Sub
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51619564

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档