powered by simpleCommunicator - 2.0.39     © 2025 Programmizd 02
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / VBA dim c as New Collection / Dim array as Variant - что не получается
11 сообщений из 11, страница 1 из 1
VBA dim c as New Collection / Dim array as Variant - что не получается
    #39484782
Фотография Focha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Форум, привет.
Сижу я и работаю, автоматизирую и тут понял, что большой массив данных лучше обрабатывать в памяти через массив или коллекцию.

Создаю массив из диапазона
Код: vbnet
1.
2.
Dim mass As Variant
mass = range(Cells(1, 1), Cells(20, 10))



Делаю с ним некоторые действия, без изменения размера.
После хочу его залить в коллекцию, что бы вставить столбцы.
Пытаюсь так
Код: vbnet
1.
2.
3.
4.
5.
dim coll as New Collection
Dim x As Variant
For Each x In shmk_array_reports
     coll.Add x
Next


и тут я обнаружил, что в коллекцию залился не многомерный массив, а одномерный, проще говоря залился один столбец из массива
Попытался по другому:
Код: vbnet
1.
2.
dim coll as New Collection
     coll.Add x


и тут залилось, но теперь я пытаюсь обратиться к массиву в коллекции, что бы получить данные, делаю так
Код: vbnet
1.
MsgBox shmk_collect_reports(1)(5, 17)



Все ок, но мне нужно вставить строки и столбцы и тут я не знаю как?
...
Рейтинг: 0 / 0
VBA dim c as New Collection / Dim array as Variant - что не получается
    #39484786
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не раскрыто создание shmk_array_reports
Напишите тестовый код, который воспроизводит описанную ситуацию и который мы можем запустить и посмотреть.
...
Рейтинг: 0 / 0
VBA dim c as New Collection / Dim array as Variant - что не получается
    #39484795
Фотография Focha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.ProНе раскрыто создание shmk_array_reports
Напишите тестовый код, который воспроизводит описанную ситуацию и который мы можем запустить и посмотреть.

да, отличная идея.
Во вложение книга
...
Рейтинг: 0 / 0
VBA dim c as New Collection / Dim array as Variant - что не получается
    #39484799
iMrTidy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FochaShocker.ProНе раскрыто создание shmk_array_reports
Напишите тестовый код, который воспроизводит описанную ситуацию и который мы можем запустить и посмотреть.

да, отличная идея.
Во вложение книга

Я не понял суть проблемы. Куда Вам необходимо вставить строки и столбцы? Как Вы собираетесь использовать коллекцию? Почему не подходил массив?
...
Рейтинг: 0 / 0
VBA dim c as New Collection / Dim array as Variant - что не получается
    #39484804
Фотография Focha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iMrTidyFochaпропущено...


да, отличная идея.
Во вложение книга

Я не понял суть проблемы. Куда Вам необходимо вставить строки и столбцы? Как Вы собираетесь использовать коллекцию? Почему не подходил массив?
Массив не подходит из-за его не динамичности, вставки столбцов и строк.
Строк и столбцов больше чем в примере.
Суть проблемы, я загрузил массив в коллекцию, и теперь не знаю как вставить дополнительные строки и столбцы.
После коллекцию я копирую на лист и делаю форматирование.
Все идеально работает, быстро и т.д., но на уровне коллекций, я не знаю как вставить дополнительные столбцы и строчки, когда массив.
...
Рейтинг: 0 / 0
VBA dim c as New Collection / Dim array as Variant - что не получается
    #39484809
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я не понял, в чем проблема
В одном случае вы вставляете в коллекцию массив, в другом - столбец из массива

Fochaи тут я обнаружил, что в коллекцию залился не многомерный массив, а одномерный, проще говоря залился один столбец из массиваНу вроде логично. А что вы ожидали - неясно
...
Рейтинг: 0 / 0
VBA dim c as New Collection / Dim array as Variant - что не получается
    #39484810
Фотография Focha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.ProЯ не понял, в чем проблема
В одном случае вы вставляете в коллекцию массив, в другом - столбец из массива

Fochaи тут я обнаружил, что в коллекцию залился не многомерный массив, а одномерный, проще говоря залился один столбец из массиваНу вроде логично. А что вы ожидали - неясно

Ожидал я мне нужно вставить строки и столбцы и тут я не знаю как?
...
Рейтинг: 0 / 0
VBA dim c as New Collection / Dim array as Variant - что не получается
    #39484820
iMrTidy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FochaShocker.ProЯ не понял, в чем проблема
В одном случае вы вставляете в коллекцию массив, в другом - столбец из массива

пропущено...
Ну вроде логично. А что вы ожидали - неясно

Ожидал я мне нужно вставить строки и столбцы и тут я не знаю как?

У массива есть ReDim, что, наверное, в Вашем случае может помочь.
С коллекцией можно решить коллекцией коллекций, либо класс, под Ваши нужды.
...
Рейтинг: 0 / 0
VBA dim c as New Collection / Dim array as Variant - что не получается
    #39484824
Фотография Focha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iMrTidyFochaпропущено...


Ожидал я мне нужно вставить строки и столбцы и тут я не знаю как?

У массива есть ReDim, что, наверное, в Вашем случае может помочь.
С коллекцией можно решить коллекцией коллекций, либо класс, под Ваши нужды.
нет массив не может помочь, вставлять данные в середину он не умеет.
...
Рейтинг: 0 / 0
VBA dim c as New Collection / Dim array as Variant - что не получается
    #39484852
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FochaОжидал я мне нужно вставить строки и столбцы и тут я не знаю как? Ну так например для вашего кода
Код: vbnet
1.
Range(Cells(25, 1), Cells(30, 11)) = coll(1)



Давайте все сначала.
Сначала вас не устраивала сама коллекция.
Теперь она вроде устраивает, но не можете вставить из нее что?
...
Рейтинг: 0 / 0
VBA dim c as New Collection / Dim array as Variant - что не получается
    #39484881
iMrTidy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FochaiMrTidyпропущено...


У массива есть ReDim, что, наверное, в Вашем случае может помочь.
С коллекцией можно решить коллекцией коллекций, либо класс, под Ваши нужды.
нет массив не может помочь, вставлять данные в середину он не умеет.

При желании можно написать класс/процедуру, что позволит вставлять данные в середину.
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / VBA dim c as New Collection / Dim array as Variant - что не получается
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]