Powershell Excel将过滤的数据复制到新工作表

时间:2020-07-16 12:33:21

标签: excel powershell filter copy

我有以下代码来应用公式并过滤结果。它工作正常。下一步,我想将过滤后的数据复制到新的工作表中。怎么做?

$worksheet = $excel.Worksheets.Item(1)
$WorksheetRange = $workSheet.UsedRange
$RowCount = $WorksheetRange.Rows.Count 
$worksheet.range("G2:G$RowCount").formula = "=(SUM(E2-F2))" 
$rng = $excel.Range("G1").EntireColumn
$rng.select
$excel.selection.AutoFilter(7,"<=0")
$xlCellTypeVisible = 12
$cells = $worksheet.UsedRange.Columns.Item(1).SpecialCells($xlCellTypeVisible)

也尝试这样做,但是不起作用:

$worksheet = $excel.Worksheets.Item(1)
$worksheetNew = $excel.Worksheets.Item(2)
#$worksheetNew = $excel.Workbooks.worksheets.add()
$xlCellTypeVisible = 12 
#$cells = $worksheet.UsedRange.Columns.Item(1).SpecialCells($xlCellTypeVisible)
$worksheet.Range("A1:H100").SpecialCells($xlCellTypeVisible).Copy
$worksheetNew.Cells(1, 1).PasteSpecial

1 个答案:

答案 0 :(得分:0)

如果有人感兴趣,这就是我解决问题的方式

$worksheet = $excel.ActiveWorkbook.Worksheets.Item(1)
$worksheetNew = $excel.ActiveWorkbook.worksheets.add()
$worksheet.activate()
$xlCellTypeVisible = 12
$worksheet.UsedRange.SpecialCells($xlCellTypeVisible).Copy()
$worksheetNew.activate()
$temp =$worksheetNew.Range("A1")
$worksheetNew.Paste($temp, $false)