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

Преобразовать двухмерную матрицу со значениями в матрицу, где каждому значению соответствует одна строка

13.08.2014, 13:22. Показов 1078. Ответов 14
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
здравствуйте, я новичок в vba,
изучаю самостоятельно эту программу на сайте опенкласс, но до создания боле сложных кодов не дошла . на стажировке далее задание: реорганизация матриц. Мне бы пример кода, а дальше я применила бы к другим матрицам.прилагаю документ ворд где объясняю на простом примере и документ excel.благодарю заранее за помощь. матрицы находятся в листе tubsum, Iq.doc
s uvajeniem,
sultanga
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
13.08.2014, 13:22
Ответы с готовыми решениями:

Вычислить значение z, которое соответствует каждому значению x(x=5, dx=1) по формуле z=y+∛y+корень из 5√y , где y=e^0,2x. Считать до тех пор пока y<25
Вычислить значение z, которое соответствует каждому значению x(x=5, dx=1) по формуле...

Преобразовать матрицу, заполнив главную диагональ значениями минимальных элементов ее строк
Дан двумерный массив (матрица) размером NxN. 3. Преобразовать матрицу, заполнив главную диагональ...

Матрицу, где есть хотя бы одна гласная — транспонировать
Даны три символьные матрицы. a) ту матрицу, где есть хотя бы одна гласная - транспонировать; b)...

Ту матрицу, где есть хотя бы одна гласная — транспонировать
Помогите пожалуйста Не успеваю сам по времени Даны три символьные матрицы. a) ту матрицу, где...

14
6944 / 2849 / 548
Регистрация: 19.10.2012
Сообщений: 8,724
13.08.2014, 13:52 2
Какие-то бестолковые "матрицы"... И зачем вообще doc? Достаточно xls - родное для "матриц". Но его нет...
А так виртуально - перебор матрицы цикл в цикле. Цикл по строкам, в нём цикл по столбцам.
0
0 / 0 / 0
Регистрация: 13.08.2014
Сообщений: 8
13.08.2014, 15:35  [ТС] 3
izvinyaus' za "bestolkovyu" matricu, hotela na prostom primere ob'yasnit", a sam excel ne uspela "prikrepit".
spasibo zaranee
Вложения
Тип файла: xls ssl.xls (45.0 Кб, 8 просмотров)
0
6944 / 2849 / 548
Регистрация: 19.10.2012
Сообщений: 8,724
13.08.2014, 15:56 4
Эта не лучше
1. убейте все кривые линки на другие файлы (замените формулы на значения)
2. Покажите нужный результат - хотя бы начало.
0
0 / 0 / 0
Регистрация: 13.08.2014
Сообщений: 8
13.08.2014, 16:15  [ТС] 5
ewe raz izvinyaus', ya vidimo nepravilno skopirovala odnu tolko matricu s original excel, tk vesit mnogo on.
ya daje nachalo rezultata ne mogu pokazat, tk seichas siju i s youtube izuchau kak delat"loop"...
Вложения
Тип файла: xls Classeur1.xls (29.5 Кб, 11 просмотров)
0
6944 / 2849 / 548
Регистрация: 19.10.2012
Сообщений: 8,724
13.08.2014, 16:57 6
loop не нужно, используйте for to next - так будет проще.

Добавлено через 6 минут
Попробуйте, может то что нужно:
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Sub tt()
    Dim a(), i&, ii&, x&
    a = [a1].CurrentRegion.Value
    ReDim b(1 To UBound(a) * UBound(a, 2), 1 To 3)
    For i = 2 To UBound(a)
        For ii = 2 To UBound(a, 2)
            x = x + 1
            b(x, 1) = a(i, 1)
            b(x, 2) = a(1, ii)
            b(x, 3) = a(i, ii)
        Next
    Next
    Workbooks.Add(1).Sheets(1).[a1].Resize(x, 3) = b
End Sub
Проценты упустил - если нужны, то так:
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Sub tt()
    Dim a(), i&, ii&, x&
    a = [a1].CurrentRegion.Value
    ReDim b(1 To UBound(a) * UBound(a, 2), 1 To 3)
    For i = 2 To UBound(a)
        For ii = 2 To UBound(a, 2)
            x = x + 1
            b(x, 1) = a(i, 1)
            b(x, 2) = a(1, ii)
            b(x, 3) = a(i, ii)
        Next
    Next
    With Workbooks.Add(1).Sheets(1).[a1].Resize(x, 3)
        .Columns(3).NumberFormat = "0.00%"
        .Value = b
    End With
End Sub
0
0 / 0 / 0
Регистрация: 13.08.2014
Сообщений: 8
13.08.2014, 17:02  [ТС] 7
ochen' krasivo!!! ogromnoe spasibo!!!
tochno ne nado loop? t k u menya po 5 matric s 200' po 2009 goda i v kajdom godu po 4 trimestra!!!
0
6944 / 2849 / 548
Регистрация: 19.10.2012
Сообщений: 8,724
13.08.2014, 17:12 8
Хотите loop - делайте loop, я не хочу
В принципе возможно.
0
0 / 0 / 0
Регистрация: 13.08.2014
Сообщений: 8
13.08.2014, 17:20  [ТС] 9
ya prosto hotela vawego soveta, tak kak vy ne "zero" kak ya v vba: chto prowe , vawe method , libo "loop", mojet u menya glupye voprosy, ewe raz izvinyaus'...
0
6944 / 2849 / 548
Регистрация: 19.10.2012
Сообщений: 8,724
13.08.2014, 17:52 10
Я при работе с данными листа практически никогда не применяю циклы do/loop/while, т.к. на листе всегда можно сперва определить обрабатываемый диапазон (много способов, смотря по задаче), и затем перебрать его с начала до конца, без всяких лишних проверок "а не пора ли закончить цикл".
И синтаксис проще, понятнее, писать меньше (нужно ещё 2 счётчика заводить, в общем хотел набросать - головоломно и лениво...)
0
0 / 0 / 0
Регистрация: 13.08.2014
Сообщений: 8
13.08.2014, 18:11  [ТС] 11
ya yavno ne v "teme"...ponyala tolko odno (esli pravil'no ponyala), chto for next namnogo prowe!
spasibo iskrennee tem ne menee ogromnoe!!!
0
6944 / 2849 / 548
Регистрация: 19.10.2012
Сообщений: 8,724
13.08.2014, 18:15 12
Если заранее известно докуда to, то for проще
1
0 / 0 / 0
Регистрация: 13.08.2014
Сообщений: 8
17.08.2014, 01:41  [ТС] 13
zdravstvuite ewe raz!!!
mojno u vas sprosit', gde mojno naiti info o "convert rows to columns in vba" krome kak openclassroom et developpez.com
ya do sih por vaw kod ne preminila k svoei "problme"!tol'ko nachala razbirat' i poka ne poluchaetsya..
spasibo zaranee!!!
0
6082 / 1326 / 195
Регистрация: 12.12.2012
Сообщений: 1,023
17.08.2014, 10:31 14
Цитата Сообщение от sultanga
convert rows to columns in vba
Вы имеете в виду транспонирование матриц?

Если да, то обратите внимание на функцию Application.WorksheetFunction.Transpose(Arg1)

Она принимает в качестве аргумента массив или ссылку на диапазон и возвращает транспонированный массив.

С уважением,
Aksima
0
0 / 0 / 0
Регистрация: 13.08.2014
Сообщений: 8
18.08.2014, 22:44  [ТС] 15
spasibo bol'woe, !!!
0
18.08.2014, 22:44
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
18.08.2014, 22:44
Помогаю со студенческими работами здесь

Правильно объявить двухмерную динамическую матрицу
как правильно объявить двухмерную динамическую матрицу?

Как считать двухмерную матрицу с ms excel
нужно вводить в форме размер матрицы и чтоб считывало с excel вот то что я пробовал но мне нужно...

Подскажите,как заполнить двухмерную матрицу(аа)без1 и0.На С++
Мне нужны идеи! А ели еще коды покидаете,то вообще будет классно. Заранее спасибо.

Разобрать картинку по пикселям на двухмерную матрицу из цветов
Добрый день. Есть задача, разобрать картинку по пикселям на двухмерную матрицу из цветов. То...


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

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru