0 / 0 / 1
Регистрация: 10.06.2015
Сообщений: 5
|
|
1 | |
По значению в первом столбце найти значение во втором столбце и перенести его на лист "Перечень" в столбец 1111.06.2015, 09:50. Показов 1854. Ответов 14
Метки нет (Все метки)
Добрый день!
Только начинаю изучение VBA, прошу помочь оптимизировать пример кода для случая: надо по значению в ячейке на листе "Перечень" в столбце 9 (рубрика) (сделано выпадающим списком) по словарю с листа "справочник рубрика": по значению в первом столбце найти значение во втором столбце и перенести его на лист "Перечень" в столбец 11 (название рубрики). Помогите, пож-та! Добавлено через 43 секунды https://www.cyberforum.ru/post3266448.html
0
|
11.06.2015, 09:50 | |
Ответы с готовыми решениями:
14
Как объединить ячейки во втором столбце при совпадении значений в первом столбце Выделить ячейку с числом во втором столбце, если данное число есть также в первом столбце Разработать алгоритм вычисления выражения,заданного в первом столбце,введя функцию пользователя, описанную во втором столбце Двухмерные массивы. Рассчитать среднюю температуру в первом столбце и среднюю во втором столбце Найти максимальное число во втором столбце матрицы и минимальное в первом |
6922 / 2832 / 543
Регистрация: 19.10.2012
Сообщений: 8,645
|
|
11.06.2015, 10:58 | 2 |
Т.е. нужно оптимизировать код ikki?
0
|
0 / 0 / 1
Регистрация: 10.06.2015
Сообщений: 5
|
|
11.06.2015, 13:20 [ТС] | 3 |
Да, или подскажите как написать заново (если это требуется) ?
Если по коду ikki дадите подробные комментарии - типа куда идем, где ищем, что куда записываем, с пояснением ссылка, строка, столбец - попробую доработать самостоятельно. Пока "вслепую" не заработала так как надо... ((
0
|
6922 / 2832 / 543
Регистрация: 19.10.2012
Сообщений: 8,645
|
|
11.06.2015, 13:25 | 4 |
Вообще судя по описанию задачи (если учитывать, что как всегда ничего ПЕРЕНОСИТЬ не нужно (посмотрите значение этого слова в любом словаре)) - достаточно формулы ВПР().
Если всёж нужен макрос - запишите рекордером процесс использования формулы и замену формулы спецвставкой на значение. Это если просто нужен результат, а не навороченный оптимизированный код для суперогромных массивов данных.
0
|
0 / 0 / 1
Регистрация: 10.06.2015
Сообщений: 5
|
|
11.06.2015, 15:34 [ТС] | 6 |
Сообщение было отмечено Sasha_Smirnov как решение
Решение
Sasha_Smirnov, добрый день!
Дело в том, что я работаю в фирме и моя должность звучит как специалист по статистике и информации, собственно основная часть работы проходит в Excel - большие объемы информации. Процесс автоматизации по фирме - планировался еще с 2011 года, мы писали ТЗ нашим ИТистам, но воз и ныне там... Сейчас все свелось к тому, чтобы помочь коллегам с других отделов автоматизировать заполнение Перечней ассортимента - в частности с помощью баз информации с других файлов Excel и банально справочников. Вот - макросы нам в помощь. В институте с программированием знакомилась, в частности крепких знаний пока конкретно в VBA нет, изучаю литературу. Поэтому приму любую помощь. Данная задача поставлена в строго отведенные сроки. Дальше - больше )) И спасибо з авнимание к моей проблеме! Добавлено через 4 минуты Hugo121, реализация функцией ВПР или другими комбинациями (например, используя функции СМЕЩ, ПОИСК) первое, что было предложено коллегам, но были выдвинуты пожелания понаписанию общего макроса для решения всех "нюансов" по задаче... Код в найденном примере от ikki достаточно не сложный, пробел в необх. времени, чтоб подтянуть синтаксис языка... Если дадите комменты по операндам - буду чрезмерно благодарна!!! Или же на источник русскоязычной лит-ры с кратким и ясным описанием нужного )) Добавлено через 1 час 10 минут файл предполагает порядка 15 и более тысяч строк
0
|
6922 / 2832 / 543
Регистрация: 19.10.2012
Сообщений: 8,645
|
|
11.06.2015, 15:37 | 7 |
У ikki всё построено на использовании стандартного поиска - что небыстро (как он написал), для больших объёмов не годится (хотя работать будет). Хотя если в миллионе строк нужно найти всего десяток значений - может это даже самый быстрый способ
С ВПР() минус в том, что каждое значение будет искаться как первое - снова перебор всего объёма. Если работаете под Виндовс, то рекомендую сразу освоить применение массивов и scripting.dictionary (словарь) и коллекций - будет оптимально. Ну и SQL/запросы, хотя я прекрасно обхожусь без них. А по поводу "всех "нюансов" по задаче" - мы и задачу то ещё не видели. Так, что-то слышали только...
1
|
0 / 0 / 1
Регистрация: 10.06.2015
Сообщений: 5
|
|
11.06.2015, 16:27 [ТС] | 8 |
Hugo121, да, под Виндовс, спасибо за советы.
Файлик вот Цифры вверху - номера столбцов в исходнике
0
|
15 / 15 / 5
Регистрация: 01.12.2014
Сообщений: 117
|
||||||
11.06.2015, 17:24 | 9 | |||||
Сообщение было отмечено Анна Гурами как решение
Решение
Когда-то давно делал для себя. Немного подредактировал под вас.
Сравнение по 9 колонке, подстановка в 11. С листа "списки" забираются значения из первых двух колонок Кликните здесь для просмотра всего текста
2
|
6922 / 2832 / 543
Регистрация: 19.10.2012
Сообщений: 8,645
|
|
11.06.2015, 17:55 | 10 |
сороконожка, зачем массив в цикле заполняете? Очень долго, и код большой.
0
|
466 / 123 / 61
Регистрация: 04.03.2015
Сообщений: 325
|
||||||
12.06.2015, 03:34 | 11 | |||||
Сообщение было отмечено Анна Гурами как решение
Решение
Могу предложить вариант с SQL запросом. Книгу нужно предварительно сохранить.
Кстати, если кто-то может сказать что-то относительно скорости (относительно других вариантов), буду очень рад.
2
|
0 / 0 / 1
Регистрация: 10.06.2015
Сообщений: 5
|
|
12.06.2015, 09:51 [ТС] | 12 |
Vovchikvsb, спасибо огромнейшее за ПОМОЩЬ!
Опробовала два способа, все работает ))
0
|
15 / 15 / 5
Регистрация: 01.12.2014
Сообщений: 117
|
|
12.06.2015, 11:19 | 14 |
0
|
6922 / 2832 / 543
Регистрация: 19.10.2012
Сообщений: 8,645
|
|
12.06.2015, 11:22 | 15 |
0
|
12.06.2015, 11:22 | |
12.06.2015, 11:22 | |
Помогаю со студенческими работами здесь
15
Если в первом столбце нет фамилии со второго столбца то его нудно добавить в первый столбец в самый низ Во втором столбце матрицы 4х4 найти минимальный элемент, удалить столбец и строку по условию Найти минимальное значение во втором столбце данной матрицы Массивы: Вычислить сумму элементов матрицы A [N, N], находящихся в первом и втором столбце Показ строки таблицы по значению в первом столбце Найти максимальный элемент в первом столбце, поменять его строку с первой строкой Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |