我有一个工作簿,我正在从中提取数据,并为每行创建单独的电子表格。这段代码工作得很好。大约有400行要移动到单独的工作表中。在每个工作表后,我想然后“移动”工作表到一个单独的工作簿,并删除工作表。我必须将数据复制到工作簿的代码也工作得很好。
但是,我想将编码更改为一个步骤,并使用当前代码中的命名约定创建一个新的工作簿,以获得大约400个工作簿。我如何合并这些代码?
我试着寻找答案,并试图也合并代码,但我仍然是相当新的VBA和大多只是'玩'与它。我在这里和其他网站上都做了研究,但没有运气。
下面是我的代码:
Sub NewSheetPerName()
Dim wb As Workbook, Ws As Worksheet, curWS As Worksheet, x As Long
Set wb = ThisWorkbook
Set Ws = wb.Worksheets("Consolidated")
For x = 8 To Ws.Cells(Rows.Count, 1).End(xlUp).Row
Set curWS = wb.Sheets.Add(After:=wb.Sheets(wb.Sheets.Count))
curWS.Name = Ws.Cells(x, 1).Value & " " & Ws.Cells(x, 2).Value
Sheets.FillAcrossSheets Ws.Range("1:7")
Ws.Rows(x).Copy curWS.Range("A8")
Next x
End Sub
Sub MoveSheetsToWorkbooks()
Dim Ws As Worksheet, strFilepath As String
strFilepath = ThisWorkbook.Path & "\"
Application.ScreenUpdating = False
For Each Ws In ThisWorkbook.Worksheets
Ws.Copy
ActiveWorkbook.SaveAs strFilepath & ActiveSheet.Name
ActiveWorkbook.Close False
Next
Application.ScreenUpdating = True
MsgBox "All Done", vbExclamation + vbOKOnly
End Sub
2条答案
按热度按时间vngu2lb81#
按名称生成工作簿
1bqhqjot2#
你可能要玩一下这个,但它应该让你开始。如果你需要更多的帮助,让我知道。同时确保您有原始文件的副本以防万一。