Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Глюк Екселя или я туплю????? Тривиально!!! / 11 сообщений из 11, страница 1 из 1
24.01.2006, 17:34:05
    #33500522
klopik
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Глюк Екселя или я туплю????? Тривиально!!!
Имею Excel файл. 45000 строк. 5 столбцов. Пытаюсь сделать автофильтр по одной из колонок и скопировать в новый лист (можно и в рабочую книгу, эффект один!). Типа "раскидать" табличку по листам.
Имеем записанный макрос:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
Sub test()

    Rows("1:1").Select
    Selection.AutoFilter
    Selection.AutoFilter Field:= 2 , Criteria1:="1002"
    Range("A1").Select
    Range(Selection, ActiveCell.SpecialCells(xlLastCell)).Select
    Selection.Copy
    Sheets.Add
    ActiveSheet.Paste

End Sub

Вылетает на последней строке, там где идет вставка данных с ошибкой 1004 Типа "Метод Paste из класса WorkSheet завершен неверно!"
Народ, помогите, что это??? Я пробовал по-всякому уже. Одно и то же!!!
...
Рейтинг: 0 / 0
24.01.2006, 18:15:19
    #33500632
klopik
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Глюк Екселя или я туплю????? Тривиально!!!
Добавлю еще:
При записи любого макроса функция "Paste" перестала записываться!
...
Рейтинг: 0 / 0
25.01.2006, 08:00:22
    #33501244
sergeyvg
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Глюк Екселя или я туплю????? Тривиально!!!
скорее всего из-за того, что операция Sheets.Add сшибает буфер, созданный
Selection.Copy
...
Рейтинг: 0 / 0
25.01.2006, 09:24:09
    #33501379
klopik
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Глюк Екселя или я туплю????? Тривиально!!!
Короче, проблема так и не разрешилась.
Еще один неизвестный глюк екселя, который проявляется лишь в моем файле: когда записываешь макрос, то "paste" вообще он писать не хочет!
Когда пытаешься вручную дописать эту операцию - он копирует, однако сразу вылетает с ошибкой 1004 после выполнения вставки. Очень странно.
...
Рейтинг: 0 / 0
25.01.2006, 10:37:03
    #33501578
5631
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Глюк Екселя или я туплю????? Тривиально!!!
Может, у тебя проблемы с буфером обмена Windows, а не с Excel ?
...
Рейтинг: 0 / 0
25.01.2006, 11:01:34
    #33501678
klopik
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Глюк Екселя или я туплю????? Тривиально!!!
Да нет. Попытался записать макрос внутри этого файла на другом компьютере - такая же ситуция. Нонсенс!
...
Рейтинг: 0 / 0
25.01.2006, 11:41:59
    #33501840
Letter_D
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Глюк Екселя или я туплю????? Тривиально!!!
А ручками-то копируется?
Возможно просто выставлена защита листа.
...
Рейтинг: 0 / 0
25.01.2006, 12:38:44
    #33502042
klopik
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Глюк Екселя или я туплю????? Тривиально!!!
Ручками все копируется прекрасно. Защиты нет, так как создавал файл сам.
Короче решил проблему следующим образом: взял по-тупому перекопировал все в новый файл вместе с кодом и данными. Заработало.
Что было? Непонятно...
...
Рейтинг: 0 / 0
16.06.2006, 08:05:25
    #33794430
DenDY
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Глюк Екселя или я туплю????? Тривиально!!!
Топик конечно офф. но через пол года такая же фигня была и у меня. Как решить эту проблему с пастом так и не знаю
...
Рейтинг: 0 / 0
16.06.2006, 08:52:57
    #33794494
Ashton
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Глюк Екселя или я туплю????? Тривиально!!!
Как правильно уже написали, буфер обмена очищается при добалвении нового листа, хотя у меня все прекрасно работает (Excel 2003 SP2).

Попробуй следующий вариант.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
Public Sub X()
    Dim rng As Range
    Dim wsCurrent As Worksheet
    Dim wsNew As Worksheet
    
    Set wsCurrent = ActiveSheet
    Set rng = wsCurrent.Rows("1:1")
    
    rng.AutoFilter
    rng.AutoFilter Field:= 2 , Criteria1:="1002"
    
    Set wsNew = Worksheets.Add
    wsCurrent.AutoFilter.Range.Copy Destination:=wsNew.Range("A1")
End Sub
...
Рейтинг: 0 / 0
16.06.2006, 09:57:58
    #33794637
Витал
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Глюк Екселя или я туплю????? Тривиально!!!
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
Dim rgBD As Range, rgCriteria as Range

Set rgBD = ActiveSheet.Range("A1").Currentregion 'определяем диапазон базы данных
Set rgCriteria = ActiveSheet.Range("G1:G2") ' определяем диапазон критериев - в G1 д.б. имя поля по которому будем фильтровать

rgCriteria.Cells( 2 ,  1 ).Value =  1002  ' устанавливаем критерий отбора

WorkSheets.Add
rgBD.AdvancedFilter Action:=xlFilterCopy, CriteriaRange:=rgCriteria, CopyTo:=Range("A1"), Unique:=False 'выполняем метод "расширенный фильтр" объекта Range.

Подробнее о расширенном фильтре см. в справке.
...
Рейтинг: 0 / 0
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Глюк Екселя или я туплю????? Тривиально!!! / 11 сообщений из 11, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]