使用VBA中的表单查找和编辑数据

时间:2013-10-07 14:03:24

标签: excel vba excel-vba excel-2007

更新 - 我的表格如下所示。表单可以填充组合框中的列表。它还可以找到附加到相应用户名的备注。但是,我需要它来更新我正在努力的同一个单元格。我试图使用Siddharth Rout(参见评论)。找到代码,但不是真的理解它或如何使它适用于我的工作表。

enter image description here

要填充列表,我使用了以下

Private Sub UserForm_Activate()
    With Worksheets("Notes")
        ComboBox1.List = .Range("A1:A" & .Range("A" & .Rows.Count).End(xlUp).Row).Value
    End With
End Sub

自发布以来,我设法使用vba中的vlookup函数找到附加到用户名的注释。使用下面的代码。

    Sub CallNotes()

the_value = ComboBox1.Text

If TextBox2 = "" Then
TextBox2 = "No Notes Applied."
Else
TextBox2 = Application.WorksheetFunction.VLookup(the_value, Worksheets("Notes").Range("A:B"), 2, False)
End If
End Sub

我现在面临的主要问题是更新笔记。单击评论按钮后,我需要代码来查找用户名,然后将文本框的内容粘贴到用户名旁边的单元格中。

我用vlookup尝试过,但最终失败了。我从那以后删除了代码,并且无法记住我是如何尝试这样做的,并且无法将其恢复。基本上我试图扭转整个vlookup过程。

非常感谢所有评论和建议。

1 个答案:

答案 0 :(得分:1)

Dim The_value
Dim The_note
Dim c As Range
The_value = Me.ComboBox1.Text
The_note = Me.TextBox2.Text
Set c = Worksheets("Notes").Range("A:A") _
    .Find(What:=The_value, LookAt:=xlWhole)
c.Offset(ColumnOffset:=1).Value = The_note

此代码由MSDN上的Hans Vogelaar MVP提供 See here

仍然感谢Siddharth Rout的帮助