Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RusFAQ.ru: Программирование на Basic / VBA


РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / Basic/VBA

Выпуск № 585
от 04.08.2007, 18:35

Администратор:Калашников О.А.
В рассылке:Подписчиков: 292, Экспертов: 41
В номере:Вопросов: 1, Ответов: 3


Вопрос № 96718: Здравствуйте! Столкнулся с проблемой и, надеюсь, что опытные люди помогут мне. Написал при помощи макроса код, затем этот код назначил кнопке на Листе1: на первом листе копирую диапазон ячеек, затем выделяю следующий лист, выделяю ячейку например...

Вопрос № 96.718
Здравствуйте! Столкнулся с проблемой и, надеюсь, что опытные люди помогут мне.
Написал при помощи макроса код, затем этот код назначил кнопке на Листе1: на первом листе копирую диапазон ячеек, затем выделяю следующий лист, выделяю ячейку например d2, чтобы вставить данные, и тут VB выдает сообщение об ошибке. Я так понял VB пытается вставить эти данные не на лист 2, а на лист с которого запускался код т.е. Лист1 и в котором d2 это объединенная с другими ячейка и естественно из-за разных размеров копируемого и вставляемого блоков будет ошибка. Может есть какой то секрет, мной не учтенный.
И еще один вопрос. Например при запуске Ексель Лист1 есть переменная Х=12 при переходе на лист2 значение Х почему то равно пустому множеству. Я думаю что это как-то исправляется может каким то символом перед переменной или в описании переменных. Но так нигде не нашел литературы по этим вопросам.
Отправлен: 30.07.2007, 18:09
Вопрос задал: Андрейчиков Василий Васильевич (статус: Посетитель)
Всего ответов: 3
Мини-форум вопроса >>> (сообщений: 2)

Отвечает: Ualife
Здравствуйте, Андрейчиков Василий Васильевич!
Насчет второго вопроса.
Попробуйте определять x словом public.
public x
В отличии от dim x он определяет переменную в Basic`е глобально - для всего проекта.
---------
Нет границ - есть лишь препятствия!
Ответ отправил: Ualife (статус: 3-ий класс)
Ответ отправлен: 30.07.2007, 18:32
Оценка за ответ: 3
Комментарий оценки:
Поверьте мне комментарий был очень большй, писался в ВАТ, который на пробел перескакивает как по ТАБ, а накноку ДЕЛИТ удалил все письмо. Спасибо за оперативность! И за прояснение по второму вопросу.

Отвечает: Volodimir
Здравствуйте, Андрейчиков Василий Васильевич!
напиши пожалуста код макроса тогда будет проще чтото решить, а так приведу код который у меня работает,
Это код самой кнопки а не макроса, но попробуй записать и макрос.
только на листе где должна быть вставка выделяй одну ячейку,
могут быть проблемы если есть обьедененные ячейки...

Приложение:

---------
УЧИТСЯ УЧИТСЯ УЧИТСЯ

Ответ отправил: Volodimir (статус: 2-ой класс)
Ответ отправлен: 31.07.2007, 10:33
Оценка за ответ: 3

Отвечает: Черников Игорь Владимирович
Здравствуйте, Андрейчиков Василий Васильевич!
Есть несколько причин неудачного выбора ячейки на Вашем листе:
1. Эта ячейка объединена с другой(другими)
2. Вы говорите защиты на листе нет, но она может быть на всей книге.
3. На вашем компьютере может быть вирус, проверьте ативирусник.
4. Установите галочку Безопасность - Надёжные издатели - Доверять доступ к Visuaj Basic Project
5. Возможно Вы дали не полный код программы и там ещё что-то происходит
И ещё:
дайте Экселю самому записать такой макрос, т.е. включите запись и проделайте последовательно все операции вручную, затем (если всё получится и он не сругается) запустите его.
Если не поможет, перенесите все данные (желательно вручную, а не копированием) в другую книгу и попробуйте ещё раз. Однажды мне это помогло. Удачи!
По второму вопросу:
1. Эту переменную нужно обявить в самом начале модуля, тогда она будет содержать значение пока программа не перейдёт на другой модуль (если он есть), но лучше хранить значение не в переменной, а в какой-нибудь ячейке.
2. Проверьте свой код, не изменяет ли её значение какое - нибудь событие, н-р изменение размера формы или переход на другой лист.
---------
От каждого по способностям, каждому по труду
Ответ отправил: Черников Игорь Владимирович (статус: 3-ий класс)
Ответ отправлен: 31.07.2007, 20:39


Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2007, Портал RusFAQ.ru, Россия, Москва.
Авторское право: ООО "Мастер-Эксперт Про"
Email: support@rusfaq.ru, тел.: +7 (926) 535-23-31
Хостинг: "Московский хостер"
Поддержка: "Московский дизайнер"
Авторские права | Реклама на портале
Версия системы: 4.54 beta от 01.08.2007
Яндекс Rambler's Top100
RusFAQ.ru | MosHoster.ru | MosDesigner.ru | RusIRC.ru
Kalashnikoff.ru | RadioLeader.ru | RusFUCK.ru

В избранное