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

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


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

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

Выпуск № 368
от 09.09.2006, 22:35

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


Вопрос № 54332: Здравствуйте, уважаемые эксперты! Проблемная ситуация, никак не могу обойти ее и надеюсь на Вашу помощь. Постараюсь изложить как можно яснее и короче. Проблема вот в чем: в Excel 97 используется UserForm для короткого теста. Вопросы подс...

Вопрос № 54.332
Здравствуйте, уважаемые эксперты!

Проблемная ситуация, никак не могу обойти ее и надеюсь на Вашу помощь. Постараюсь изложить как можно яснее и короче.
Проблема вот в чем: в Excel 97 используется UserForm для короткого теста. Вопросы подставляются из скрытого листа.Здесь все нормально, никаких глюков. В этом VeryHidden Листе Строка 1 - это шапка таблицы, то есть содержимое ячеек A1:D1 не изменяется. Значения ячеек А2:А6 и B2:B6 также фиксированы (столбец А содержит вопросы, столбец В - верные ответы). Ответы испытуемого по идее должны записываться в ячейки C2:C6, но записываются они на самом деле со смещением на 1 строку вниз. При этом пятый (последний) ответ вообще никуда не записывается! Думал - проблема в formulaR1C1 и заменил на Value: эффект нулевой. А самое интересное - в четвертый столбец количество времени, потраченное на каждый ответ, записывается правильно, заполняются ячейки D2:D6.
Не могли бы Вы подсказать, в чем причина такого странного поведения приложения ? В глючности Office не могу упрекнуть. Весь основной код -в приложении, процедуры подсчета времени не стал включать, так как они работают нормально.

Приложение:

Отправлен: 04.09.2006, 22:18
Вопрос задал: Varfolomey (статус: Посетитель)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 1)

Отвечает: Genyaa
Здравствуйте, Varfolomey!

Мне кажется, есть ошибка в логике самой программы... на примере case 1:

- сюда программа входит при значении NumAns = 1 (это значение присваивается при активации) при нажатии на CommandButton1
- войдя, устанавлививается значение Label1.Caption = "Вопрос № 1" и т.д и вносится ответ во вторую строку... Обратите внимание - по первому нажатию кнопки (уже, по всей видимости, по принятию первого ответа) Label становится "Вопрос №1", хотя наверно должно уже появиться "Вопрос №2"

Однако, судя по описанию должно было быть несколько иначе:
- по активации в Label1 устанавливается "Вопрос №1" и NumAns = 1
- ожидается ответ.
Далее при первом ответе (NumAns = 1) case 1 должен переключить Label2 на "Вопрос №2" (из третей строки листа с вопросами), подготовив форму к принятию второго ответа, но значение (до обнуления) TextBox2 нужно внести в строку 2, и переключиться на NumAns = 2.


---------
Всякое решение плодит новые проблемы.
Ответ отправил: Genyaa (статус: 7-ой класс)
Ответ отправлен: 04.09.2006, 23:50
Оценка за ответ: 5
Комментарий оценки:
Спасибо за ответ! Проверим еще раз...

Отвечает: Макаренко Е.В.
Здравствуйте, Varfolomey!
Попробуйте пройти программу под отладчиком.
Попробуйте заменить оператор Range() на Cells(i,j)- прямая запись в ячейку
Cинтаксис примерно такой: Worksheets(2).Cells(НОМЕР строки, НОМЕР столбца)
Вместо номера строки подставьте переменную NumAns или (NumAns+1).
Должно помочь.
---------
осторожность, точность... и горит все синим пламенем! :))
Ответ отправил: Макаренко Е.В. (статус: 9-ый класс)
Ответ отправлен: 05.09.2006, 09:58
Оценка за ответ: 5
Комментарий оценки:
Вам также спасибо за участие!


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

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

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

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

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


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


© 2001-2006, Портал RusFAQ.ru, Россия, Москва.
Идея, дизайн, программирование: Калашников О.А.
Email: adm@rusfaq.ru, Тел.: +7 (926) 535-23-31
Авторские права | Реклама на портале
Версия системы: 4.36 от 06.09.2006
Яндекс Rambler's Top100

В избранное