gpt4 book ai didi

Excel VBA : How to only allow macro to make cell input

转载 作者:行者123 更新时间:2023-12-03 02:31:13 25 4
gpt4 key购买 nike

我目前正在处理一个工作表,该工作表应使用不同的用户表单来执行任务和计算。用户表单通过按钮调用。

因此用户的所有输入都应该通过这些用户表单进行;实际的工作表应仅包含只读的结果(对于用户)。

问题:

  1. 保护工作表还将防止宏进行更改。
  2. 以下代码与保护工作表存在相同的问题。

    Private Sub Worksheet_Change(ByVal Target As Range)
    If Not IsEmpty(Target) Then
    Target.Clear
    MsgBox "SomeAlertMSG"
    End If
    End Sub

有什么建议如何在不使用自制 bool 标志的情况下完成此任务吗?

最佳答案

调用另一个子程序来为您写入范围并处理事件,如下所示:

Sub WriteToCell(ByVal cell As Excel.Range, ByVal cellValue)
Application.EnableEvents = False
cell.Value = cellValue
Application.EnableEvents = True
End Sub

然后在您的用户表单中,当您想向某个范围写入内容时,只需编写:

WriteToCell Sheets("someSheet").Range("A1"), "I can stay here!"

关于Excel VBA : How to only allow macro to make cell input,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42925103/

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