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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 22.06.2009, 18:38   #1
SanSanblch
Пользователь
 
Регистрация: 23.10.2008
Сообщений: 23
По умолчанию Проверьте прогу!

Option Base 1

Function dasha111(diap)
m = diap.Rows.Count
n = diap.Columns.Count
Dim out_diap()
ReDim out_diap(m * n)

For i = 1 To m

For j = 1 To n

If diap(i, j) <> "" Then
For C = 1 To m * n
out_diap(C) = diap(i, j)
Next C
End If

Next j

Next i
dasha111 = out_diap
End Function

НУжно из выбранного даапозонна скопировать в одномерный массив все не пустые символы!

Последний раз редактировалось SanSanblch; 22.06.2009 в 18:56.
SanSanblch вне форума Ответить с цитированием
Старый 22.06.2009, 19:01   #2
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

осмелюсь предположить что надо было так:
Function dasha111(diap)
m = diap.Rows.Count
n = diap.Columns.Count
Dim out_diap()
ReDim out_diap(m * n)

For i = 1 To m

For j = 1 To n


For C = 1 To m * n
If diap(i, j) <> "" Then out_diap(C) = diap(i, j)
Next C
End If

Next j

Next i
dasha111 = out_diap
End Function

и еще: вам будут щаче отвечать, если в конце просьбы ставить не восклицательный знак, а слово "пожалуйста".
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 22.06.2009, 19:37   #3
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

Можно чуть попроще:
Код:
Function dasha111(ByRef diap As Range)
    ReDim out_diap(1 To diap.SpecialCells(2).Count): i = 1
    For Each cell In diap.SpecialCells(2)
        out_diap(i) = cell: i = i + 1
    Next cell
    dasha111 = out_diap
End Function
EducatedFool вне форума Ответить с цитированием
Старый 23.06.2009, 03:31   #4
SanSanblch
Пользователь
 
Регистрация: 23.10.2008
Сообщений: 23
По умолчанию

Спасибо!!!!!
Всё учту =)
SanSanblch вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Спецы!! Проверьте прогу почему работает неправильно?? SanSanblch Общие вопросы Delphi 2 05.12.2008 18:17
Проверьте ReM Общие вопросы Delphi 1 12.11.2008 17:32
Проверьте прогу.Почему не работает? drakon803 Помощь студентам 2 17.12.2007 07:21
Проверьте прогу.Почему не работает? drakon803 Помощь студентам 4 16.12.2007 23:23