Автофильтры. Как проставить значения в отфильтрованный диапазон? - VBA

Узнай цену своей работы

Формулировка задачи:

Добрый день! Суть задачи такая(упрощаю, так как на самом деле там десятки тысяч строк в 50 таблицах):

Исходные данные:

таблица Имя-Должность-Зарплата

Необходимо:

На основе автофильтра по должности (например по маске "=*менеджер*") записать в таблицу зарплату, указанную в соседней ячейке.

Что пробовал:

Рекордером записал макрос, в котором выбирал нужное значение автофильтра, записывал в верхнюю строку нужное значение, и потом протягиванием вниз изменял данные в отфильтрованных данных. Проблема в том, что если в макросе прописываешь то, что пишет рекордер, то изменяются вся таблица, а не отфильтрованный диапазон. Подскажите, пожалуйста, как это сделать? Файл прикладываю: https://yadi.sk/i/LVu0mx1l3GT67K

Решение задачи: «Автофильтры. Как проставить значения в отфильтрованный диапазон?»

textual
Листинг программы
  1. Sub pr()
  2.     kr = Cells(Rows.Count, 3).End(xlUp).Row
  3.     sMask = Cells(2, 9).Value
  4.     Zpl = Cells(3, 9).Value
  5.     For Each x In Range("c5:c" & kr)
  6.         If x Like sMask Then x.Offset(, 1) = Zpl
  7.     Next
  8. End Sub

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

6   голосов , оценка 3.667 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы