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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 14.03.2009, 21:20   #1
SkCr
 
Регистрация: 14.03.2009
Сообщений: 4
По умолчанию помогите написать функцию

Нужна функция, которая при задании ей выделенной области AxB, как параметра, выводит столбец данных, состоящий из последовательно составленных столбцов исходного массива AxB.

Т.е. массив
1 2 3
4 5 6

она превращает в
1
4
2
5
3
6

у меня office 2007. Заранее спасибо! Очень надо!
SkCr вне форума Ответить с цитированием
Старый 14.03.2009, 21:46   #2
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

Вот вся функция:
Код:
Function Массив(ByRef ra As Range) As Variant
    arr = ra.Value: pos = 1: Dim arrNew()
    ReDim arrNew(1 To ra.Cells.Count, 1 To 1):
    For i = LBound(arr, 2) To UBound(arr, 2)
        For j = LBound(arr, 1) To UBound(arr, 1)
            arrNew(pos, 1) = arr(j, i): pos = pos + 1
        Next j
    Next i
    Массив = arrNew
End Function
Пример использования:
Код:
Sub Запуск()
    [g:g].ClearContents
    [g4].Resize([b4:d18].Cells.Count) = Массив([b4:d18])
End Sub
Пример во вложении:
Вложения
Тип файла: rar функция для обработки массива.rar (8.2 Кб, 10 просмотров)
EducatedFool вне форума Ответить с цитированием
Старый 14.03.2009, 21:56   #3
SkCr
 
Регистрация: 14.03.2009
Сообщений: 4
По умолчанию

Спасибо Огромное! Моих знаний в VBA явно не хватило бы.

Подскажите пожалуйста литературу, чтобы можно было самому
SkCr вне форума Ответить с цитированием
Старый 14.03.2009, 23:30   #4
valerij
Старожил
 
Аватар для valerij
 
Регистрация: 12.05.2007
Сообщений: 2,339
По умолчанию

Цитата:
Сообщение от EducatedFool Посмотреть сообщение
Пример во вложении:
Игорь, а че у меня нет пукта "Цвета и линии"?
Изображения
Тип файла: jpg 22.jpg (70.4 Кб, 145 просмотров)
valerij вне форума Ответить с цитированием
Старый 14.03.2009, 23:41   #5
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

Цитата:
а че у меня нет пукта "Цвета и линии"?
А с чего ему там взяться?
У элементов управления гораздо меньше "графических параметров", которые можно изменять.

Я использую в качестве кнопок автофигуры, а не элементы управления.
Выделил диапазон ячеек, нажал комбинацию клавиш, - и макрос в выделенных ячейках нарисовал цветную кнопочку...

Цитата:
Сообщение от valerij Посмотреть сообщение
автофигуры? А де это, у себя, не нашел. Это в Рисование?
Да, именно там.

Последний раз редактировалось EducatedFool; 14.03.2009 в 23:54.
EducatedFool вне форума Ответить с цитированием
Старый 14.03.2009, 23:47   #6
valerij
Старожил
 
Аватар для valerij
 
Регистрация: 12.05.2007
Сообщений: 2,339
По умолчанию

Цитата:
Сообщение от EducatedFool Посмотреть сообщение
Я использую в качестве кнопок автофигуры...
Все разобрался, никогда не использовал, классно...

Последний раз редактировалось valerij; 15.03.2009 в 00:15.
valerij вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
написать кэш-функцию andrey4623 Общие вопросы Delphi 6 01.04.2011 11:59
помогите написать функцию SkCr Помощь студентам 2 14.03.2009 21:24
Помогите написать функцию плиз.Не получается Clockgen Microsoft Office Excel 2 14.12.2008 22:01
Помогите написать функцию Черничный Общие вопросы Delphi 4 13.08.2008 07:02