将所有过滤的数据从一个工作表复制到新的工作簿

我很难find一个只有可见的单元格从一个工作表复制到新的工作簿。 我的初始工作簿被过滤。 有些东西是:

Sub RangeToNew() Dim newBook as Workbook Set newBook = Workbooks.Add ThisWorkbook.Worksheets("worksheet").SpecialCells(xlCellTypeVisible).Copy _ Before:=newBook.Worksheets(1) End Sub 

这不起作用。

看起来你需要先将SpecialCells范围设置为一个Range对象,然后进行复制。 尝试这个:

 Sub rangeToNew_Try2() Dim newBook As Excel.Workbook Dim rng As Excel.Range Set newBook = Workbooks.Add Set rng = ThisWorkbook.Worksheets("Sheet1").Cells.SpecialCells(xlCellTypeVisible) rng.Copy newBook.Worksheets("Sheet1").Range("A1") End Sub