Форум программистов
 
О проблемах, например, с регистрацией пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail, а тут можно восстановить пароль.

Вернуться   Форум программистов > Microsoft Office и VBA > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Здесь нужно купить рекламу за 20 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru
Без учёта ботов - 20000 человек в день, 350000 в месяц.

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы
Старый 18.11.2008, 18:00   #1
ibrahimov
Новичок
Джуниор
 
Регистрация: 18.11.2008
Сообщений: 1
Восклицание как написать на vba стандарные функции excel

Может кто-то знает как можно на vba написать такие стандартные функции экселя как
ДОЛЯГОДА (у меня даты почему-то как-то неправильно вычитаются, как если бы я использовал эту стандартную функцию)
СУММ (не знаю как сделать так, что бы количество аргументов функции не было фиксированным)

Мне нужно не коды программ функций, а знать как решить те проблеммы, которые я указал в круглых скобках
ibrahimov вне форума
Старый 27.11.2008, 21:50   #2
Sasha_Smirnov
Особый статус
Участник клуба
 
Аватар для Sasha_Smirnov
 
Регистрация: 24.11.2008
Сообщений: 1,533
По умолчанию

http://www.proklondike.com/contentview.php?content=487

Там в том числе много полезного про работу с датами и массивами.

В частности, для суммирования чисел можно использовать динамический массив. А, например, для Word существует конструкция
Selection.Calculate,
возвращающая (в переменную) СУММУ чисел из выделенного вами фрагмента текста (при этом дробные числа — через точку, если не ошибаюсь).

Последний раз редактировалось Sasha_Smirnov; 27.11.2008 в 22:24. Причина: Уточнение.
Sasha_Smirnov вне форума
Старый 27.11.2008, 22:23   #3
Sasha_Smirnov
Особый статус
Участник клуба
 
Аватар для Sasha_Smirnov
 
Регистрация: 24.11.2008
Сообщений: 1,533
По умолчанию

Уточню: при языке "Английский" в региональных стандартах.
При языке "Русский", "Французский" и нек. других
Selection.Calculate
считает дробными числа с запятой (а не с точкой) внутри.
Sasha_Smirnov вне форума
Старый 28.11.2008, 04:36   #4
Sasha_Smirnov
Особый статус
Участник клуба
 
Аватар для Sasha_Smirnov
 
Регистрация: 24.11.2008
Сообщений: 1,533
По умолчанию

Вот пример: здесь функция SummaChisel — с*переменным количеством аргументов. Пример отлажен.

Option Explicit
Sub AnyProg()
MsgBox "Сумма чисел = " & SummaChisel(-1, -2, 3, 0.5)
End Sub


Function SummaChisel(ParamArray m() As Variant)
Dim i As Long
For i = 0 To UBound(m)
SummaChisel = SummaChisel + m(i)
Next
End Function

Последний раз редактировалось Sasha_Smirnov; 28.11.2008 в 04:42. Причина: Примечание.
Sasha_Smirnov вне форума
Старый 28.11.2008, 04:42   #5
Sasha_Smirnov
Особый статус
Участник клуба
 
Аватар для Sasha_Smirnov
 
Регистрация: 24.11.2008
Сообщений: 1,533
По умолчанию

Примечание. MsgBox выдаёт здесь (вы не поверите...):
"Сумма чисел = 0.5"
Sasha_Smirnov вне форума
Закрытая тема

Здесь нужно купить рекламу за 20 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru
Без учёта ботов - 20000 человек в день, 350000 в месяц.

Опции темы


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
VBA Excel Slicker Помощь студентам 4 04.11.2008 17:14
Программа на VBA в виде функции пользователя Strel'nikova Помощь студентам 3 31.10.2008 13:53
Как с помощью Microsoft Excel написать программу, позволяющую перемещать предмет на плоскости? Vova4kA Microsoft Office Excel 10 28.05.2008 13:18
Бага или фича функции Replace Function (VBA)? Alkaline Microsoft Office Excel 3 27.12.2007 11:26
Простой максор. Excel. Как написать. prosims Microsoft Office Excel 7 07.06.2007 16:06


Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru
Пеллетный котёл Emtas
котлы EMTAS