Скопируйте отфильтрованный диапазон в отфильтрованный диапазон

#excel #vba #filter

Вопрос:

В моей программе стажировки у меня есть задача скопировать отфильтрованный диапазон и вставить его на тот же лист, но с применением другого фильтра. Поэтому каждый месяц мы должны копировать и вставлять на основе некоторых расчетов, и я хочу бесплатно выбирать диапазон копирования и диапазон вставки, чтобы каждый раз я мог выбирать другой диапазон. Вот фотографии того, как это выглядит. Итак, фильтр-это FCDP 21(столбец E), из которого я должен скопировать диапазон, например, от SEP до total, а затем отфильтровать столбец до MSR M-1(столбец E), и там нужно вставить его в диапазон от SEP до total, и я хочу каждый раз выбирать диапазон, который я хочу скопировать и вставить. Код, который я пробовал, это:

введите описание изображения здесь

 'Updateby20150203  Dim rng1 As Range  Dim rng2 As Range  Dim InputRng As Range  Dim OutRng As Range  With Range("A3:T3047") .AutoFilter field:=7, Criteria1:="FCDP 21" End With  xTitleId = "KutoolsforExcel"  Set InputRng = Application.Selection  Set InputRng = Application.InputBox("Copy Range :", xTitleId, InputRng.Address, Type:=8)  With Range("A3:T3047") .AutoFilter field:=7, Criteria1:="MSR M-1 21" End With  Set OutRng = Application.InputBox("Paste Range:", xTitleId, Type:=8)    For Each rng1 In InputRng  rng1.Copy  For Each rng2 In OutRng  If rng2.EntireRow.RowHeight gt; 0 Then  rng2.PasteSpecial xlPasteValues    Set OutRng = rng2.Offset(1).Resize(OutRng.Rows.Count)  Exit For  End If  Next  Next  Application.CutCopyMode = False End Sub```  

Комментарии:

1. У кого-нибудь есть какие-нибудь идеи?