使用数据创建,命名并填充新工作簿
问题描述:
我有一个包含两列数据的Excel工作表。列A具有所需的新工作簿名称,列B的相邻单元具有我在新工作簿中需要的数据。使用数据创建,命名并填充新工作簿
所以,如果032411
在列A和50
是在B列,则宏将创建一个名为032411
和50
将在工作簿的单元A1
新的工作簿。
答
您可以使用此:
Sub CreateBooks()
Dim oCell As Excel.Range
Dim oWorkbook As Excel.Workbook
'Added to avoid messages asking to confirm overwriting
' previous existent files with same name
Application.DisplayAlerts = False
For Each oCell In Range("A:A")
If oCell.Value = "" Then Exit For
Set oWorkbook = Workbooks.Add
oWorkbook.Sheets(1).Cells(1, 1).Value = oCell.Offset(0, 1).Value
'If the cell value contains only the file name (instead of the whole path
' the file needs to be saved) it will save into MyDocuments folder
oWorkbook.Close True, oCell.Value
Next oCell
Application.DisplayAlerts = True
End Sub
如果你有几个文件生成,则可以选择使用application.ScreenUpdating = False
。
谢谢蒂亚戈。这是一个巨大的飞跃。它只需要现在调整。该宏生成所有新的工作簿,但没有用来自单元格A1的值重命名它们并将其保存。我试图按照建议更新它,但不能缝合以使其正确。 – 2011-03-25 17:44:27
另外值得注意的是文件名MMDDYY在许多情况下在开头包含零并使用自定义单元格格式。当公式栏上单击单元格时,将日期显示为M/DD/YYYY。 – 2011-03-25 17:59:12
按照你的例子,我们需要保存一个名为032411.xls的文件,对吧?我相信它已经发生了,我需要澄清一下你需要什么/我们现在拥有什么以及你需要什么/我们拥有什么。 – 2011-03-25 19:06:15