#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. У кого-нибудь есть какие-нибудь идеи?