从用户表单上的文本框更新Excel电子表格

从用户表单上的文本框更新Excel电子表格,excel,vba,textbox,userform,Excel,Vba,Textbox,Userform,大家晚上好 再次为可能是另一个新手问题道歉 我有一个Excel电子表格,上面有一个包含文档编号、标题、作者等信息的文档列表。该电子表格链接到我的用户表单中,因此我可以获得文档的所有信息,并在表单中很好地显示 我现在想做的是能够从我的表单编辑电子表格中的数据。例如,我有一个“评论”单元格。我希望能够打开我的表单,在“注释”框中键入注释,然后将该注释插入电子表格的“注释”单元格。然后,在下次使用时,当我打开表单以显示该文档的数据时,注释将重新加载,并允许我继续进行其他注释 我尝试了以下代码:

大家晚上好

再次为可能是另一个新手问题道歉

我有一个Excel电子表格,上面有一个包含文档编号、标题、作者等信息的文档列表。该电子表格链接到我的用户表单中,因此我可以获得文档的所有信息,并在表单中很好地显示

我现在想做的是能够从我的表单编辑电子表格中的数据。例如,我有一个“评论”单元格。我希望能够打开我的表单,在“注释”框中键入注释,然后将该注释插入电子表格的“注释”单元格。然后,在下次使用时,当我打开表单以显示该文档的数据时,注释将重新加载,并允许我继续进行其他注释

我尝试了以下代码:

    Private Sub txtcomment_Change()

    Dim DOCUMENT As String
    DOCUMENT = TPForm.TP_No_text.Text
 
    Dim Search_Range As Range
    Set Search_Range = Worksheets("Sheet 1").Range("B1:v107")

    Dim matchRow
    matchRow = Application.Match(DOCUMENT, Search_Range.Columns(1), 0)
    If Not IsError(matchRow) Then
    Dim comment As Range
    Set comment = Search_Range.Cells(matchRow, 21)
    comment.Value = txtcomment.Text

    End If
    End Sub
这种方法是有效的,当我在“注释”文本框中输入注释时,它会将注释插入到我打开的文档信息的单元格中。但是,如果我关闭该用户表单,并在该用户表单中打开另一个文档,它会将同一注释放入该文档中,然后再放入下一个文档中。然后,当我直接从电子表格中删除它并重新打开Userform时,注释仍然存在

有人知道如何正确地做到这一点吗

如果我不是很清楚,我道歉。 谢谢
詹姆斯

什么是
TPForm
?那是用户表单吗?在userform中使用
Me
来引用自身通常更安全。“然后,当我直接从电子表格中删除它并重新打开Userform时,注释仍然在那里”-“在哪里”?-在工作表上,还是在用户表单中?在将记录卸载/加载到表单中时,您可能需要设置一个标志,以防止在卸载/加载记录期间触发这些“自动更新”。感谢您的回复。是的,'TPForm'是文本框所在的用户表单的名称,因此'TPForm.TP_No_Text'基本上是在电子表格中查找文档标题的宏。当我说“there”时,我的意思是,尽管我已经从电子表格中删除了它,但它仍然在Userform中。如何设置您提到的标志您可以设置全局变量,例如
bUpdating
,并在加载记录时将设置为True。在
txtcoment\u Change
中,您可以在进行任何更改之前检查。好的-这可以解决我遇到的问题吗?您发布的内容本身看起来不错,但我看不到您的其余代码,因此我只能猜测问题出在哪里。