Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

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

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

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 18.04.2010, 06:12   #1
savraska
Пользователь
 
Регистрация: 18.04.2010
Сообщений: 37
По умолчанию Пользовательская функция,возвращающая массив

Необходимо заменить каждое числовое значение диапазона произведением составляющих его цифр,а строковые значение оставить неизменными.
Option Base 1
Function mas(diap)
Dim i As Integer
Dim j As Integer
n = diap.Rows.Count
m = diap.Columns.Count
c = 1
For i = 1 To m
For j = 1 To n
c = c * (diap(i, j) - (diap(i, j) \ 10) * 10)'определяет последнюю цифру
Next j
Next i
mas = c
End Function
savraska вне форума Ответить с цитированием
Старый 18.04.2010, 12:42   #2
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

Код:
Function Transfer(rg As Range)
  ReDim ar(rg.Rows.Count - 1, rg.Columns.Count - 1)
  For r = 1 To rg.Rows.Count
    For c = 1 To rg.Columns.Count
      ar(r - 1, c - 1) = Conv(rg.Cells(r, c))
    Next
  Next
  Transfer = ar
End Function

Function Conv(d)
  If IsNumeric(d) Then
    s = "" & d
    v = 1
    For i = 1 To Len(s)
      c = Mid(s, i, 1)
      If c = "0" Then Conv = 0: Exit Function
      If c >= "1" And c < "9" Then v = v * Val(c)
    Next
    Conv = v
  Else
    Conv = d
  End If
End Function
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 20.04.2010, 03:12   #3
savraska
Пользователь
 
Регистрация: 18.04.2010
Сообщений: 37
По умолчанию

спасибо большое за помощь!
savraska вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Oracle. Функция возвращающая набор. Stilet SQL, базы данных 4 04.03.2010 13:25
Функция возвращающая массив babaj Общие вопросы Delphi 8 04.07.2009 17:40
Пользовательская функция с диапазоном в качестве параметра SanSanblch Microsoft Office Excel 2 29.05.2009 17:37
Создание надстроек. Функция, возвращающая массив значений Jarik Microsoft Office Excel 6 13.01.2009 23:11
Функция возвращающая строку(си++). necky Помощь студентам 1 18.10.2008 18:32