String 输入文本时将两个单元格中的字符串连接起来,然后关闭循环

String 输入文本时将两个单元格中的字符串连接起来,然后关闭循环,string,excel,vba,String,Excel,Vba,在将数据输入单元格时,我希望从另一个单元格中获取字符串,并将两者连接起来。当单元格为空时,不会发生这种情况。问题是If语句查找非空单元格并连接字符串。这对于第一个文本输入来说很好,但是在它连接两个字符串之后,单元格不再是空的,循环继续,不断地将相同的字符串附加到不断增长的连接中。连接一次后,如何使循环停止 If Sheets(1).Range("AC5").Value <> "" Then Sheets(1).Range("AC5").Value = Sheets(1).Ra

在将数据输入单元格时,我希望从另一个单元格中获取字符串,并将两者连接起来。当单元格为空时,不会发生这种情况。问题是If语句查找非空单元格并连接字符串。这对于第一个文本输入来说很好,但是在它连接两个字符串之后,单元格不再是空的,循环继续,不断地将相同的字符串附加到不断增长的连接中。连接一次后,如何使循环停止

If Sheets(1).Range("AC5").Value <> "" Then
    Sheets(1).Range("AC5").Value = Sheets(1).Range("k5").Value & " - " & Sheets(1).Range("AC5").Value

Else: Sheets(1).Range("AC5").Value = ""
End If
如果表(1).范围(“AC5”).值为“”,则
表(1).范围(“AC5”).值=表(1).范围(“k5”).值和表(1).范围(“AC5”).值
其他:表(1).范围(“AC5”).Value=“”
如果结束

您可以使用
InStr
检查标题单元格是否已连接:

If InStr(Sheets(1).Range("AC5").Value, Sheets(1).Range("k5").Value) = 1 Then
 ....

我假设这是在工作表更改事件中。请在开始时尝试
application.enableevents=False
,并在结束时将其设置为true。很抱歉,这是一个选择更改事件,不幸的是,此解决方案不起作用。请显示更多代码,您所显示的内容中没有理由出现无休止的循环。此外,您的工作表\u更改事件中有什么内容?