Уважаемые знатоки VBA, помогите пожалуйста найти ошибку в коде!
Во второй строке фильтрую диапазон по критерию "<> 0", причем пробовал двумя методами
1 Criteria1:="<>0", Operator:=xlFilterValues
2 Criteria1:="<>0", Operator:=xlAnd
В итоге т.к. Field 13 кроме нулей других значений не содержит, макрос нули не отфильтровывает, копирует весь столбец с нулевыми значениями и дальше макрос их вставляет в соответствии с инструкциями кода. Что это за беда?!
Во второй строке фильтрую диапазон по критерию "<> 0", причем пробовал двумя методами
1 Criteria1:="<>0", Operator:=xlFilterValues
2 Criteria1:="<>0", Operator:=xlAnd
В итоге т.к. Field 13 кроме нулей других значений не содержит, макрос нули не отфильтровывает, копирует весь столбец с нулевыми значениями и дальше макрос их вставляет в соответствии с инструкциями кода. Что это за беда?!
Код |
---|
ActiveSheet.ListObjects("Выгрузки_xml").Range.AutoFilter Field:=13, _ Criteria1:="<>0", Operator:=xlFilterValues ' фильтранули нули по 13 столбцу Set wb = GetObject("Наш_файл".xlsx") wb.Windows(1).Visible = True Workbooks.Open Filename:="Наш_файл".xlsx" Workbooks("Наш_файл".xlsx").Worksheets("Лист").Activate If ActiveSheet.FilterMode Then ActiveSheet.ShowAllData 'сняли фильтры если они есть, если их нет обнулили автофильтр Windows("Отчет_xml.xlsm").Activate ' Активировать нужную книгу (переключситься) Range("M2").Select Range(Selection, Selection.End(xlDown)).Select ' выделили весь отфильтрованный столбец до конца Selection.Copy ' скопировали содержимое Workbooks("Наш_файл".xlsx").Worksheets("Лист").Activate Cells(Range("D4").End(xlDown).Row, [O1].Column).Offset(1, 0).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False 'Спустились до конца столбце D (т.к. он отправная точка, т.к. всегда заполнен) и вставили теперь БПИФы в (M) Cells(Range("D4").End(xlDown).Row, [M1].Column).Offset(1, 0).Resize(Selection.Rows.Count).Value = 0 'Вставляем 0 в столбец М(притоки) |