Страницы: 1
RSS
VBA массив задан двумерным. Можно ли ему ещё задать третье и более измерение?
 
Код
Sub test1()

Dim arr() As Variant 'задали безмерный массив
ReDim Preserve arr(1 To 5, 1 To 6) As Variant ' задали двух мерный массив
ReDim Preserve arr(1 To 5, 1 To 6, 1 to 7) As Variant [B]' задать третье измерение не удалось[/B]


End Sub
Изменено: tod2020 - 22.08.2017 15:33:24
 
я не ас но по моему с перезаписью (Preserve) не получится.
 
Можно, но данные будут утеряны.
Код
ReDim Preserve 
изменяет последнее измерение , но не добавляет новое.
Я тожне не асс, но вроде так должно быть.

Код
Dim arr() As Variant 'задали безмерный массив
ReDim  arr(1 To 5, 1 To 6)
ReDim Preserve arr(1 To 5, 1 To 7)
Изменено: Nordheim - 22.08.2017 16:15:43
"Все гениальное просто, а все простое гениально!!!"
 
ох уж это VBA
Изменено: tod2020 - 22.08.2017 16:24:20
 
Цитата
tod2020 написал: ох уж это VBA недоделанное
А сколько пользователей недоделанных :)
Не обижайтесь, не обязательно о Вас, но Вы сами спровоцировали такой ответ.
 
Цитата
tod2020 написал:
ох уж это VBA недоделанное
м.б. дело не в VBA? а в использовании не тех инструментов для достижения цели?
"Все гениальное просто, а все простое гениально!!!"
 
Цитата
Nordheim написал:
м.б. дело не в VBA? а в использовании не тех инструментов для достижения цели?
коллекции? или?
 
Цитата
vikttur написал:
Не обижайтесь, не обязательно о Вас, но Вы сами спровоцировали такой ответ.
это верно и про меня в некоторой степени
 
Цитата
tod2020 написал:
коллекции? или?
я не про коллекции или массивы. Может тут  не VBA необходимо использовать. Трехмерный массив это уже другой уровень, не двухмерная таблица, а 3D прям получается.  :D  
"Все гениальное просто, а все простое гениально!!!"
 
Массив массивов. Словарь массивов(словарей). Но, если вы снова со своим поиском, то и 5-е измерение вам не поможет.
 
Цитата
kalbasiatka написал:
Но, если вы снова со своим поиском
нет я снова наткнулся на очередной идиотизм среды VBA. где чтобы логично получить что нужно надо 10 раз вокруг да коло попляасть составить код многомного строчный
этож ещё надо додуматься сделать или не сделать так чтобы нельзя было предыдущий уровень массива увеличить
Изменено: tod2020 - 22.08.2017 18:50:27
 
Цитата
tod2020 написал:
я снова наткнулся на очерднйо идиотизм среды VBA
Зачем же Вы так про инструмент, которым пользуетесь? )
 
tod2020, поговорку из анекдота слышали: не нравится - не ешь.
А если кушаешь, то умей откусывать с правильной стороны. Это я Вам о нелетающем велосипеде писал?

Хватит хаять...
 
А в среде C++ тоже такой же бред с невозможностью добавить ещё один уровень массива и не изменить размер предидущего уровня?
 
Цитата
vikttur написал: А если кушаешь, то умей откусывать с правильной стороны
чтобы откусить надо 10 раз потанцевать потом из дома выйти и вокрг дома 5 кругов сделать оказывается а после всего этой лишней движухи откуситься. не идиотизм? Не с работниками  автоваза совместно делальс среда?
Изменено: tod2020 - 22.08.2017 18:03:29
 
Доброе время суток.
Цитата
tod2020 написал:
А в среде C++ тоже такой же бред
Нет, там всё проще - там вообще нет понятия многомерного массива, впрочем как и понятия Preserve. ;)
Массив массивов их всё. С указателями, опять же, познакомитесь. А лучше проштудировать "Алгоритмы и структуры данных", а то будет очередной "велосипед". Язык это дело приходящее. Если на русском фразы складываются не очень, то и на японском лучше не получится :)
 
..
Изменено: tod2020 - 22.08.2017 18:43:45
 
Цитата
VBA  массив задан двумерным. Можно ли ему ещё задать третье и более измерение?
Можно. Создаете новый массив нужной размерности и переносите в него данные старого массива (циклами).
Совет: не увлекайтесь ReDim Preserve (если можно, то лучше вообще не используйте). Этот метод как раз перезаписывает все элементы существующего массива. При больших объемах данных это "тормозит".
Чем шире угол зрения, тем он тупее.
 
Я объявлял массив глобальной переменной и он был доступен во всех процедурах.
 
Цитата
SAS888 написал:
Можно. Создаете новый массив нужной размерности и переносите в него данные старого массива (циклами).
да я сразу такой варинат подумал, но надеялся что всё будет нормально
 
Ну да. Я ж писал: "Хочу чтобы все!". Недоучка хает программный продукт, которым пользуется полмира. Автор, только не надо Ваших безобразных истерик! Как Вы там хамили форумчанам? "Просто проходи мимо".
Я сам - дурнее всякого примера! ...
 
Цитата
kuklp написал:
программный продукт, которым пользуется полмира.
Windows-ом тоже полузуется пол или больше мира но это не значит что преркасны продукт, созданный той же шайко-лейкой

Цитата
kuklp написал:
"Просто проходи мимо".
Либо смириться либо этот вариант
Изменено: tod2020 - 22.08.2017 18:23:41
 
Стоп! Хватит!
tod2020, не провоцируйте своими хаяниями продукта, с которым Вы ознакомились поверхностно. "Не умею" или "хочу большего" - еще не значит "оно плохое".
Цитата
Nordheim написал: м.б. дело не в VBA? а в использовании не тех инструментов для достижения цели?
Остальным - придержать эмоции.
 
Цитата
Андрей VG написал: Массив массивов их всё.
также и в VBA сделаю тогда
 
Цитата
kalbasiatka написал:
Массив массивов. Словарь массивов(словарей).
Смотрю в монитор вижу ... что хочу!
 
простите, на эмоции отвлекся в момент сообщения и не воспринял
Страницы: 1
Наверх