VBA全新,需要详细说明帮助(我的虚拟版本)。
我有一个包含各种列和以下列的表,特别是:
ReviewerComments NewComment
我创建了一个包含这两个字段的表单,需要创建一个Append Comment按钮,从NewComment字段移动文本并将其附加到ReviewerComment字段,并在添加注释时将时间/日期标记为注释。我将此按钮命名为cmdAppendComment。
我曾见过其他人发帖,但我尝试了,但由于我对此完全陌生,所以我知道我搞砸了。非常感谢任何帮助。
这就是VBA代码现在的样子:
Private Sub cmdAppendComment_Click()
If (IsNull(NewComment.Value)) Then
MsgBox ("Please provide a comment before clicking" & _
"on the Append Comment button.")
Exit Sub
End If
If (IsNull(ReviewerComments.Value)) Then
ReviewerComments.Value = NewComment.Value & " ~ " & _
VBA.DateTime.Date & " ~ " & VBA.DateTime.Time
Else
ReviewerComments.Value = ReviewerComments.Value & _
vbNewLine & vbNewLine & _
NewComment.Value & " ~ " & _
VBA.DateTime.Date & " ~ " & VBA.DateTime.Time
End If
NewComment.Value = ""
End Sub
答案 0 :(得分:1)
我对您的代码有一些建议:
1。请勿检查文本框是否为空,但文本框的字符数是多少。你应该总是这样做,否则你往往会得到错误。
If (len(Me.NewComment.Value & "") > 0) Then
MsgBox ("Please provide a comment before clicking" & _
"on the Append Comment button.")
Exit Sub
End If
在此处检查文本框中字符串的长度。你需要追加""因为否则你往往会得到零错误或类似的东西。
2。您忘记正确引用表单中的对象。你有自己的表单,并以这种形式放置文本框和VBA代码。您可以使用" Me。[FormObjects]"。
引用所有对象编译器抱怨" NewComment.Value"或者" ReviewerComment.Value"未初始化或换句话说没有标注尺寸。如果正确引用,应该停止。
Private Sub cmdAppendComment_Click()
If (len(Me.NewComment.Value & "") > 0) Then
MsgBox ("Please provide a comment before clicking" & _
"on the Append Comment button.")
Exit Sub
End If
If (IsNull(Me.ReviewerComments.Value)) Then
Me.ReviewerComments.Value = Me.NewComment.Value & " ~ " & _
VBA.DateTime.Date & " ~ " & VBA.DateTime.Time
Else
Me.ReviewerComments.Value = Me.ReviewerComments.Value & _
vbNewLine & vbNewLine & _
Me.NewComment.Value & " ~ " & _
VBA.DateTime.Date & " ~ " & VBA.DateTime.Time
End If
Me.NewComment.Value = ""
End Sub