如果用户输入新评论,则会附加该评论,但在评论之前,我们可以通过某种方式向用户传达您修改过的评论。我建议的是以下
未获批准。 (这是单元格的初始内容)
版本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
答案 0 :(得分:3)
试试这个:(创建初始备注作为版本1.在最后添加一个新的备注,版本=到先前版本加1.它通过向后搜索字符串中的所有字符找到以前的版本,直到找到一个数字。只有在您的评论不包含数字的情况下才能工作!否则您将需要使用我的其他代码!)
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
如果您的评论包含数字字符,则:(在开头放置新版本,以便在评论中稍后有数字字符时搜索当前版本号)
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