Форум программистов, компьютерный форум, киберфорум
VBA
Войти
Регистрация
Восстановить пароль
Другие темы раздела
VBA Как с одного столбца выдергнуть группы данных и снова сгрупировать в два столбца по порядку https://www.cyberforum.ru/vba/thread796910.html
Доброго времени суток, профессионалы!!! В данном направлении я почти 0 на палочке, но всё-же мне необходимо это сделать. Суть в том, что ежедневно я получаю такую таблицу (количество данных в ней...
Подсчитать сколько точек в пространстве VBA
Помогите решить или как определить что точка вне эллипсоида 4x2 + 9y2 + 16z2 = 125? Подсчитать сколько точек в пространстве, координаты которых вводятся с первых трех столбцов рабочего листа,...
Как в Vba записать формулу, содержащую ссылки на ячейки VBA
Всем доброго времени суток. такая проблема. нужно в vba записать в ячейку формулу: Cells(17, 24).FormulaR1C1 = "=SUMPRODUCT(R17C6:R20C6,RC:RC)" Сложность в том, что каждый раз ячейки R20C6 и RC...
VBA Вычислить значение функции Используя редактор VB MS Excel, разработать пользовательскую форму и составить программу ,вычисляющую значение функции в соответствии с вариантом задания(Noп/п). Подобрать контрольный пример Ссылка... https://www.cyberforum.ru/vba/thread796316.html
VBA Копирование в EXcel VBA https://www.cyberforum.ru/vba/thread796175.html
На кнопочке в Excel есть данный макрос: With Worksheets("Лист1") Range(.Cells(3, 1), .Cells(.UsedRange.Rows.Count, .UsedRange.Columns.Count)).Select Selection.Copy ...
Изменение размера примечаний VBA
Создал код который изменяет размер примечания во всех ячейках в диапозоне: Sub kl() With ActiveWorkbook.Worksheets("Лист1").Range("A1:Q100").Comment .Shape.Width = 84.75 .Shape.Height =...
VBA Строка подключения к Терадата - какая она ?
Необходимо подключиться к Терадате Для подключения к другому источнику использовался следующий код Dim Conn As ADODB.Connection ... ... Conn.Open "Строка подключения"
VBA VBA Excel Сохранение в формате xlsx Возможно и как сохранить макрос и форму на писанные на VBA в формате документа xlsx, а не в xlsm. Встречал документы с макросами в формате xlsx, а мне Excel не даёт это сделать. Спасибо! https://www.cyberforum.ru/vba/thread796061.html
VBA Удалить пустые строки в конце документа Word https://www.cyberforum.ru/vba/thread796027.html
Извините что обращаюсь с таким ламерским вопросом - никак не удается мне разобраться с объектами Range:wall:. Может, на этом, конкретном, примере удастся разобраться.
VBA Определить, на какую букву оканчивается третье слово Программу я написал, но я хочу добавить условие, что если пользователь ввёл меньше трёх слов, то будет выдавать ошибку. Что-то типа if q(2) <> "" then бла бла. Sub main() Dim str, q() As String... https://www.cyberforum.ru/vba/thread795808.html
StepInLik
1063 / 101 / 4
Регистрация: 19.12.2012
Сообщений: 446
01.03.2013, 16:04  [ТС] 0

Профессиональные проблемы, решения, рекомендации и ошибки

01.03.2013, 16:04. Просмотров 74146. Ответов 125
Метки (Все метки)

Ответ

*
кажется все давно знают, но решил задокументировать.
если вы заполняете лист-букс при выключенном ScreenUpdate, то после его включения, 2007 и 2010 эксели все показывают - отражается новый(обновленный) список и все замечательно. но! если вы это делаете в 2003 - ничего не выйдет - эксель не отобразит изменения области лист-букса.
пробовал вариант в 2003 - включать ScreenUpdate перед последними изменениями лист-букса(перед внесением последней строки) - все равно ничего не отражает.
для отражения, надо чтобы пользователь попереключался между приложениями (сработало системное событие полной отрисовки этого лист-букса)

кто как боролся с этим?

*
если вы используете механизмы переноса листов из одной книги в другую и!!! у вас на листах есть элементы управления (кнопки, листбуксы, ...) - никогда не давайте им длинные имена. не могу сказать с какой длины, но однозначно! и не всегда сразу!, но объекты при переносе начинают терять имена (или возвращаться к каким-то старым)!
т.е. к примеру, вы создали кнопку, по умолчанию у нее "CommandButtom1". первое имя, которое вы ей дали - "CommandButtom_Управление". потом, долгие месяцы кодинга и переносов листа с этой кнопкой и ... вам в голову приходит мысль переименовать ее ... и ее новое имя "CommandButtom_УправлениеСлужбойДиспечеризацииИСистемы" - сохраняете книгу, открываете, работаете с кнопкой по этому имени, в свойствах именно это имя ... но иногда, в результате очередного(не всегда первого) копирования листа с этой кнопкой в новую книгу, может оказаться, что ваша кнопка стала "CommandButtom_Управление" или вааабще "CommandButtom1" (или какие-то из ранее данных ей имен) ...

*
если у вас есть один лист (модуль) и есть второй, на котором у вас TreeView, то при программном переносе листа из 2го модуля в 1ый в 2007 и 2010 - объект TreeView превращается в объект пикчур. в 2003 же - все работает, правда, его размеры сбрасываются до default ... и даже когда конкретно указываешь и делаешь рефреш - на экране четкий "изначальный" квадрат ... и нужно, чтобы юзер прокрутил скрол или попереключался в приложениями

*
VBE.
- "МОЙ ФАЙЛ" открывает файл "ХХХ"
- (без остановки интерпритатора) в "ХХХ" отрабатывает автозагрузки и макрос пробегает по модулям а1 и а2
- (без остановки интерпритатора) в "МОЙ ФАЙЛ" пытаюсь удалить эти модули! - не получается! (остальные удаляются без проблем)
и ... они продолжают висеть пока интерпритатор не остановится!
но как только он встал - модули мгновенно исчезают! т.е. ранее при попытке удаления они встают в очередь на удаление.

плохо то, что если не удалив модуль а1 попробую импортнуть этот же модуль из файла - он станет а11 (с автоматическим добавлением индекса в конце имени) и как только интепритоатор остановится - у вас в оснастке будет только а11! и а1 - исчезнет!
а теперь представьте, что вместо модуля вы работаете с классом?! - в результате у вас будет нужный вам класс с ДРУГИМ именем!

поэтому ... удаляйте построчно и построчно загружайте новый код для таких модулей (если вы знаете какие именно заблокированы, или - работайте так со всеми компонентами, которые обновляете)

Добавлено через 2 часа 53 минуты
*
Представьте такую связку:
- на чейндж листа вызывается макрос-обработчик
- (без остановки интерпритатора) в обработчике вызывается evaluate с вызовом вашей самописной функции AAA
- (без остановки интерпритатора) и ... вы хотели бы построчно отдебажить работу этой функции AAA при этом вызове
НО! какие-бы точки останова вы не ставили - интерпритатор не остановиться, а просто тупо пролетит и выполнит всю функцию не дав никакой возможности ее остановить(F9) и отдебажить!

Вернуться к обсуждению:
Профессиональные проблемы, решения, рекомендации и ошибки
1
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.03.2013, 16:04
Готовые ответы и решения:

Готовые решения, примеры и рекомендации начинающим на WPF [Элд Хасп]
В этой теме перечень полезных тем для начинающих. Обсуждение введите в самих темах. Для включения...

Обсуждение темы "Готовые решения, примеры и рекомендации начинающим на WPF"
Тема для обсуждения, критики, предложения изменений и дополнений темы...

125
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.