EXCEL 如何用VBA检测 某单元格必须被重新编辑一次,才继续执行后面的代码?

请教高手,如果用VBA 实现: A1单元格的内容,必须重新被编辑过,才继续运行后面的打印代码。否则弹窗提示:“请重新编辑A1单元格”。假设刚打开表格时,A1单元格是数字100,必须重新在A1写一次100,才能执行打印的代码。也就是每次执行打印代码之前,都要重新编辑一次单元格A1,哪怕内容一样。

你可以使用VBA的Application.InputBox函数来实现这个功能。首先,你可以在表格的工作簿的模块中编写以下代码:
Private Sub Workbook_Open()
'将A1单元格的值存入变量originalValue
originalValue = Range("A1").Value
End Sub
然后,在你想要执行打印代码之前,添加以下代码来检测A1单元格是否被重新编辑过:
'检测A1单元格是否被重新编辑过
If Range("A1").Value <> originalValue Then
'如果A1单元格已被重新编辑,则执行打印代码
'(这里假设你的打印代码写在名为PrintCode的子程序中)
Call PrintCode
Else
'如果A1单元格未被重新编辑,则弹出提示框
Dim prompt As String
prompt = "请重新编辑A1单元格"
Application.InputBox prompt, Type:=2
End If
上述代码中的Application.InputBox函数会弹出一个提示框,要求用户输入内容。当用户在提示框中输入内容并点击“确定”按钮时,程序会再次检测A1单元格是否被重新编辑过,如果已被重新编辑,则执行打印代码;如果未被重新编辑,则再次弹出提示框。
希望这对你有帮助!
温馨提示:答案为网友推荐,仅供参考
第1个回答  2022-12-16
您可以使用 Worksheet_Change 事件来实现这一目的。Worksheet_Change 事件会在工作表中的单元格值被更改时触发。您可以在您的工作簿中的每个工作表上都定义一个 Worksheet_Change 事件,以便在每个工作表上监视单元格更改。本回答被网友采纳
相似回答