Я работаю над этим проектом некоторое время и не могу заставить отладчик работать чисто. Если кто-то может заставить меня двигаться в правильном направлении, я был бы так благодарен!
Эта рабочая книга фильтрует данные из списка ("Soap_List") на листе формы заказа. Моя цель - нажать одну кнопку, чтобы отфильтровать список, а затем скопировать только видимую ячейку из столбцов A, B и D в рабочий лист Echo France, начиная с ячейки «C12».
Бонус, если вы можете сказать мне, как удалить фильтры после того, как функция копирования / вставки была выполнена!
Вот что у меня есть до сих пор:
Private Sub cmbPrintEchoFrance_Click()
Dim OrderForm As Worksheet
Dim EchoFrance As Worksheet
Dim SoapList As ListObject
Dim lastRow As Long
Set OrderForm = Worksheets("ORDER FORM")
Set EchoFrance = Worksheets("ECHO FRANCE")
Set SoapList = Worksheets("ORDER FORM").ListObjects("SOAP_LIST")
SoapList.Range.AutoFilter Field:=3, Criteria1:="ECHO FRANCE"
SoapList.Range.AutoFilter Field:=1, Criteria1:="<>"
Set lastRow = OrderForm.Range("A" & OrderForm.Rows.Count).End(xlUp).Row
Set copyRange = OrderForm.Range("A:A" & lastRow)
copyRange.SpecialCells(xlCellTypeVisible).Copy EchoFrance.Range("C12")
End Sub
*ОБНОВЛЕНИЕ* Я все еще получаю сообщение об ошибке в разделе последней строки кода. Не уверен, что попробовать дальше. Проблема в том, что я устанавливаю именованный ListObject?
Private Sub cmbPrintEchoFrance_Click()
Dim OrderForm As Worksheet
Dim EchoFrance As Worksheet
Dim SoapList As ListObject
Set OrderForm = Worksheets("ORDER FORM")
Set EchoFrance = Worksheets("ECHO FRANCE")
Set SoapList = Worksheets("ORDER FORM").ListObjects("SOAP_LIST")
SoapList.Range.AutoFilter Field:=3, Criteria1:="ECHO FRANCE"
SoapList.Range.AutoFilter Field:=1, Criteria1:="<>"
LastRow = SoapList.Range("A" & Rows.Count).End(xlUp).Row
OrderForm.Range("A1:A" & LastRow).SpecialCells(xlCellTypeVisible).Copy EchoFrance.Range("C12")
End Sub
OrderForm.Range("A:A" & lastRow)
- для столбца A должно быть так:OrderForm.Range("A1:A" & lastRow)
. - person Dmitry Pavliv   schedule 21.03.2014set
, который нужен только для установки объектов. Строка должна, вероятно, читатьlastrow = orderform.range...
. - person Bigtree   schedule 23.03.2014Soaplist
это чтоListObject
? Это Таблица? - person L42   schedule 26.03.2014