[英]My Powershell loop wont stop iterating the last row of data
您好,我有一个Powershell脚本,该脚本过去可以在我的excel电子表格中正常运行,但现在似乎出现了故障,无法对答案进行故障排除。
代码的精简版是这个
$pastecounter= 2
$intRowCount = $WS1.usedRange.Rows.Count
for($i=6; $i -le $intRowCount; $i++)
{
$startRow = $i
<A lot of work being done to each row>
$WS1.Range("A"+$startRow+":H"+$startRow).Copy()
$WS2.Range("A"+$pastecounter+":H"+$pastecounter).Pastespecial()
$pastecounter++
$i=$j-1
}
这会迭代我的行,完成工作并将行逐行粘贴到新工作表中,并用于工作。
我今天开始运行它,一旦到达数据的最后一行,它便开始无限粘贴。
我已经回显了所有输出正确的变量,直到最后一行为止,并且尝试添加Break,但是在for循环内粘贴一行后它会中断,而在for循环外它无法解决问题。
现在我唯一能想到的是excel电子表格可能存在问题。 但是我删除了所有空行,并且在没有帮助的情况下清除了excel中的格式。
这里的任何Excel或Powershell专家都可能知道一些故障排除方法?
谢谢!
乍一看,问题似乎在于如何增加循环。 我对您为什么要按自己的方式处理问题有很多疑问,但这应该可以帮助您指出正确的方向...要进行故障排除,请运行以下命令:
$pastecounter= 2
$intRowCount = $WS1.usedRange.Rows.Count
for($i=6; $i -le $intRowCount; $i++)
{
# // added
Write-Host "Is `$i lessOrEqual to `$inRowCount?" -f Yellow -NoNewline
if($i -le $intRowCount){
Write-Host " Yes" -f Green
} else {
Write-Host " No" -f Red
}
Write-Host ("`$i = {0}" -f $i) -f Cyan
Write-Host ("`$intRowCount = {0}" -f $intRowCount) -f Cyan
# // added
$startRow = $i
<A lot of work being done to each row>
$WS1.Range("A"+$startRow+":H"+$startRow).Copy()
$WS2.Range("A"+$pastecounter+":H"+$pastecounter).Pastespecial()
$pastecounter++
$i=$j-1
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.