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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 12.01.2011, 15:33   #1
drNabla
Пользователь
 
Регистрация: 18.05.2010
Сообщений: 87
По умолчанию удаление строк и столбцов из массива

Здравствуйте.
Есть небольшая задачка: в макросе создаю пользовательскую функцию, в ней формируется массив NxN как из этого массива убрать определённую строку и столбец?
Заранее всем благодарен.
drNabla вне форума Ответить с цитированием
Старый 12.01.2011, 16:00   #2
kuklp
Участник клуба
 
Регистрация: 02.05.2010
Сообщений: 1,390
По умолчанию

Только через другой(временный) массив.
mailto: kuklp60@gmail.com, ящики для благодарностей:
WM Z206653985942, R334086032478, U238399322728
kuklp вне форума Ответить с цитированием
Старый 12.01.2011, 16:16   #3
drNabla
Пользователь
 
Регистрация: 18.05.2010
Сообщений: 87
По умолчанию

в принципе можно, тогда останется исходный массив и ещё будет второй полученный на одну строку и один столбец меньше исходного?
drNabla вне форума Ответить с цитированием
Старый 12.01.2011, 16:24   #4
kuklp
Участник клуба
 
Регистрация: 02.05.2010
Сообщений: 1,390
По умолчанию

Будет хорошим тоном поудалять ВСЕ масивы перед завершением программы(End Sub). Ну, типа
Erase a
a - имя массива.
mailto: kuklp60@gmail.com, ящики для благодарностей:
WM Z206653985942, R334086032478, U238399322728
kuklp вне форума Ответить с цитированием
Старый 12.01.2011, 16:32   #5
drNabla
Пользователь
 
Регистрация: 18.05.2010
Сообщений: 87
По умолчанию

эту уже решать более опытным. я тут мало знаю таких тонкостей.
drNabla вне форума Ответить с цитированием
Старый 12.01.2011, 16:38   #6
kuklp
Участник клуба
 
Регистрация: 02.05.2010
Сообщений: 1,390
По умолчанию

Так кто не дает учиться? Ваше число сообщений вполне сопоставимо с моим. Это намек. Учитесь.
mailto: kuklp60@gmail.com, ящики для благодарностей:
WM Z206653985942, R334086032478, U238399322728
kuklp вне форума Ответить с цитированием
Старый 12.01.2011, 16:41   #7
drNabla
Пользователь
 
Регистрация: 18.05.2010
Сообщений: 87
По умолчанию

после ваших высказываний и правда появилась одна идея, щас сделаю покажу, вы оцените.
drNabla вне форума Ответить с цитированием
Старый 12.01.2011, 16:53   #8
kuklp
Участник клуба
 
Регистрация: 02.05.2010
Сообщений: 1,390
По умолчанию

. Жду.
mailto: kuklp60@gmail.com, ящики для благодарностей:
WM Z206653985942, R334086032478, U238399322728
kuklp вне форума Ответить с цитированием
Старый 12.01.2011, 17:13   #9
drNabla
Пользователь
 
Регистрация: 18.05.2010
Сообщений: 87
По умолчанию

Код:
Public Function minor(rgn1 As Range, k As Long, i As Long, j As Long, r As Long, e As Long) As Double
Dim n As Long, l As Long, h As Long, g As Long
Dim RR
RR = rgn1.Value
ReDim C(k, k)
ReDim A(k - 1, k - 1)

' k - размерность матрицы, i - удаляемая строка, j - удаляемый столбец, r e - для вывода на лист
For l = 0 To k - 1
For n = 0 To k - 1
C(n, l) = RR(n + l * k + 1, 1)
Next
Next

For l = 0 To k - 1
For n = 0 To k - 1
h = 0
g = 0
If n >= i - 1 Then h = n + 1 Else h = n
If l >= j - 1 Then g = l + 1 Else g = l
A(n, l) = C(h, g)
Next
Next


minor = A(r - 1, e - 1)
Erase A
Erase C
End Function
вот так получилось, или можно проще сделать?
drNabla вне форума Ответить с цитированием
Старый 12.01.2011, 19:16   #10
kuklp
Участник клуба
 
Регистрация: 02.05.2010
Сообщений: 1,390
По умолчанию

Ну, не знаю. Пока так:
Изображения
Тип файла: jpg 2010-12-22_043633.jpg (62.1 Кб, 55 просмотров)
mailto: kuklp60@gmail.com, ящики для благодарностей:
WM Z206653985942, R334086032478, U238399322728
kuklp вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Матрицы,удаление элементов, строк и столбцов Татьяна007 Помощь студентам 1 10.11.2010 17:33
Удаление строк и столбцов в StringGrid Sarumjan Общие вопросы C/C++ 2 17.10.2010 20:38
паскаль, удаление строк и столбцов daimon Помощь студентам 8 13.06.2010 14:20
StringGrid - удаление строк и столбцов ReM Общие вопросы Delphi 4 22.12.2008 19:17
Запрет на удаление строк и столбцов Shavminator Microsoft Office Excel 2 12.01.2008 13:36