Excel это не сложно
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
25.04.2024, 17:15:55

Войти
На форуме добавлена возможность подписки на RSS-ленты любого раздела форума. Подписаться можно, нажав на иконку RSS , расположенную левее наименования раздела.
33 243 Сообщений в 5 458 Тем от 6 763 Пользователей
Последний пользователь: tetrapack
*
Перейти на сайт Хитрости Надстройка MulTEx Обучающие тренинги Наша группа ВКонтакте
Правила форума Начало Помощь Поиск Календарь Войти Регистрация Выйти
+  Excel это не сложно
|-+  Основные форумы
| |-+  Вопросы по Excel и VBA
| | |-+  Макрос выдает ошибку "variable not defined" Почему и что нужно поправить.
Страниц: [1]   Вниз
Печать
Автор Тема: Макрос выдает ошибку "variable not defined" Почему и что нужно поправить.  (Прочитано 2418 раз)
0 Пользователей и 1 Гость смотрят эту тему.
ДСтрельцов
Новичок
*

Репутация: +0/-0
Офлайн Офлайн

Сообщений: 5


Просмотр профиля
« : 28.11.2022, 13:38:14 »

Макрос помогли дописать такие имена как MikeVol и Дмитрий(The_Prist) поклон им. Практически готовое решение. Оставалось лишь его сдружить с файлом. Не сдружил, и не могу понять почему не дружат. Слабоват я...
Если есть у кого свободных минут 10-15 посмотрите пжт. Где ошибка.
Коротко смысл программы в следующем.
1. Все ячейки имеющие защиту не должны быть удалены-изменены пользователем, так как там работают формулы. (стараюсь избежать стандартной защиты через меню, т.к. умные таблице с ней не дружат)
2. При выборе любого значения в колонке "H" выполняются действия: копия значения ячейки в столбце "Н" в соседний столбец, и заносится дата и время выполнения операции в указанную макросом ячейку в соответствующей колонке.
Во вложении сам файл, и картинка ошибки.
Надеюсь описал подробно и без большого мыла.


Записан
ДСтрельцов
Новичок
*

Репутация: +0/-0
Офлайн Офлайн

Сообщений: 5


Просмотр профиля
« Ответ #1 : 29.11.2022, 11:50:52 »

Решено. Проблема была в синтаксисе написания макрокоманд. Почему-то VBA ругался на пробелы и команды. Пришлось почти весь код перенабивать вручную. Спасибо. Зато пол книжки прочитал.
« Последнее редактирование: 29.11.2022, 11:52:55 от ДСтрельцов » Записан
Дмитрий Щербаков(The_Prist)
Администратор
Ветеран
*****

Репутация: +485/-0
Офлайн Офлайн

Сообщений: 5 831



Просмотр профиля WWW
« Ответ #2 : 29.11.2022, 11:58:15 »

Думаю все, что Вам надо - это просто сначала удалить все пробелы перед каждой строкой(до самого начала) и проставить отступы заново путем нажатия клавиш Tab и Space.
Вы скопировали код откуда-то, откуда вместе с самим кодом так же перенеслись символы неразрывного пробела(символ 160), которые и воспринимаются компилятором VBE как некий сторонний текст.
Можете удалить их автоматом, для этого:
в любую ячейку Excel пишите функцию:
=СИМВОЛ(160)
копируете эту ячейку -Специальная вставка -Значения.
Копируете из ячейки получившийся пробел.
Идете в свой код -Cltr+H. Find - вставляете скопированное, replace - вписываете нормальный пробел с клавиатуры(клавиша Space которая). ReplaceAll. Все, останется проставить отступы там, где их удалил VBE заменой.
Записан

Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Пункты приёма Спасибов:    -41001332272872  -R298726502453
Страниц: [1]   Вверх
Печать
Перейти в:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2006-2011, Simple Machines Valid XHTML 1.0! Valid CSS!
Яндекс.Метрика Рейтинг@Mail.ru