gpt4 book ai didi

vba - Excel:VBA 保留具有来自其他用户的明确内容事件的公式

转载 作者:行者123 更新时间:2023-12-04 21:23:03 28 4
gpt4 key购买 nike

问题

我为一个 15 人的团队管理一个 Excel 文件中的加权决策矩阵。文件中有 10 列包含公式。这些公式根据用户在其他单元格中选择的选项计算总加权分数。

有时用户需要删除一个条目。我的团队常用的删除方法包括选择整行并执行以下操作之一:

  • 按删除键。
  • 右键单击并选择“清除内容”。
  • 从主页选项卡上的编辑组中选择“清除内容”。

  • 所有这些方法还清除了计算加权分数的公式。

    上面描述的方法对我团队的大多数人来说都是直观的,所以我想找到一种方法让人们在不清除公式的情况下使用这些方法。

    梦想

    允许用户在使用上述任何方法清除单元格时清除除公式之外的所有内容。

    我尝试过的事情
  • 仅锁定公式单元格。这可以防止用户清除公式,但是当他们选择整行时,他们无法清除其他单元格中的内容,因为该行中的公式单元格被锁定。
  • 下面的宏。该宏将清除常量并保留公式,但是当“清除内容”事件发生时,我无法让它自动触发。我担心我的团队的所有成员都运行这个宏而不是使用他们的常规方法来清除内容是愚蠢的差事。
    Sub ClearOnlyValues()
    Dim Cel As Range

    Application.EnableEvents = False
    Application.Calculation = xlCalculationManual

    For Each Cel In Selection
    If InStr(Cel.Formula, "=") = 0 And Cel.Value <> "" Then
    Cel.ClearContents
    End If
    Next Cel

    Application.EnableEvents = True
    Application.Calculation = xlCalculationAutomatic

    End Sub
  • 谷歌。每次你想清除内容时,我能找到的唯一宏都必须手动运行,无数帖子演示了清除常量的 Go To Special 方法。见上面的傻瓜差事。如果他们不能直观地清除细胞,我们就会陷入困惑。猫和狗住在一起。这将是无政府状态。
  • 比我聪明得多的高级 Excel 用户。他们都难住了。

  • 如果你还在我身边,谢谢你抽出宝贵的时间。

    最佳答案

    在您的 Excel VBA 代码中尝试这些常量:

    Sheet1.Range("B3:E20").SpecialCells(xlCellTypeConstants).ClearContents

    无需保护细胞。这将清除单元格内容而不删除公式。

    关于vba - Excel:VBA 保留具有来自其他用户的明确内容事件的公式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36296252/

    28 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com