Excel VBA是否在保存前等待UserForm的响应并导入表?
如何让VBA等待来自UserForm“SavePrompt”的响应,然后根据选择(确定或取消)让VBA继续 我需要用户在工作簿保存之前填写一个文本框 然后将该信息导入表1的B列。 列A是当前日期和时间Excel VBA是否在保存前等待UserForm的响应并导入表?,excel,wait,before-save,vba,Excel,Wait,Before Save,Vba,如何让VBA等待来自UserForm“SavePrompt”的响应,然后根据选择(确定或取消)让VBA继续 我需要用户在工作簿保存之前填写一个文本框 然后将该信息导入表1的B列。 列A是当前日期和时间 Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean) Dim ws As Worksheet Set ws = Sheets("EDITS") Dim tbl As List
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Dim ws As Worksheet
Set ws = Sheets("EDITS")
Dim tbl As ListObject
Set tbl = ws.ListObjects("Table1")
Dim newrow As ListRow
Set newrow = tbl.ListRows.Add
SavePrompt.Show
With newrow
.Range(1) = Now
.Range(2) = TextBox1 'this is from the SavePrompt Userform
End With
End Sub
TextBox1
是SavePrompt
实例的属性,不是变量
与此相反:
With newrow
.Range(1) = Now
.Range(2) = TextBox1 'this is from the SavePrompt Userform
End With
。。。你应该这样写:
With newrow
.Range(1) = Now
.Range(2) = SavePrompt.TextBox1.Text
End With
这已经发生了。
SavePrompt.Show
之后的代码仅在表单关闭后执行。可能会重复此代码。谢谢。但是.Range(2)=SavePrompt.TextBox1.Text没有填充B列。我缺少什么?就在我问了前面的评论/问题“我缺少什么?”之后,我发现了。我补充说。。。Private Sub CommandButton1_Click()SavePrompt.Hide End Sub我忘了做这个,正试图用右上角的close X保存。我的任命。谢谢你的帮助!