3

Как отобразить на отдельном листе только строки данных на основе одного столбца этих данных, соответствующих определенным критериям в Excel? В исходной таблице данных есть как минимум 15 столбцов и 240 строк, и мне нужно отобразить все строки данных, если одна ячейка в этой строке соответствует критериям.

2 ответа2

1

Я не понимаю, почему я не понимаю ответ DeltaHotel, поэтому я бы сказал, что в целевом листе есть заявление IF. Как только у меня заработала одна ячейка, я бы скопировал ее в каждую ячейку в строке и столбце.

Вы можете ссылаться на ячейки на листе оригинала и старательно использовать относительное / абсолютное форматирование, чтобы сделать это правильно.

VB более элегантный, если вы понимаете это.

1

Вы можете использовать параметр « Фильтр данных»Фильтровать из ленты данных» ), чтобы ограничить область действия исходного листа, а затем скопировать весь лист на целевой лист. Это может быть обернуто в небольшой модуль VBA, если вы хотите автоматизировать, и модуль может динамически создавать (или очищать) целевой лист.

Что-то вроде следующего кода:

' clear the target sheet
Sheets("Target Sheet").Select
Cells.Select
Selection.ClearContents
Range("A1").Select

' go to source sheet
Sheets("Source Sheet").Select

' filter as needed
ActiveSheet.Range("$A$1:$O$500").AutoFilter Field:=4, Criteria1:="=100", _
    Operator:=xlOr, Criteria2:="=200"

' copy filtered rows to target
Cells.Select
Selection.Copy
Sheets("Target Sheet").Select
ActiveSheet.Paste
Range("A1").Select
Sheets("Source Sheet").Select
Application.CutCopyMode = False
Range("A1").Select
ActiveSheet.Range("$A$1:$O$500").AutoFilter Field:=4

Поместите этот код в модуль, затем вы можете запустить код с ленты разработчика (макросы) или назначить кнопку на панели инструментов ленты или быстрого доступа, если это необходимо.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .