2015-08-20 121 views
0

我想將工作表移動到一個新的工作簿並將其保存爲一個新的工作簿和工作表名稱。我已經得到了這部分,但我想重複它,直到所有工作表從主工作簿中移出。重複一個子命令

我使用的代碼如下:

Sub MoveToNew() 
'Move the active sheet to a new Workbook. 
Activesheet.Move 
MName = Activesheet.Name & ".xls" 
MDir = ActiveWorkbook.Path 
ActiveWorkbook.SaveAs Filename:="C:\Users\DICS-IN\Desktop\Check\" & MName 
ActiveWorkbook.Save 
ActiveWorkbook.Close 

它的工作原理,直到這一點,但我要重複同樣的事情,直到所有的紙張被移動,並從主片分開保存。

我發現昏暗整數等,但無法做到這一點。

+0

你需要學習循環代碼的概念,嘗試一些[像這樣(HTTP://www.excelfunctions。淨/ VBA-Loops.html)。 –

+1

您不能從工作簿中刪除最後一個可見工作表。 – Jeeped

回答

0

通過循環使用For Each ... Next循環中的所有表

例子:

Sub test() 
Dim S As Worksheet 

    ' loop through all worksheets 
    For Each S In ActiveWorkbook.Worksheets 

     Debug.Print S.Name 
     ' do something with S 
    Next S 

End Sub