powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Помогите новичку!!!
8 сообщений из 8, страница 1 из 1
Помогите новичку!!!
    #32960061
kms_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Доброго всем времени суток!

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

Заранее благодарен!
...
Рейтинг: 0 / 0
Помогите новичку!!!
    #32960064
Фотография big-duke
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
application.screenupdating=false
потом не забудь вернуть взад
...
Рейтинг: 0 / 0
Помогите новичку!!!
    #32960094
kms_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Большое вам, big-duke, спасибо!
...
Рейтинг: 0 / 0
Помогите новичку!!!
    #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
Помогите новичку!!!
    #32962728
Фотография funddd
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Называть тему "помогите новичку!!!" не рекомендуется правилами форума.
...
Рейтинг: 0 / 0
Помогите новичку!!!
    #32962814
kms_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо, учту на будущее!
...
Рейтинг: 0 / 0
Помогите новичку!!!
    #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
Помогите новичку!!!
    #32964254
kms_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо, буду пробовать.
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Помогите новичку!!!
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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