Форум программистов, компьютерный форум, киберфорум
VBA
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.55/20: Рейтинг темы: голосов - 20, средняя оценка - 4.55
1 / 1 / 0
Регистрация: 17.11.2021
Сообщений: 45

Создать процедуру для вывода содержимого массива через MsgBox

17.11.2021, 15:34. Показов 4746. Ответов 11

Студворк — интернет-сервис помощи студентам
У меня есть лист в Excel, который заполнен числами от A1 до A5. Мне нужно, чтобы все эти числа считались в массив, а потом вывести содержимое этого массива через MsgBox, который должен находится в процедуре. Не пойму, что не так? Он мне надпись выводит, а само содержимое массива не выводит.

Visual Basic
1
2
3
4
5
6
7
8
Sub lab()
    Dim a() As Variant
    a = Range("A1:A5").Value
End Sub
 
Public Sub message()
MsgBox "Содержимое массива: " & a
End Sub
Миниатюры
Создать процедуру для вывода содержимого массива через MsgBox  
Изображения
 
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
17.11.2021, 15:34
Ответы с готовыми решениями:

Написать процедуру вывода для вывода массива в обратном порядке
Для данного массива написать процедуру вывода массива в обратном порядке. type vector = array of real; var n: byte; s,c: real; ...

Создать процедуру для вывода таблицы значений функции
20. Создать процедуру для вывода таблицы значений функции y=sin (x + 1)^2 для х от a до b с шагом h. Вывести две таблицы: а) для х от 2 до...

Создать процедуру для вывода таблицы значений функции
18. Создать процедуру для вывода таблицы значений функции y=tg x + 1/x для х от a до b с шагом h. Вывести две таблицы: а) для х от 2 до 4...

11
Модератор
Эксперт MS Access
 Аватар для shanemac51
12231 / 5078 / 814
Регистрация: 07.08.2010
Сообщений: 14,940
Записей в блоге: 4
17.11.2021, 15:44
aleksevgeny,
попробуйте так
Visual Basic
1
2
3
4
5
6
7
8
9
10
Dim a() As Variant
Sub lab()
    
    a = Range("A1:A5").Value
message
End Sub
 
Public Sub message()
MsgBox "Содержимое массива: " & a
End Sub
0
1 / 1 / 0
Регистрация: 17.11.2021
Сообщений: 45
17.11.2021, 15:49  [ТС]
Пишет: "Compile error". Type missmatch. Выделяет жёлтым строку "Public Sub message()".
Миниатюры
Создать процедуру для вывода содержимого массива через MsgBox  
Изображения
 
0
1 / 1 / 0
Регистрация: 17.11.2021
Сообщений: 45
17.11.2021, 15:52  [ТС]
Сам файл опубликовать нельзя, я так понял.
0
 Аватар для Narimanych
2751 / 1725 / 779
Регистрация: 23.03.2015
Сообщений: 5,449
17.11.2021, 16:11
aleksevgeny,

Можно. Заархивируйте и прикрепите
0
1 / 1 / 0
Регистрация: 17.11.2021
Сообщений: 45
17.11.2021, 16:12  [ТС]
Добавил в zip архив.
Вложения
Тип файла: zip File.zip (13.9 Кб, 13 просмотров)
0
 Аватар для Narimanych
2751 / 1725 / 779
Регистрация: 23.03.2015
Сообщений: 5,449
17.11.2021, 16:23
aleksevgeny,
У вас массив а- двумерный. Пройдитесь по нему циклом и пропишите по одному в строкувую переменную .Потом можно и в месаже показывать...
0
1 / 1 / 0
Регистрация: 17.11.2021
Сообщений: 45
17.11.2021, 16:27  [ТС]
Можно код? Я не уверен, что правильно понял, что Вы имеете в виду. Мне как-то легче с кодом понять. И почему массив двумерный, если там только 1 столбец заполнен? От A1 до A5
0
Модератор
Эксперт MS Access
 Аватар для shanemac51
12231 / 5078 / 814
Регистрация: 07.08.2010
Сообщений: 14,940
Записей в блоге: 4
17.11.2021, 16:34
aleksevgeny,
получилось только так
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Dim range1z, j1, sum1
Sub lab()
    
    range1z = Range("a1:a5")
    
message
End Sub
 
Public Sub message()
sum1 = ""
j1 = 0
For j1 = LBound(range1z, 1) To UBound(range1z, 1)
Debug.Print j1, range1z(j1, 1)
sum1 = sum1 & "," & range1z(j1, 1)
Next j1
Debug.Print "Содержимое массива: " & mid(sum1,2)
 
End Sub
0
 Аватар для Narimanych
2751 / 1725 / 779
Регистрация: 23.03.2015
Сообщений: 5,449
17.11.2021, 16:35
Лучший ответ Сообщение было отмечено aleksevgeny как решение

Решение

aleksevgeny,
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
Sub lab()
    Dim a() As Variant
    Dim s As String, i As Integer
    a = Range("A1:A5").Value
    For i = 1 To 5
    If i = 5 Then
         s = s & a(i, 1)
    Else
         s = s & a(i, 1) & ";"
         End If
    Next
    MsgBox s
End Sub
 
 
 
Sub lab2()
    Dim a() As Variant
    ReDim a(1 To 5)
    
    For i = 1 To 5
        a(i) = Cells(i, 1).Value
    Next
    MsgBox Join(a, " ; ")
End Sub
0
1 / 1 / 0
Регистрация: 17.11.2021
Сообщений: 45
17.11.2021, 16:38  [ТС]
Заработало! Спасибо.
0
 Аватар для Narimanych
2751 / 1725 / 779
Регистрация: 23.03.2015
Сообщений: 5,449
17.11.2021, 16:43
aleksevgeny,
Цитата Сообщение от aleksevgeny Посмотреть сообщение
Заработало! Спасибо.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
17.11.2021, 16:43
Помогаю со студенческими работами здесь

Создать процедуру для вывода таблицы значений функции
Создать процедуру для вывода таблицы значений функции y=cos(x+1)^2 для х от а до b с шагом h. Вывести таблицу для х от 2 до 3 с шагом 0,1.

Написать процедуру, вычисляющую значение функции, и выводящую результат через MsgBox
Написать VBA процедуру, которая считает функцию y=f(x), x принадлежит R и выводит результат у окне MsgBox для указанного значения. Запрос...

Cоставить процедуру для вывода двумерного массива
Помогите составить программу Cоставить процедуру для вывода двумерного числового массива, произвольного размера, запрашиваемого у...

Создать процедуру для вывода и подсчета суммы последовательных целых чисел от a до b
Создать процедуру для вывода и подсчета суммы последовательных целых чисел от a до b. С помощью этой процедуры вывести и найти сумму целых...

Создать процедуру для вывода и нахождения суммы первых N членов арифметической прогрессии
создать процедуру для вывода и нахождения суммы первых N членов арифметической прогрессии заданной формулой a_n=5n-3


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Новые блоги и статьи
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. В качестве источника данных. . .
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер Написал заготовку: dotnet new console --aot -o UrlHandler var items = args. Split(":"); var tag = items; var id = items; var executable = args;. . .
Отправка уведомления на почту при создании или изменении элементов справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной записи электронной. . .
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений. 9TO2GP2bpX4 a42b81fb172ffc12ca589c7898261ccb/ https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/ Слева синяя линия -. . .
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru