关于excel如何将一个工作薄中的工作表生成独立的工作薄的问题

我在网上查到下面这个宏,用起来没问题,但他命名是工作表的名称1.xls、2.xls、3.xls,但我想把文件命名为第二行第一列单元格里的内容,如图

第二行第一列为张三、李四、王五,生成三个工作簿,分别命名为张三.xls、李四.xls、王五.xls。大侠们看看怎么改。
Sub 另存所有工作表为工作簿()Dim sht As WorksheetApplication.ScreenUpdating = Falseipath = ThisWorkbook.Path & "\"For Each sht In Sheets sht.Copy ActiveWorkbook.SaveAs ipath & sht.Name & ".xls" '(工作表名称为文件名) ActiveWorkbook.CloseNextApplication.ScreenUpdating = TrueEnd Sub

第1个回答  2014-12-30
Sub 另存所有工作表为工作簿()
Dim sht As Worksheet
Application.ScreenUpdating = False
ipath = ThisWorkbook.Path & "\"
For Each sht In Sheets
sht.Copy
ActiveWorkbook.SaveAs ipath & sht.range("a2") & ".xls" '(A2单元格内容为文件名)
ActiveWorkbook.Close
Next
Application.ScreenUpdating = True
End Sub本回答被提问者和网友采纳
第2个回答  2014-12-30

  sht.Copy
    ActiveWorkbook.SaveAs ipath & sht.range("a2") & ".xls"  '(工作表名称为文件名)
     ActiveWorkbook.Close

第3个回答  2014-12-30
ActiveWorkbook.SaveAs ipath & sht.[A2] & ".xls"
相似回答