powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Помогите ускорить код пожалуйста!
7 сообщений из 57, страница 3 из 3
Помогите ускорить код пожалуйста!
    #37496285
kuklp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Классно, ребят! Игорь, Дима - мой респект. Извините, был занят доселе. И сейчас отрывают:-) Вы оба в привычном вам стиле. Мне нравится.
...
Рейтинг: 0 / 0
Помогите ускорить код пожалуйста!
    #37496381
Hugo121
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Утро вечера мудренее...
Вчера с удалением немного поторопился.
Так, как привёл пример - можно удалять только последнюю таблицу.
Если удалять ещё и таблицы выше, то номера строк изменятся.
Тогда нужно или вводить переменную, на которую делать поправку при удалении таблиц, и котрую изменять при удалении первой и втрой таблицы (удаление третьей не влияет), или (что в данном случае проще, т.к. шаблон) обозвать диапазоны именами, и удалять имена:

Код: plaintext
1.
2.
3.
4.
With Sheets( 1 )
If ai >  0  Then заполнение_массива Else .[first_t].EntireRow.Delete
If bi >  0  Then заполнение_массива Else .[second_t].EntireRow.Delete
If ci >  0  Then заполнение_массива Else .[third_t].EntireRow.Delete
End With
...
Рейтинг: 0 / 0
Помогите ускорить код пожалуйста!
    #37496413
Hugo121
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Хотя чего это я всё усложняю...
Нужно просто работать с таблицами снизу вверх - тогда удаление например второй таблицы не повлияет на третью, т.к. она уже будет заполнена.
И номера строк тогда можно указывать явно, как я в примере [11492576] привёл - в момент работы с ними они будут на месте.
Надеюсь, что Вы так и сделали :)
...
Рейтинг: 0 / 0
Помогите ускорить код пожалуйста!
    #37497815
Geo28
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Да, с удалением разобрался...на самом деле все оч круто получилось...как говорится Знание - Сила! Не солгу если скажу ещё раз Вам огромное спасибо и что Вы мне оч помогли! Вот сейчас дела на работе разгребу и чего-нибудь новое в шаблоне придумывать буду)) Вот параллельно думаю как делать окантовку...у меня там В самой самой главной таблице ( а их так же три) уже есть окантовка изначально, они ж там и со строками пустыми с запасом...но когда их удаляешь, то нижняя граница горизонтальная окантовка изчезает...таблицы после удаления соответственно скачут...но как я говорил в каждой таблице после строк с данными идёт строка типо ИТОГА..вот и думаю как если бы это выглядело на языке VBA:
ввести переменную, затем найти в какой строке есть слово ИТОГ, затем в этой строке выделить ячейки от A до H (тоесть получается мы выделяем строку с ИТОГОМ и шлёпнуть этому выделению верхнюю горизонтальную линию в обрамлении...как то так))
...
Рейтинг: 0 / 0
Помогите ускорить код пожалуйста!
    #37497839
Hugo121
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Geo28,
типа так - только синтаксис рамки рекордером запишите, тут полужирная тянется:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
Sub tt()
Dim r, i As Byte
Set r = [A1]
For i =  1  To  3 
Set r = Cells.Find(What:="итого", After:=r, LookIn:=xlValues, _
LookAt:=xlPart)
r.Offset(- 1 ).Resize( 1 ,  8 ).Borders.Weight = xlMedium
Next
End Sub

И тянется над "итого" - если надо по, то уберите .Offset(-1).
...
Рейтинг: 0 / 0
Помогите ускорить код пожалуйста!
    #37498027
Geo28
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
..попробую Ваш код примастачить на свой шаблон)) О результатах обязательно доложу)
...
Рейтинг: 0 / 0
Помогите ускорить код пожалуйста!
    #37498032
Geo28
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
вот так он только нижнюю границу рисует)
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
Sub tt()
Dim r, i As Byte
Set r = [A1]
For i =  1  To  3 
Set r = Cells.Find(What:="èòîãî", After:=r, LookIn:=xlValues, _
LookAt:=xlPart)
Next
r.Offset(- 1 ).Resize( 1 ,  8 ).Borders(xlEdgeBottom).Weight = xlMedium
End Sub

А это то что и надо)) Ура ура!
...
Рейтинг: 0 / 0
7 сообщений из 57, страница 3 из 3
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Помогите ускорить код пожалуйста!
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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