我有一个名为 Ted_ID 的下拉列表,其中包含 ID,我想编写 vba 代码,表示如果用户从下拉列表中选择一个 ID,那么它将查看表格并找到相应的 Ted ID,然后将相应的值(corptax 实体名称)复制粘贴到它的右侧,比如说 G 列。
答案1
我建议您使用以下 VBA 代码,它将帮助您在 INPUTBOX 中插入您选择的 ID,然后将其搜索到数据范围中,并在几行后将其复制粘贴。
Private Sub CommandButton1_Click()
Dim FirstAddress As String, cF As Range,RowsToCopy As String
ActiveSheet.Cells(186, 1).Activate
With ActiveSheet.Columns(1)
Set cF = .Find(What:=InputBox("Enter ID Number", "Search ID"), _
After:=ActiveCell, _
LookIn:=xlFormulas, _
LookAt:=xlPart, _
SearchOrder:=xlByColumns, _
SearchDirection:=xlNext, _
MatchCase:=False, _
SearchFormat:=False)
If Not cF Is Nothing Then
FirstAddress = cF.Address
Do
cF.EntireRow.Copy
Sheets("Sheet1").Range("A" & Sheets("Sheet1").Range("A" & Rows.Count).End(xlUp).Row + 5).PasteSpecial xlPasteValues
Set cF = .FindNext(cF)
Loop While Not cF Is Nothing And cF.Address = FirstAddress
End If
End With
End Sub
注意:请记住我的数据范围是 A186 到 D195。您需要根据数据范围在 VBA 代码中更改以下值。
在第三行找到 186,(其行号 A186),将这一行 Nu 替换为您的。
在第 4 行找到 .Column(1),它代表 A 列, 根据您的起始列值进行更改。
检查第 17 行并根据需要替换工作表名称,范围(“A”,将其替换为您的数据范围起始列名。
如果您想替换它,我使用 INPUTBOX 来代替 Dropdown。
笔记, 在将此代码作为解决方案发布在这里之前,我已经测试过它。
我相信您会发现该代码很有用。