Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Поиск значений в нескольких столбцах. - Мир MS Excel

Регистрация · Логин: · Пароль: · · Забыли пароль?
  • Страница 1 из 1
  • 1
Модератор форума: _Boroda_, Manyasha, SLAVICK, китин  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Поиск значений в нескольких столбцах. (Макросы/Sub)
Поиск значений в нескольких столбцах.
Padawan Дата: Суббота, 10.02.2018, 23:17 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 2
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Доброго времени суток. Всем здравия. Пытаясь решить задачу самостоятельно, но из-за скудности своих познаний в vba - не смог. Нашёл на вашем форуме решение для 7-и столбцов. Буду очень благодарен если направите на путь - как сделать так же как в файле, но для 4-х, 5-и, 6-и и 8-и столбцов? Заранее благодарен.
К сообщению приложен файл: 1248221.xlsm(19.9 Kb)


Сообщение отредактировал Padawan - Суббота, 10.02.2018, 23:17
 
Ответить
СообщениеДоброго времени суток. Всем здравия. Пытаясь решить задачу самостоятельно, но из-за скудности своих познаний в vba - не смог. Нашёл на вашем форуме решение для 7-и столбцов. Буду очень благодарен если направите на путь - как сделать так же как в файле, но для 4-х, 5-и, 6-и и 8-и столбцов? Заранее благодарен.

Автор - Padawan
Дата добавления - 10.02.2018 в 23:17
fan-vba Дата: Воскресенье, 11.02.2018, 13:33 | Сообщение № 2
Группа: Пользователи
Ранг: Новичок
Сообщений: 24
Репутация: 10 ±
Замечаний: 0% ±

Excel 2007
может следующие пояснения помогут:
[vba]
Код
x = .Range("E2:L" & .Cells(Rows.Count, 1).End(xlUp).Row).Value
[/vba]
здесь задается область ячеек листа из которой мы будем брать значения, границы ее следующие - E2(верхний левый угол), L(адрес самой нижней заполненной ячейки в столбце L=11), т.е. L11(нижний правый угол). К примеру если бы мы хотели сравнить значения в 10 столбцах, начиная со столбца A и заканчивая столбцом J, расположенные с 5 по самую нижнюю заполненную строку в столбце J, мы бы записали так:
[vba]
Код
x = .Range("A5:J" & .Cells(Rows.Count, 1).End(xlUp).Row).Value
[/vba]
в следующей строке кода мы будем задавать сколько повторений мы будем отслеживать (в данном случае до 7):
[vba]
Код
ReDim y(1 To UBound(x), 1 To 7)
[/vba]
далее мы укажем верхнюю левую ячейку откуда мы будем выводить результат:
[vba]
Код
Range("Q2").Resize(UBound(y), UBound(y, 2)).Value = y()
[/vba]
другими словами вправо от ячейки Q2 будут выводиться результаты в 7 столбцов, т.к. 7 повторений и ниже записываться строки с результатами для строк из указаного выше диапазона.
Вам остается лишь подбирать нужные параметры в этих строках кода для получения нужного Вам результата.


Сообщение отредактировал fan-vba - Воскресенье, 11.02.2018, 13:35
 
Ответить
Сообщениеможет следующие пояснения помогут:
[vba]
Код
x = .Range("E2:L" & .Cells(Rows.Count, 1).End(xlUp).Row).Value
[/vba]
здесь задается область ячеек листа из которой мы будем брать значения, границы ее следующие - E2(верхний левый угол), L(адрес самой нижней заполненной ячейки в столбце L=11), т.е. L11(нижний правый угол). К примеру если бы мы хотели сравнить значения в 10 столбцах, начиная со столбца A и заканчивая столбцом J, расположенные с 5 по самую нижнюю заполненную строку в столбце J, мы бы записали так:
[vba]
Код
x = .Range("A5:J" & .Cells(Rows.Count, 1).End(xlUp).Row).Value
[/vba]
в следующей строке кода мы будем задавать сколько повторений мы будем отслеживать (в данном случае до 7):
[vba]
Код
ReDim y(1 To UBound(x), 1 To 7)
[/vba]
далее мы укажем верхнюю левую ячейку откуда мы будем выводить результат:
[vba]
Код
Range("Q2").Resize(UBound(y), UBound(y, 2)).Value = y()
[/vba]
другими словами вправо от ячейки Q2 будут выводиться результаты в 7 столбцов, т.к. 7 повторений и ниже записываться строки с результатами для строк из указаного выше диапазона.
Вам остается лишь подбирать нужные параметры в этих строках кода для получения нужного Вам результата.

Автор - fan-vba
Дата добавления - 11.02.2018 в 13:33
Padawan Дата: Воскресенье, 11.02.2018, 14:59 | Сообщение № 3
Группа: Пользователи
Ранг: Прохожий
Сообщений: 2
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
fan-vba, благодарствую за разъяснение. Нашёл свои ошибки - очень помогли.


Сообщение отредактировал Padawan - Воскресенье, 11.02.2018, 15:28
 
Ответить
Сообщениеfan-vba, благодарствую за разъяснение. Нашёл свои ошибки - очень помогли.

Автор - Padawan
Дата добавления - 11.02.2018 в 14:59
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Поиск значений в нескольких столбцах. (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

Яндекс цитирования
© 2010-2018 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!