我对Powershell还是很陌生,觉得这可能是一个简单的问题,但是我在程序中停留在尝试过滤excel电子表格,然后删除过滤的行的问题。
理想情况下,我想过滤从第3行开始的A列中所有未显示“ NO DATA”的行。 一旦拥有所有这些行,我便希望将其全部删除。 然后带回所有具有“ NO DATA”的行
我不知道如何编写脚本,以便过滤器从第2行开始,以及如何为所有不显示“ NO DATA”的行进行过滤
$worksheet.usedrange.autofilter(1, -ne "NO DATA", 3)
$worksheet.usedrange.offset(1,0).specialcells(12).Entirerow.Delete()
$worksheet.ShowAllData()
当我尝试在我看来合理的方法时,出现2个错误,一个错误是在','之后的-ne之前的“ missing expression”,另一个错误是“无法获得range类的Auto filter属性” ((列号,文本,行号)部分。
$worksheet.usedrange.autofilter(1, "NO DATA", 2)
$worksheet.usedrange.offset(1,0).specialcells(12).Entirerow.Delete()
$worksheet.ShowAllData()
此代码有效,但给了我错误的数据集(我想删除的所有内容都剩下了,它仍然从第1行而不是第2行进行过滤。
任何帮助都会很棒。
答案 0 :(得分:1)
如果我理解正确,那么您正在寻找:
recompose
答案 1 :(得分:1)
能够找到一个解决方案,它实际上和我期望的一样简单:/
$SubCon_Vs_NOA.range("A2").autofilter(1,"<>NO DATA")
$SubCon_Vs_NOA.range("A3:A$rows").Entirerow.Delete()
$SubCon_Vs_NOA.ShowAllData()