将注释的“版本”附加到单元格中

如果用户input一个新的评论,它被追加,但在评论之前,应该有一些方式,我们可以传达给用户,你修改它。 我build议如下

不批准。 (这是单元格的初始内容)版本1:已批准。 (这个+以上评论是第一次编辑后的单元格的内容)
版本2:受某些条件的限制。 (这+上面的两个注释是第二次编辑后单元格的内容)。

请在这个逻辑上帮助我,因为我正处于紧迫的期限! :(我很确定我下面有什么不好的

If ActiveCell.Value = "" Then ActiveCell.Value = NRemark Else For i = 1 To 5 ActiveCell.Value = "Version" & i & ":" & ActiveCell.Value & vbNewLine & "Version" & i + 1 & ":" & NRemark Next i End If 

试试这个:(创build初始版本为版本1.在version =结尾添加一个新的注释,以前一个版本加1.它通过向后searchstring中的所有字符直到find一个数字来find以前的版本。您的评论不包含数字,否则您将需要使用我的其他代码!)

 If ActiveCell.Value = "" Then ActiveCell.Value = "Version 1: " & NRemark Else If ActiveCell.Find("Version", LookIn:=xlValues, LookAt:=xlPart) is Nothing Then ActiveCell.Value = "Version 1: " & ActiveCell.Value Else End If For i = Len(ActiveCell.Value) to 1 Step -1 currentChar = Mid(ActiveCell.Value, i, 1) If isnumeric(currentChar) = True Then Exit For Else End If Next i ActiveCell.Value = ActiveCell.Value & vbNewLine & "Version" & CInt(currentChar) + 1 & ": ", & NRemark ActiveCell.WrapText = True End If 

如果您的评论包含数字字符,则:(在开始处添加新版本,以便在注释后面有数字字符时,search当前版本号)

 If ActiveCell.Value = "" Then ActiveCell.Value = "Version 1: " & NRemark Else If ActiveCell.Find("Version", LookIn:=xlValues, LookAt:=xlPart) is Nothing Then ActiveCell.Value = "Version 1: " & ActiveCell.Value Else End If For i = 1 To Len(ActiveCell.Value) currentChar = Mid(ActiveCell.Value, i, 1) If IsNumeric(currentChar) = True Then Exit For Else End If Next i ActiveCell.Value = "Version" & CInt(currentChar) + 1 & ": " & NRemark & vbNewLine & ActiveCell.Value ActiveCell.WrapText = True End If