我试图使用 Powershell 脚本从 A55 中选择到从 Excel 中的 A 列填充的最后一行。
我的第一个脚本运行得非常完美
$lastRow = $ivWorksheet.Cells.Item($ivWorksheet.Rows.Count, "A").End(3).Row
$ivRange = $ivWorksheet.Range("A55:A$lastRow")
但是,当我将上面更改为下面时,它不起作用。
$startRow = 55
$lastRow = $ivWorksheet.Cells.Item($ivWorksheet.Rows.Count, "A").End(3).Row
$ivRange = $ivWorksheet.Range("A$startRow:A$lastRow")
我期望两个脚本有相同的结果,但后一个脚本不起作用。请问您是什么原因?
$startRow:A
在您的第二次尝试中被解释为变量,并且由于该变量未定义,因此它被扩展为 null
:
$startRow = 55; $lastRow = 123
"A$startRow:A$lastRow" # => A123
您需要使用
${ }
来分隔变量,换句话说,指示变量的开始位置和结束位置,以便 PowerShell 可以正确解析它。有关详细信息,请参阅包含特殊字符的变量名称。
$startRow = 55; $lastRow = 123
"A${startRow}:A$lastRow" # => A55:123