Рейтинг:
8
Maciej Los
Прочесть эта статья MSDN[^] чтобы узнать, что означает ошибка 1004.
Такое обращение: Sheets("Sheet2")
может быть, этого недостаточно. Представьте себе, что у вас открыты 2 рабочие книги. Каждая из книг содержит Sheet2
Может ли компилятор VBA знать, какой лист Вы имеете в виду? Нет!
Итак, замените это:
Sheets("Sheet1").Range("A1:GC15000").AdvancedFilter Action:=xlFilterCopy, _
CriteriaRange:=Sheets("Sheet2").Range("A1:A2"), CopyToRange:=Sheets("Sheet3").Range("A1:GC15000"), Unique:=False
с:
Sub CopyData()
Dim srcwsh As Worksheet, criwsh As Worksheet, dstwsh As Worksheet
On Error Goto Err_CopyData
Set srcwsh = ThisWorkbook.Worksheets("Sheet1")
Set criwsh = ThisWorkbook.Worksheets("Sheet2")
Set dstwsh = ThisWorkbook.Worksheets("Sheet3")
srcwsh.Range("A1:GC15000").AdvancedFilter Action:=xlFilterCopy, CriteriaRange:=criwsh.Range("A1:A2"), CopyToRange:=dstwsh.Range("A1"), Unique:=False
Exit_CopyData:
Set srcwsh = Nothing
Set criwsh = Nothing
Set dstwsh = Nothing
Exit Sub
Err_CopyData:
MsgBox Err.Description, vbExclamation, Err.Number
Resume Exit_CopyData
End Sub
Для получения более подробной информации, пожалуйста, смотрите:
Производительность в Excel на VBA кодирование передового опыта - офис в блогах[
^]
Обработка ошибок во время выполнения в VBA[
^]
Производительность Excel 2010: советы по оптимизации производительности.[
^]
Member 12982752
Спасибо.. Теперь ошибок нет, но он копирует только до Z.. У меня есть столбец upto GC.. мне нужен этот фильтр, чтобы скопировать столбец upto GC.. спасибо
Maciej Los
Кажется, я забыл добавить диапазон к srcwsh
Пожалуйста, проверьте мой ответ после изменений. Если он соответствует вашим критериям, пожалуйста, примите его (зеленая кнопка).
Member 12982752
Спасибо.- это прекрасно работает.. :)
Member 12982752
У меня есть еще один вопрос..Я хотел бы исключить запись, которая не имеет даты ( если нет даты для записи; то есть: - у меня есть дата для некоторых записей в столбце DF, просто отфильтруйте только их, просто исключите пустые)
Спасибо
Maciej Los
Вы должны добавить еще одно поле в критерии и оставить его пустым, а затем изменить код ;)
Maciej Los
Всегда пожалуйста
Member 12982752
Спасибо за ответ, но прошу прощения.. Это должно быть как-то по-другому, мне нужно сохранить пустые и определить дату..
Спасибо
Member 12982752
У меня есть пробел и "да" в колонке.. Просто хотелось бы сохранить заготовки и убрать да.. Я попробовал ="" и < & gt; оба отфильтровать пробел и вернуть да.. Пожалуйста помочь :)
Maciej Los
Извините, я не вижу ваших данных, поэтому ничем не могу вам помочь. Продолжай пытаться!
Member 12982752
Представленный Изъяты
Да
Да
Да
Да
Это что-то вроде этого.. Заголовок столбца представляется отозванным.. таким образом, colummn заполняется либо да, либо пустым..