Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Word
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 03.02.2011, 17:20   #1
me-lo
Новичок
Джуниор
 
Регистрация: 03.02.2011
Сообщений: 2
По умолчанию Как описать многомерный массив в VBA

Пожалуйста, кто знает, помогите наладить программу для VBA. Сам просто в этом деле новичок
Вот сама задача:Определить сумму элементов К-го столбца матрицы S размерности
M*N. Для отладки программы значения K, M, N и матрицы S выбрать самостоятельно.
Чтобы не подумали , что ищу халяву, вот , пытался написать текст программы, но увы вместо многомерного массива получаю одномерный , да и с суммой проблемы.....
Вот:
Option Base 1
Private Sub CommandButton1_Click()
Dim S() As Single
Dim m As Byte
Dim n As Byte
Dim k As Byte
Dim i As Byte
Dim j As Byte
Dim E As Single
'ввод размера массива
m = InputBox("Сколько строк в массиве?")
n = InputBox("Сколько столбцов в массиве?")
ReDim S(m, n)
'ввод массива
LabelE.Caption = "Исходный массив S" & vbNewLine & vbNewLine
For i = 1 To m
For j = 1 To n
S(i, j) = InputBox(" Введите значение " & i & " строки " & j & " столбца ")
LabelE.Caption = LabelE.Caption & S(i, j) & vbTab
Next j
Next i

'обработка
For i = 1 To m
For j = 1 To n
E = 0
If j = k Then E = E + S(i, j)
Next j
Next i

'Вывод
LabelE.Caption = LabelE.Caption & vbNewLine & vbNewLine & " Сумма элемнтов данного столбца =" & E


End Sub
me-lo вне форума Ответить с цитированием
Старый 03.02.2011, 22:12   #2
doober
Старожил
 
Аватар для doober
 
Регистрация: 02.05.2009
Сообщений: 3,907
По умолчанию

Код:
Option Base 1
Private Sub CommandButton1_Click()
Dim S() As Single
Dim m As Byte
Dim n As Byte
Dim k As Byte
Dim i As Byte
Dim j As Byte
Dim E As Single
'ввод размера массива
m = InputBox("Сколько строк в массиве?")
n = InputBox("Сколько столбцов в массиве?")
k= InputBox("Определить сумму элементов столбца №")
ReDim S(m, n)
'ввод массива
LabelE.Caption = "Исходный массив S" & vbNewLine & vbNewLine
For i = 1 To m
For j = 1 To n
S(i, j) = InputBox(" Введите значение " & i & " строки " & j & " столбца ")
LabelE.Caption = LabelE.Caption & S(i, j) & vbTab
Next j
LabelE.Caption = LabelE.Caption & vbNewLine
Next i
'обработка
E = 0
For i = 1 To m
For j = 1 To n
If j = k Then E = E + S(i, j)
Next j
Next i
'Вывод
LabelE.Caption = LabelE.Caption & vbNewLine & vbNewLine & " Сумма элемнтов данного столбца =" & E
End Sub
Анализ,обработка данных Недорого
doober вне форума Ответить с цитированием
Старый 03.02.2011, 22:43   #3
shanemac51
Участник клуба
 
Аватар для shanemac51
 
Регистрация: 12.08.2010
Сообщений: 1,077
По умолчанию матрица

заменила inputbox на присвоение(лень вводить 10 раз)
Код:
Option Explicit

''Option Base 1
Private Sub CommandButton1_Click()
Dim S() As Single
Dim m As Byte
Dim n As Byte
Dim k As Byte
Dim i As Byte
Dim j As Byte
Dim E As Single
'ввод размера массива
m = 4  'InputBox("Сколько строк в массиве?")
n = 4  'InputBox("Сколько столбцов в массиве?")
k = 1  'InputBox("Сколько столбцов в массиве?")

ReDim S(m, n)
'ввод массива
''LabelE.Caption = "Исходный массив S" & vbNewLine & vbNewLine
Debug.Print "Исходный массив S"
For i = 1 To m
For j = 1 To n
S(i, j) = i * 10 + j ''InputBox(" Введите значение " & i & " строки " & j & " столбца ")
''LabelE.Caption = LabelE.Caption & S(i, j) & vbTab
Debug.Print S(i, j);
Next j
Debug.Print
Next i

'обработка
E = 0

For i = 1 To m
For j = 1 To n
If j = k Then
E = E + S(i, j)
End If
Next j
Next i

'Вывод
''LabelE.Caption = LabelE.Caption & vbNewLine & vbNewLine & " Сумма элемнтов данного столбца =" & E
Debug.Print " e="; E

End Sub
Исходный массив S
 11  12  13  14 
 21  22  23  24 
 31  32  33  34 
 41  42  43  44 
 e= 104
Имя-Галина== почта shanemac51@yandex.ru скайп shanemac51 c 8-15мск будни
Сфера интересов--word-excel-access-распознавание
shanemac51 вне форума Ответить с цитированием
Старый 04.02.2011, 12:29   #4
me-lo
Новичок
Джуниор
 
Регистрация: 03.02.2011
Сообщений: 2
По умолчанию

Огромное спасибо всем Всё получилось, а главное понял!
me-lo вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Многомерный массив (матрица) Meatdealer Общие вопросы Delphi 2 03.12.2010 01:51
Как создать многомерный динамический массив в Delphi? Velross Помощь студентам 3 06.01.2010 20:50
многомерный не квадартный массив-константа Izhic Общие вопросы Delphi 3 11.11.2009 16:34
С++/С# многомерный массив DeFace Общие вопросы C/C++ 4 03.05.2009 16:07
Многомерный массив Iogan Gamba Puti Общие вопросы C/C++ 2 08.05.2008 15:20