我正在尝试将已过滤的命名范围导出到新工作簿。我的命名范围包含可变数量的行,在特定列中带有“ 0”。在将它们导出到新工作簿之前,我想从选择中排除那些行(在“ F”列中包含“ 0”)。
下面是我用来复制命名范围并将其粘贴到新工作簿中的代码。到目前为止,还不错,但是对于如何排除列“ F”中带有“ 0”的行,我一无所知。目前,整个命名范围已粘贴到新工作簿中。
Dim MyFileName As String
Dim CurrentWB As Workbook, TempWB As Workbook
Set CurrentWB = ActiveWorkbook
ActiveWorkbook.ActiveSheet.Range("my named range").Copy
Set TempWB = Application.Workbooks.Add(1)
With TempWB.Sheets(1).Range("A1")
.PasteSpecial xlPasteValues
.PasteSpecial xlPasteFormats
End With
答案 0 :(得分:1)
假设您已经过滤了数据并且隐藏了零,请更改以下行:
ActiveWorkbook.ActiveSheet.Range("my named range").SpecialCells(xlCellTypeVisible).Copy
如果尚未过滤,请使用AutoFilter
ActiveWorkbook.ActiveSheet.Range("my named range").AutoFilter Field:=(number of field), Criteria1:="<>0"
紧接着上方的一行...