У меня есть выпадающий список под названием Ted_ID, который содержит идентификаторы. Я хочу написать код VBA, который говорит, что если пользователь выберет идентификатор из выпадающего списка, он будет смотреть в таблицу и найти соответствующий идентификатор Ted и скопировать вставить соответствующее значение (corptax название объекта) справа от него, скажем, в столбце G.

таблица и выпадающий список

2 ответа2

0

Я хотел бы предложить вам следующий код VBA, который поможет вам вставить выбранный вами идентификатор в INPUTBOX, а затем найти его в диапазоне данных и скопировать его в Paste после нескольких строк.

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

NB: Помните, что мой диапазон данных от A186 до D195. Вам необходимо изменить следующие значения в коде VBA в соответствии с вашим диапазоном данных.

  1. Найдите 186 в 3-й строке (номер строки A186), замените эту строку Nu на свою.

  2. Найти в 4-й строке.Столбец (1), он представляет столбец A, измените его согласно значению вашего начального столбца.

  3. Проверьте строку 17 и замените имя листа, если необходимо, диапазон ("A"; замените его на имя столбца начала диапазона данных).

  4. Вместо Dropdown я использовал INPUTBOX, если хотите, замените его.

Обратите внимание, я проверял этот код, прежде чем опубликовать его здесь как Решение.

Я верю, что вы найдете этот код полезным.

0

Считаете ли вы решение не VBA?

Вам нужен список идентификаторов TED для вашего выпадающего списка, и у вас есть список имен сущностей, чтобы вы могли использовать их в качестве справочной таблицы с помощью VLOOKUP(). Формула в F3 на скриншоте ниже:

=VLOOKUP(D3,A2:B6,2)

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .