Board logo

標題: [發問] 請問篩選後的結果如何複製 [打印本頁]

作者: cksmark129    時間: 2019-2-12 14:05     標題: 請問篩選後的結果如何複製

請問
如附檔
當"工作表1" A欄篩選 "2" 的結果,所得會為三筆資料。將此三筆資料之結果複製於"工作表2" 之 A1 貼上
當"工作表1" A欄篩選 "0" 的結果,所得會為零筆資料。將此零筆資料之結果複製於"工作表2" 之 A1  貼上

要怎麼使用VBA寫

謝謝
作者: rouber590324    時間: 2019-2-12 15:27

SIR
1.篩選需求 KEY IN 於 Sheet1.Range("C1") 內
2.程式如下  

Sub AA()
Sheet2.[A2:A65536].ClearContents
X = Sheet1.[A65536].End(xlUp).Row
Y = Sheet2.[A65536].End(xlUp).Row
For M = 2 To X
If Sheet1.Cells(M, 1) = Sheet1.Range("C1") Then
  Sheet2.Cells(Y + 1, 1) = Sheet1.Cells(M, 1)
  Y = Y + 1
  End If
  Next
End Sub
作者: Hsieh    時間: 2019-2-12 15:53

回復 1# cksmark129
  1. Sub ex()
  2. 工作表2.[A:B].ClearContents
  3. With 工作表1
  4. mystr = InputBox("輸入準則", , 2)
  5. With .Range("A1").CurrentRegion
  6.    .AutoFilter 1, "=" & mystr
  7.    .SpecialCells(xlCellTypeVisible).Copy 工作表2.[A1]
  8.    .AutoFilter
  9. End With
  10. End With
  11. End Sub
複製代碼

作者: 准提部林    時間: 2019-2-12 16:38

Sub CopyFilter()
With Sheets("工作表1")
     If Not .FilterMode Then Exit Sub
     Sheets("工作表2").UsedRange.Clear
     .AutoFilter.Range.Offset(1, 0).Copy [工作表2!A1]
End With
End Sub
作者: cksmark129    時間: 2019-2-12 17:24

回復 3# Hsieh
謝謝超級版主回復,
之前也是嘗試用 SpecialCells(xlCellTypeVisible).Copy,
但這樣會將 Type & TXT 此兩格也一併複製 (我只需要列2以下的資料)




歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)