【发布时间】:2017-10-07 12:47:59
【问题描述】:
我有一个电子表格,其中包含我想按姓氏搜索的客户信息。我想在单独的表格(表格 1)上输入姓氏,并让宏搜索客户数据电子表格(表格 2)中的姓氏列。当它找到匹配项时,我希望它复制工作表 2 中的整行并将其粘贴到工作表 1 中的特定行。我搜索了许多站点并尝试了许多版本的代码,但无法使其正常工作。
【问题讨论】:
我有一个电子表格,其中包含我想按姓氏搜索的客户信息。我想在单独的表格(表格 1)上输入姓氏,并让宏搜索客户数据电子表格(表格 2)中的姓氏列。当它找到匹配项时,我希望它复制工作表 2 中的整行并将其粘贴到工作表 1 中的特定行。我搜索了许多站点并尝试了许多版本的代码,但无法使其正常工作。
【问题讨论】:
这里是a link,它向您展示了如何从另一个工作表或工作簿中获取数据。基本上你使用Sheet_name!Cell_address 或Sheet_name!First_cell:Last_cell。
希望这会有所帮助:)
【讨论】:
我认为这听起来很简单,循环直到找到你想要的值。您希望触发器如何触发?双击第 1 列中选定的单元格后,下面的表 2 将触发,将提示您输入,然后复制第一个匹配项。
Option Explicit
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Target.Column <> 1 Then Exit Sub 'or which ever column you enter for
Dim str_Act, str_Test As String
Dim i As Integer
'find value to search
str_Act = InputBox("Enter User Last Name")
If str_Act = "" Then Exit Sub
'loop to find search
Do While str_Act <> str_Test
str_Test = Sheets(1).Range("A1").Offset(i, 0) ' or whichever column has your value
i = i + 1
Loop
'Copy and paste
Sheets(1).Range("A1:ZZ1").Offset(i - 1, 0).Copy
Target.PasteSpecial
End Sub
【讨论】: