Я немного новичок во всей этой макрокоманде VBA / Excel, поэтому я стараюсь изо всех сил найти решения, которые мне нужны, пока у меня все хорошо, но, наконец, зашел в тупик.
У меня есть код, который автоматически фильтрует мою таблицу данных, а затем сортирует базу по определенным столбцам (см. Ниже).
Sub FGReport()
ActiveWorkbook.Worksheets("Sorted Report FG").ListObjects("Table25").Range.AutoFilter Field:=2, Criteria1:= "1085"
ActiveWorkbook.Worksheets("Sorted Report FG").ListObjects("Table25").Range.AutoFilter Field:=4, Criteria1:= "<>$0"
ActiveWorkbook.Worksheets("Sorted Report FG").ListObjects("Table25").Range.AutoFilter Field:=6, Criteria1:= "<1/1/2018", Operator:=xlAnd
'ActiveWorkbook.Worksheets("Sorted Report FG").Range("Table25[[#Headers],[LastSoldDate]]").Select
ActiveWorkbook.Worksheets("Sorted Report FG").ListObjects("Table25").Sort. SortFields.Clear
ActiveWorkbook.Worksheets("Sorted Report FG").ListObjects("Table25").Sort. SortFields.Add2 Key:=Range("Table25[LastSoldDate]"), SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:=xlSortNormal
ActiveWorkbook.Worksheets("Sorted Report FG").ListObjects("Table25").Sort. SortFields.Add2 Key:=Range("Table25[TotalInventoryValue]"), SortOn:= xlSortOnValues, Order:=xlDescending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("Sorted Report FG").ListObjects("Table25").Sort
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
Там, где код автоматически фильтрует дату (строка 4).Я хотел бы, чтобы он предложил пользователю ввести дату вручную.Я подумал, что сделать это с пользовательской формой было бы наиболее подходящим (рисунок ниже)
Я просто понятия не имею, как заставить пользовательскую форму появляться во времяэту строку кода, и пусть она функционирует, введя дату, нажав Enter, а затем продолжите выполнение оригинального макроса FGReport ().
Дайте мне знать, если требуется дополнительная информация!Спасибо!