Позвольте мне начать с того, что я заранее извиняюсь за любые ошибки в этикете форума или за нарушение правил, а также за неправильное использование технических терминов, поскольку я все еще учусь медленно.
Подводя итог, я пытаюсьсоздать лист, который извлекает данные из ссылочного местоположения в указанное местоположение ячейки на основе выпадающего выбора, сделанного пользователем.
Sub retrieve_data()
Dim LR As Long
LR = orderLog2.Cells.Find("*", Cells(Rows.Count, Columns.Count), SearchOrder:=xlByRows, _
SearchDirection:=xlPrevious).Row
Application.ScreenUpdating = False
Application.EnableEvents = False
Sheets("search").UsedRange.Offset(2, 0).ClearContents
With Sheets("orderLog2")
.AutoFilterMode = False
.Range("A2:D" & LR).AutoFilter Field:=1, Criteria1:= _
Sheets("search").Range("C5").Value
.UsedRange.Offset(0, 0).SpecialCells(xlVisible).Copy
Sheets("search").Range("E7").PasteSpecial
.AutoFilterMode = False
End With
Application.CutCopyMode = False
Application.EnableEvents = True
Application.ScreenUpdating = True
End Sub
Итак, в двух словах, у меня есть таблица данных на листе "orderLog2 "(столбцы с A по D) и выпадающий список на листе" поиск ".Я надеялся, что если пользователь выберет имя пользователя из выпадающего списка (расположенного в ячейке C5), то автоматически все соответствующие данные из листа "orderLog2" будут скопированы в лист "search", ячейка E7.
Вот код, вставленный в лист "search":
Option Explicit
Private Sub dropdownselection(ByVal Target As Range)
If Target.Cells.Count > 1 Or IsEmpty(Target) Then Exit Sub
If Target.Address = "$C$5" Then
Application.EnableEvents = False
Call retrieve_data
Application.EnableEvents = True
End If
End Sub
Lines: "LR = orderLog2.Cells.Find (" * ", Cells (Rows.Count, Columns.Count), SearchOrder: = xlByRows, _ SearchDirection: = xlPrevious) .Row "
- это то, что вызывает ошибку времени выполнения, я предположил, что LR определен правильно и может использоваться для справки.
Ребята, если мне не хватает импортируемой информации, пожалуйста, не стесняйтесь, дайте мне знать, любая помощь или совет будут высоко оценены.