Как "отобразить" данные одномерного массива с помощью функции MsgBox (не используя цикл)?
Категория: Basic
2012-09-21 16:44:49
code: #vba
iFamily = Array("Иванов", "Петров", "Сидоров") MsgBox Join(iFamily, vbLf), , ""
code: #vba
Dim iFamily$(1 To 3) 'iFamily(1 To 3) As String iFamily(1) = "Иванов" iFamily(2) = "Петров" iFamily(3) = "Сидоров" MsgBox Join(iFamily, vbCr), , ""
Если же речь идёт о данных столбца многомерного массива, то в таком случае можно объединить вышеприведённый пример, т.е. :
code: #vba
Dim iMassiv(1 To 10, 1 To 5) 'Здесь идёт заполнение массива некими данными MsgBox Join(Application.Transpose( _ Application.Index(iMassiv, 0, 1)), vbNewLine), , "Первый столбец :" 'или так With Application MsgBox Join(.Transpose(.Index(iMassiv, 0, 3)), _ Chr(10)), , "Третий столбец :" End With With WorksheetFunction MsgBox Join(.Transpose(.Index(iMassiv, 0, 5)), _ Chr(13)), , "Пятый столбец :" End With
Почти тоже самое, но применительно к данным ячейкам активного рабочего листа, может выглядить так:
code: #vba
MsgBox Join(Application.Transpose(Range("A1:A10").Value), vbLf)
MsgBox Join([Transpose(A1:A10)], vbCr)
Актуально только для MS Excel 2000, XP
Поделиться: