【发布时间】:2021-04-27 13:49:24
【问题描述】:
实际上,我正在编写一个代码,如果我在单元格 B1 中输入“Hello”,它将在第 1 列中找到第一个空白单元格并输入“1”。但问题是当我输入“你好”时,第 1 列的所有单元格都被“1”填充。 这是代码:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim ws As Worksheet
Set ws = ActiveSheet
If Range("B1").Value = "Hello" Then
For Each cell In ws.Columns(1).Cells
If IsEmpty(cell) = True Then cell.Value = "1": Exit For
Next cell
End If
End Sub
其实我知道我的代码有问题。当我在单元格 B1 中输入 hello 时,循环调用。当循环找到输入时,它会无限执行。但我不能让循环只执行一次。请帮助任何人!
【问题讨论】:
-
在代码的开头可以 enableEvents 为 false,然后在代码的末尾 enableEvents 为 true。这将停止你的无限循环
-
我是 vba 新手。你能重写你建议的代码吗?
-
非常感谢兄弟。解决了!