- 帖子
- 1018
- 主題
- 15
- 精華
- 0
- 積分
- 1058
- 點名
- 0
- 作業系統
- win7 32bit
- 軟體版本
- Office 2016 64-bit
- 閱讀權限
- 50
- 性別
- 男
- 來自
- 桃園
- 註冊時間
- 2012-5-9
- 最後登錄
- 2022-9-28
|
回復 10# 198188
參考看看 , 利用進階篩選做的
test.zip (19.54 KB)
- Sub myFilter()
- Dim rngSrc As Range, rngCopyField As Range, rngFilter As Range
- Dim nextRow As Long, endRow As Long
-
- Set rngSrc = Sheets("資料庫").[A1:G7]
- Set rngCopyField = Sheets("條件區").[B8:H8]
- Set rngFilter = Sheets("條件區").[B1].Resize(Sheets("條件區").[B1].CurrentRegion.Rows.Count, 8)
-
- nextRow = Sheets("整理區").UsedRange.Rows.Count + 1
-
- rngSrc.AdvancedFilter Action:=xlFilterCopy, CriteriaRange:= _
- rngFilter, CopyToRange:=Sheets("整理區").Range("A" & nextRow)
-
- endRow = Sheets("整理區").UsedRange.Rows.Count
-
- For i = 1 To rngCopyField.Count
- If rngCopyField(i) = "N" Then
- Sheets("整理區").Range(nextRow & ":" & endRow).Columns(i).Clear
- End If
- Next
-
- Sheets("整理區").Range("A" & nextRow).Resize(1, 7).Delete Shift:=xlUp 'delete header
-
- Set rngSrc = Nothing
- Set rngCopyField = Nothing
- Set rngFilter = Nothing
- End Sub
複製代碼 |
|