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

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


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

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

Выпуск № 378
от 21.09.2006, 22:05

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


Вопрос № 55585: Здравствуйте уважаемые эксперты. Подскажите пожалуйста, как в EXCEL на VBA по известной дате, напримар 2.12.2006 отделить число даты ? Чтобы потом его использовать. Есть функция Dim MyDate, MyDay MyDate = #February 12, 1969# ' Assign a date....
Вопрос № 55652: Уважаемые эксперты! Помогите решить задачку (в приложении частичное решение). Необходимо при х>y вычислить сл. ф-цию: min(x,2.5y), вставить в мой код. Все нужно сделать на простом бейсике без использования подпрограмм. Давно когда-то программ...
Вопрос № 55653: Уважаемые эксперты! Помогите решить задачку. Все нужно сделать на простом бейсике без использования подпрограмм и всяческих наворотов, предполагается что прошли циклы, условные, безусловные переходы, массивы, стандартные ф-ции. Давно когда-то програм...

Вопрос № 55.585
Здравствуйте уважаемые эксперты. Подскажите пожалуйста, как в EXCEL на VBA по известной дате, напримар 2.12.2006 отделить число даты ? Чтобы потом его использовать. Есть функция
Dim MyDate, MyDay
MyDate = #February 12, 1969# ' Assign a date.
MyDay = Day(MyDate) ' MyDay contains 12.

При отладке по F8 MyDay =12.

А в ячейку вносит 2.12.1969. Как быть ?
Надо отправить число в переменную типа integer, чтобы не было несоответствия типов.
Подскажите! Может я что-то не так делаю ?
Отправлен: 16.09.2006, 00:03
Вопрос задал: Berkut55544 (статус: 4-ый класс)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 0)

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

Если я правильно понял проблему и Вы ожидаете по логике вещей увидеть именно 12 в ячейке, то первое, что стоит сделать - добавить в объявление переменных:

Dim MyDay as Integer, MyDate as Date

А после этого, убедиться, что:

- в ячейку вносится именно MyDay, а не MyDate
- эта ячейка отформатирована под числовое значение, а не Date или даже General

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

Отвечает: din
Здравствуйте, Berkut55544!
Уменя не возникает проблем если вносить так:
ActiveSheet.Range("A1").FormulaR1C1 = MyDay

---------
Есть только одно зло - невежество, и только одно благо - знания
Ответ отправил: din (статус: Практикант)
Ответ отправлен: 16.09.2006, 00:54
Оценка за ответ: 4
Комментарий оценки:
Спасибо, но проблемму уже решили. MyDay as integer
и формат ячейки - числоой


Вопрос № 55.652
Уважаемые эксперты! Помогите решить задачку (в приложении частичное решение). Необходимо при х>y вычислить сл. ф-цию:
min(x,2.5y), вставить в мой код. Все нужно сделать на простом бейсике без использования подпрограмм. Давно когда-то программировал на бейсике, но не помню есть ли такая встроенная ф-ция? У меня в методичке не указано на каком диалекте бейсика идет решение, все примеры там приводятся на каком то диалекте, где не используется нумерация строк, только метки при условном и безусловном переходе. Если не сложно подскажите ато уже мозги от учебы плавятся.

Приложение:

Отправлен: 16.09.2006, 21:17
Вопрос задал: Кузнецов С.Н. (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 2)

Отвечает: Кокорич Вадим Леонидович
Здравствуйте, Кузнецов С.Н.!

Вот этот пример, судя по всему, решает Вашу задачу. Обратите внимание, что проверяется сналала условие, что X > Y. Если это так, проверяется еще: больше ли число X числа Y, умноженного на 2,5. Все остальные условия - из Вашего примера. Работает в VB for MSDOS и Liberty Basic. В принципе, этот синтаксис должен поддерживаться всеми ранними версиями Basic'a.

Приложение:

---------
Труд сделал обезьяну человеком, а лень человека - программистом !

Ответ отправил: Кокорич Вадим Леонидович (статус: 6-ой класс)
Ответ отправлен: 16.09.2006, 23:29
Оценка за ответ: 5
Комментарий оценки:
большое спасибо!!!


Вопрос № 55.653
Уважаемые эксперты! Помогите решить задачку. Все нужно сделать на простом бейсике без использования подпрограмм и всяческих наворотов, предполагается что прошли циклы, условные, безусловные переходы, массивы, стандартные ф-ции. Давно когда-то программировал на бейсике, но уже все позабыл. У меня в методичке не указано на каком диалекте бейсика идет решение, все примеры там приводятся на каком то диалекте, где не используется нумерация строк, только метки при условном и безусловном переходе. Если не сложно подскажите ато уже мозги от учебы плавятся. Вроде задача не очень сложная, проблема в формулах. Заранее очень благодарен!!!

Приложение:

Отправлен: 16.09.2006, 21:40
Вопрос задал: Кузнецов С.Н. (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: fsl
Здравствуйте, Кузнецов С.Н.!

INPUT "Введите точность", e
S=1:I=0
DO
A=((-1)^I)*/ (2+5*I)
K=S+A
IF ABS(K-S)<e THEN GOTO 1 ELSE S=K
I=I+1
LOOP
1 PRINT "Сумма ряда:"; S;"N=";I-1
END
Ответ отправил: fsl (статус: 5-ый класс)
Ответ отправлен: 18.09.2006, 09:35
Оценка за ответ: 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

В избранное