【问题标题】:Powershell excel copy filtered data to new worksheetPowershell excel将过滤后的数据复制到新工作表
【发布时间】:2023-04-05 22:07:02
【问题描述】:

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

$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

【问题讨论】:

  • 也尝试过,但它不起作用。添加新工作表也不起作用 $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).复制 $worksheetNew.Cells(1, 1)。特殊粘贴

标签: excel powershell filter copy


【解决方案1】:

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

$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)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-05-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-03-20
    相关资源
    最近更新 更多