Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Несколько типов переменных для одного массива - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Несколько типов переменных для одного массива (Макросы/Sub)
Несколько типов переменных для одного массива
Roman777 Дата: Среда, 26.08.2015, 14:56 | Сообщение № 1
Группа: Проверенные
Ранг: Ветеран
Сообщений: 980
Репутация: 127 ±
Замечаний: 0% ±

Excel 2007, Excel 2013
Добрый всем день!
Возник вопрос, возможно ли для, допустим, 3-мерного массива задать типы переменных для разных "измерений" разные?
То есть, есть массив A(5,5,5) - возможно ли для него задать первое и второе "измерение" как String, а третье "измерение" как Single?


Много чего не знаю!!!!
 
Ответить
СообщениеДобрый всем день!
Возник вопрос, возможно ли для, допустим, 3-мерного массива задать типы переменных для разных "измерений" разные?
То есть, есть массив A(5,5,5) - возможно ли для него задать первое и второе "измерение" как String, а третье "измерение" как Single?

Автор - Roman777
Дата добавления - 26.08.2015 в 14:56
miver Дата: Среда, 26.08.2015, 15:32 | Сообщение № 2
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 190
Репутация: 37 ±
Замечаний: 0% ±

Excel 2010
Roman777, Так по умолчанию создается масив типа Variant
[vba]
Код
Sub t()
     Dim A(), T1$, T2$, I&
     ReDim A(1 To 3)
     T1 = "один"
     T2 = "два"
     I = 100
     A(1) = T1
     A(2) = T2
     A(3) = I
End Sub
[/vba]
К сообщению приложен файл: 7957819.png (17.2 Kb)
 
Ответить
СообщениеRoman777, Так по умолчанию создается масив типа Variant
[vba]
Код
Sub t()
     Dim A(), T1$, T2$, I&
     ReDim A(1 To 3)
     T1 = "один"
     T2 = "два"
     I = 100
     A(1) = T1
     A(2) = T2
     A(3) = I
End Sub
[/vba]

Автор - miver
Дата добавления - 26.08.2015 в 15:32
_Boroda_ Дата: Среда, 26.08.2015, 15:37 | Сообщение № 3
Группа: Модераторы
Ранг: Местный житель
Сообщений: 16675
Репутация: 6481 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
Возможно, Вам массив массивов подойдет? Смотря что конкретно нужно.
Посмотрите вот здесь https://msdn.microsoft.com/ru-ru....ayTypes и там еще по ссылочкам походите - мнооого любопытного написано.


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеВозможно, Вам массив массивов подойдет? Смотря что конкретно нужно.
Посмотрите вот здесь https://msdn.microsoft.com/ru-ru....ayTypes и там еще по ссылочкам походите - мнооого любопытного написано.

Автор - _Boroda_
Дата добавления - 26.08.2015 в 15:37
miver Дата: Среда, 26.08.2015, 15:44 | Сообщение № 4
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 190
Репутация: 37 ±
Замечаний: 0% ±

Excel 2010
Roman777, Можно, конечно, немного по извращаться
К сообщению приложен файл: 7430287.png (20.1 Kb)
 
Ответить
СообщениеRoman777, Можно, конечно, немного по извращаться

Автор - miver
Дата добавления - 26.08.2015 в 15:44
Roman777 Дата: Среда, 26.08.2015, 16:00 | Сообщение № 5
Группа: Проверенные
Ранг: Ветеран
Сообщений: 980
Репутация: 127 ±
Замечаний: 0% ±

Excel 2007, Excel 2013
miver, Спасибо большое за ответ. Я тоже уже попробывал Variant, с ним получилось.
Дело в том, что у меня была задача, в которой я в массив записываю данные построчно с одной книги (с нескольких листов) и вывожу данные в две другие книги. При этом элементами первой и второй "мерности" массива была текстовая информация, а в третьей же "мерности" должны были быть числа (цена), причем сделано по-дурному без округлений и где-то цифра была до второго знака (,00), а где-то вообще до десятого. Вначале массив я обозначил как string, думая, что всё будет окей, но почему-то при выводе цены в файл, те цифры что были округлены до 2-го знака копировались ставились нормально, а те, что имели после запятой ещё десяток цифр, вставлялись без запятой и значение: "123,78932" записывалось в файл как "12378932".
_Boroda_, Спасибо большое, это очень интересно, слышал что есть массивы массивов, но не понимал, как они будут записываться, теперь буду знать.


Много чего не знаю!!!!
 
Ответить
Сообщениеmiver, Спасибо большое за ответ. Я тоже уже попробывал Variant, с ним получилось.
Дело в том, что у меня была задача, в которой я в массив записываю данные построчно с одной книги (с нескольких листов) и вывожу данные в две другие книги. При этом элементами первой и второй "мерности" массива была текстовая информация, а в третьей же "мерности" должны были быть числа (цена), причем сделано по-дурному без округлений и где-то цифра была до второго знака (,00), а где-то вообще до десятого. Вначале массив я обозначил как string, думая, что всё будет окей, но почему-то при выводе цены в файл, те цифры что были округлены до 2-го знака копировались ставились нормально, а те, что имели после запятой ещё десяток цифр, вставлялись без запятой и значение: "123,78932" записывалось в файл как "12378932".
_Boroda_, Спасибо большое, это очень интересно, слышал что есть массивы массивов, но не понимал, как они будут записываться, теперь буду знать.

Автор - Roman777
Дата добавления - 26.08.2015 в 16:00
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Несколько типов переменных для одного массива (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!