Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Помогите новичку!!! / 8 сообщений из 8, страница 1 из 1
15.03.2005, 09:43:20
    #32960061
kms_
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите новичку!!!
Доброго всем времени суток!

Может сможет кто помочь - написал макрос, не буду вдаваться в подробности, суть в следующем, макрос бегает по листам книги Excel и собирает с них информацию по определенному критерию на первый лист книги, так вот как избавиться от того что все эти перемещения с листа на лист являются видимыми, как сделать так, чтобы изображение обновилось вся работа макроса не отображалась бы на экране?

Заранее благодарен!
...
Рейтинг: 0 / 0
15.03.2005, 09:44:55
    #32960064
big-duke
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите новичку!!!
application.screenupdating=false
потом не забудь вернуть взад
...
Рейтинг: 0 / 0
15.03.2005, 10:00:51
    #32960094
kms_
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите новичку!!!
Большое вам, big-duke, спасибо!
...
Рейтинг: 0 / 0
15.03.2005, 10:51:38
    #32960208
kms_
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите новичку!!!
Ребяты, снова я!

Есть проблемка не пойму в чем фишка!

Вот мой код:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
Sub Karta()
    Application.ScreenUpdating = False
    cKriterii = "=" & Cells( 4 ,  2 ).Value
    Vybor "I5:Q5", "A4:I4", "Оплата", cKriterii
    Vybor "S5:V5", "A2:D2", "Приложения", cKriterii
    Vybor "X5:AD5", "A4:G4", "Исполнение договора", cKriterii
    Vybor "AF5:AJ5", "A2:E2", "Просроченные платежи", cKriterii
    Vybor "AL5:AP5", "A2:E2", "Задержки поставок", cKriterii
    Vybor "AR5:AW5", "A2:F2", "Корреспонденция", cKriterii
    Range("B4").Select
    Application.ScreenUpdating = True
End Sub

Sub Vybor(cRangeKarta, cRangeSheet, cSheetName, cKriterii)
    Range(cRangeKarta).Select
    Range(Selection, Selection.End(xlDown)).Select
    Selection.Delete Shift:=xlUp
    Sheets(cSheetName).Select
    Selection.AutoFilter Field:= 1 , Criteria1:=cKriterii, Operator:=xlAnd
    Range(cRangeSheet).Select
    Range(Selection, Selection.End(xlDown)).Select
    Selection.SpecialCells(xlCellTypeVisible).Select
    If Not IsEmpty(Selection) Then
       Selection.Copy
       Sheets("Карта договора").Select
       Range(Left(cRangeKarta, InStr( 1 , cRangeKarta, ":", vbTextCompare) -  1 )).Select
       ActiveSheet.Paste
    Else
       Sheets("Карта договора").Select
    End If
End Sub

Если, что не так, прошу не иронизировать - я ж новичок!

Так вот суть кода в следующем:
Есть листик несколько листиков: "Оплата", "Приложения" и т.д. (название видны в коде), в них вносится информация по договорам, то есть формируются реестры. кроме того есть еще один лист "Карта договора", где пользователь вносит код договора в ячеку B4 - cells(4,2) и запускает макрос, для того чтобы макрос автоматом собрал ему на листике "Карта договора" всю информацию с других листов.
Работаю так:
на соответсвующем листе ставлю фильтр по коду договора, потом выделяю весь диапазон данных с начала до конца, потом выделяю только видимые ячейки и если выделение не является пустым, то я копирую и вставляю на лист "Карта договора" необходиму информацию.
Проблема в следующем:
Код: plaintext
    If Not IsEmpty(Selection)
После фильтра ничего не отображено - записей нет, выдены только пустые строки, но заданное условие Not IsEmpty(Selection) почему-то не срабатывает или я чего-то недопонимаю.
...
Рейтинг: 0 / 0
16.03.2005, 11:39:11
    #32962728
funddd
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите новичку!!!
Называть тему "помогите новичку!!!" не рекомендуется правилами форума.
...
Рейтинг: 0 / 0
16.03.2005, 11:58:34
    #32962814
kms_
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите новичку!!!
Спасибо, учту на будущее!
...
Рейтинг: 0 / 0
16.03.2005, 17:43:58
    #32964236
Processor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите новичку!!!
1. В Help'е посмотри, что такое AutoFilter Object .
Обрати внимание на его свойство Range :
Код: plaintext
1.
2.
3.
Range Property (AutoFilter Object)                
Returns a Range object that represents the range 
to which the specified AutoFilter applies. 
Read-only.
2. Используй его после
Код: plaintext
Selection.AutoFilter Field:= 1 , Criteria1:=cKriterii
...
Рейтинг: 0 / 0
16.03.2005, 17:49:09
    #32964254
kms_
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите новичку!!!
Спасибо, буду пробовать.
...
Рейтинг: 0 / 0
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Помогите новичку!!! / 8 сообщений из 8, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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