![](/img/trans.png)
[英]Copying Excel sheet content to a new sheet does not copy VBA Form controls in Excel 2007
[英]VBA filter then copy rows to a new sheet ? excel 2007
我需要一種復制帶有數據的行的方法,該方法一直是過濾器用戶自動過濾器
我的問題是我不知道為什么,但是當VBA復制並粘貼來自過濾器的數據時,它會使兩個工作表的行限制一直下降到最大值。 使我的文件大小更大,並花費更長的BC
Columns("B:B").Select
Selection.AutoFilter
ActiveSheet.Range("$B:$B").AutoFilter Field:=1, Criteria1:="<>"
Cells.Select
Selection.Copy
Sheets("Dump").Select
Cells.Select
ActiveSheet.Paste
我發現要處理的唯一事情是
Columns("B:B").Select
Selection.AutoFilter
ActiveSheet.Range("$B:$B").AutoFilter Field:=1, Criteria1:="<>"
'some how Copy all rows with data'
Selection.Copy
Sheets("Dump").Select
Cells.Select
ActiveSheet.Paste
我已經測試了在不使用VBA的情況下復制行,並且確實可以正常工作而沒有任何錯誤,但是我不知道如何對VBA進行編碼,所以我在問如何復制已過濾的行,或者是否偶然知道周圍的大小限制問題,對
這樣的事情應該為您工作:
Sub tgr()
Dim wsData As Worksheet
Dim wsDest As Worksheet
Set wsData = Sheets("Sheet1")
Set wsDest = Sheets("Dump")
With wsData.Range("B1", wsData.Cells(Rows.Count, "B").End(xlUp))
.AutoFilter 1, "<>"
.CurrentRegion.Copy wsDest.Range("A1")
.AutoFilter
End With
End Sub
我相信這會在2007年生效,但我只能在2013年對其進行測試(並且有效)。 嘗試使用粘貼特殊的“ SkipBlanks”選項:
ActiveSheet.Columns("B:B").AutoFilter
ActiveSheet.Range("$B:$B").AutoFilter Field:=1, Criteria1:="<>"
ActiveSheet.Columns("B:B").Copy
Sheets("Dump").Columns("B:B").PasteSpecial SkipBlanks:=True
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.