返回列表 上一主題 發帖

[發問] 關於工作表移動到新活頁簿

[發問] 關於工作表移動到新活頁簿

以下代碼是將活頁簿裡所有 sh開頭的工作表刪除
For I = Worksheets.Count To 1 Step -1
If Worksheets(I).Name Like "Sh*" Then
Worksheets(I).Delete
End If
Next

改成下列方式可以將 sh開頭的工作表移動到新活頁簿裡
工作表可以正確移動但代碼卻會出現錯誤
不知道問題出在那裡
For I = Worksheets.Count To 1 Step -1
If Worksheets(I).Name Like "Sh*" Then
Worksheets(I).MOVE
End If
Next

回復 1# feecshyrnd
若要移動多個工作表,以你所用的迴圈方式處理會造成錯誤,因為每迴圈一次後移出的工作表會自成一個Excel檔,且該檔會變成作用中,除非再恢復原始檔成作用中。

因此若要將多數符合條件的工作表移到一個檔案中(非一個工作表一個檔案)時,建議將要移出的工作表先行打包,再以一次性的MOVE才可完成你所要求的結果。

TOP

        靜思自在 : 有時當思無時苦,好天要積雨來糧。
返回列表 上一主題