Работа с массивами в VBA Excel

Весь MS Office, программирование на Visual Basic for Applications и MS VB

Модератор: Naeel Maqsudov

Ответить
Xorik_off
Сообщения: 3
Зарегистрирован: 16 май 2010, 18:53

Всем привет! Как удалить из массива А(n) к примеру ненулевые элементы, передвинув на их место следующие элементы, не нарушая порядка их следования???
nilem
Сообщения: 112
Зарегистрирован: 14 ноя 2008, 01:59
Откуда: Уфа

Можно посмотреть здесь:
http://excelvba.ru/code/DeleteBlankRows
Xorik_off
Сообщения: 3
Зарегистрирован: 16 май 2010, 18:53

Хорошо! Спасибо, а каким образом мне макрос этот с листом в Excel согласовать! К примеру дан лист с массивом и как мне начать писать макрос, чтобы тот именно на этот лист реагировал??
ActiveSheet("Лист1").Range("тут диапозон ячеек").value ' так что ли?
Или еще рабочую книгу надо указывать тут же??
Я сам на С++ программирую c VBA впервые столкнулся, и то подруга попросила))
nilem
Сообщения: 112
Зарегистрирован: 14 ноя 2008, 01:59
Откуда: Уфа

Все пишем в модуле листа. А вот это, например,

Код: Выделить всё

' вставляем массив без пустых строк обратно на лист
    [f1].Resize(UBound(arr2, 1), UBound(arr2, 2)).Value = arr2
вставит arr2 в активный лист, начиная с ячейки F1.
Xorik_off
Сообщения: 3
Зарегистрирован: 16 май 2010, 18:53

Спасибо, просто спас меня)) !
Ответить