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

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


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

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

Выпуск № 560
от 26.06.2007, 16:35

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


Вопрос № 92269: Уважаемые эксперты, подскажите прогу или сылки по теме: создание нестандартных окон...
Вопрос № 92270: Уважаемые эксперты, тут трабл: не работает таймер. Помогите как с ним работать?....
Вопрос № 92285: Уважаемые эксперты! Имеется: книга Excel, состоящая из нескольких листов. Туда заносятся данные за каждый день из разных подразделений, и на отдельном листе суммируются. Нужно: показать динамику поступления средств по дням в виде графика. Нет нич...

Вопрос № 92.269
Уважаемые эксперты, подскажите прогу или сылки по теме: создание нестандартных окон
Отправлен: 20.06.2007, 22:12
Вопрос задал: Tracer
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 1)

Отвечает: Ualife
Привет, Tracer!
CreatorForms - http://www.pva-land.jino-net.ru/program/setupcreatorforms.exe
---------
Нет границ - есть лишь препятствия!
Ответ отправил: Ualife (статус: 2-ой класс)
Ответ отправлен: 20.06.2007, 22:28

Отвечает: Felix
Здравствуйте, Tracer!

Статья Создание нестандартных окон:
http://rusdoc.df.ru/material/lang/vb/nwindows.shtml
Ответ отправил: Felix (статус: 1-ый класс)
Ответ отправлен: 22.06.2007, 11:04


Вопрос № 92.270
Уважаемые эксперты, тут трабл: не работает таймер. Помогите как с ним работать?.
Отправлен: 20.06.2007, 22:15
Вопрос задал: Tracer
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 1)

Отвечает: Ualife
Здравствуйте, Tracer!
Для того чтобы таймер работал нужно чтобы его свойство Enabled=True а interval не равнялось нулю.Interval - частота обновления, 1000 - 1 сек. В событии таймера пишешь нужный код который исполняется каждый раз.
---------
Нет границ - есть лишь препятствия!
Ответ отправил: Ualife (статус: 2-ой класс)
Ответ отправлен: 20.06.2007, 22:30


Вопрос № 92.285
Уважаемые эксперты!
Имеется: книга Excel, состоящая из нескольких листов. Туда заносятся данные за каждый день из разных подразделений, и на отдельном листе суммируются. Нужно: показать динамику поступления средств по дням в виде графика. Нет ничего проще: делаем самый обыкновенный график. Но... График пользователь желает видеть не в конце месяца, а ежедневно. А поскольку сумма за еще не прошедшие дни - ноль, то график "падает", начиная со вчерашнего (на день просмотра) дня. Пользователя это не устраивает. Выход есть: стереть формулы в еще не прошедших днях, и каждый день добавлять по формуле. Или ежедневно изменять диапазон исходных данных для диаграммы. Работает, но пользователя не устраивает, не желают они играться с формулами. Вопрос № 1: можно ли (и как?) поместить в ячейку "пустое" значение, такое же, как при стирании ячейки. К сожалению, пустая строка ("") все равно обрабатывается диаграммой как "ноль". Если введение "пустого" значения воз можно, то проблема решится добавлением в формулу условия.
Продолжение истории. Поскольку решение с формулой не было найдено, то появилась идея создать макрос, запускающийся при открытии листа [Private Sub Worksheet_Activate()], чтобы этот макрос изменял исходные данные для диаграммы соответственно текущей дате. Знания VBA поверхностные, написать руками нужное не могу, поэтому иду путем наименьшего сопротивления: записываю макрос, выполняя нужные действия. Результат записи в приложении. Дальше очень просто: Range("A3:A19") меняю на Range("A3:A" & Day(Date) + 2) и готовлюсь к получению удовольствия. Но... Как оказалось, ни первичный, ни измененный макрос не работают. Возникает ошибка в первой же строке ActiveSheet.ChartObjects("Диагр. 1").Activate - Ошибка 1004: Невозможно получить свойство ChartObjects класса Worksheet. Поэтому вопрос № 2: ясно, что средство автоматической записи макроса делает что-то не так или я выполняю действия таким образом, что он, бедненький, не может правильно их записать. Что ну жно изменить, чтобы работало?
И вопрос № 3: а может кто-то знает как заставить график "не падать" в незаконченном месяце (или другом периоде) без придуманных мною извращений?

Приложение:

Отправлен: 21.06.2007, 00:19
Вопрос задал: pwg (статус: 3-ий класс)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 2)

Отвечает: Alec Perle
Здравствуйте, pwg!
Ответ на вопрос №1: для ввода "пустого значения" в EXCEL есть функция НД().
Вот что справка пишет по этому поводу:
---------------------------------------------------
"НД

Возвращает значение ошибки #Н/Д. #Н/Д — это значение ошибки, означающее «нет доступного значения». Функция НД используется для пометки пустых ячеек. Вводя #Н/Д в ячейки, в которых отсутствуют данные, можно избежать проблем, связанных с непреднамеренным включением пустых ячеек в вычисления. (Если формула ссылается на ячейку, содержащую значение #Н/Д, формула возвращает значение ошибки #Н/Д.)

Синтаксис

НД( )

Заметки

Пустые скобки после наименования функции обязательны. В противном случае Microsoft Excel не сможет распознать имя функции.
Можно непосредственно вводить значение #Н/Д в ячейку. Функция НД в основном служит для совместимости с другими системами электронных таблиц."
---------------------------------------------------
Тогда с помощью функции ЕСЛИ(), вставив туда в качестве значения при невыполнении условия функцию НД(), получим в ячейке значение ошибки #Н/Д, которая и не будет обрабатываться в диаграмме как нулевое число.
А чтобы значение ошибки не мозолило глаза, можно с помощью условного форматирования скрыть его, сделав цвет шрифта идентичным цвету фона. Условие в данном случае будет =НЕ(ЕЧИСЛО(A3)).
---------
Пессимист - это хорошо информированный оптимист (а оптимист - хорошо проинструктированный пессимист)
Ответ отправил: Alec Perle (статус: 9-ый класс)
Ответ отправлен: 21.06.2007, 20:21
Оценка за ответ: 5
Комментарий оценки:
Именно то, что нужно! Проблема полностью решена! Огромное спасибо!

Отвечает: Тесленко Евгений Алексеевич
Здравствуйте, pwg!
Создание графика с заданным диапазоном в Excel я выполнял на VBA Access.
я надеюсь из приложенного кода Вы сможете создать свою процедуру.
Удачи.
Евгений.

Приложение:

Ответ отправил: Тесленко Евгений Алексеевич (статус: 9-ый класс)
Ответ отправлен: 21.06.2007, 22:15
Оценка за ответ: 5
Комментарий оценки:
Хотя Ваш макрос не исправляет мой, к тому же при сегодняшнем уровне моих знаний я в нем не разобрался, я уверен, что он пригодится мне в будущем, когда я прочитаю больше умных книжек. Оставляю себе, как наглядное пособие. Спасибо!


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

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

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

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

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала 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.52 от 02.05.2007
Яндекс Rambler's Top100
RusFAQ.ru | MosHoster.ru | MosDesigner.ru | RusIRC.ru
Kalashnikoff.ru | RadioLeader.ru | RusFUCK.ru

В избранное