0
我有一個包含兩列數據的Excel工作表。列A具有所需的新工作簿名稱,列B的相鄰單元具有我在新工作簿中需要的數據。使用數據創建,命名並填充新工作簿
所以,如果032411
在列A和50
是在B列,則宏將創建一個名爲032411
和50
將在工作簿的單元A1
新的工作簿。
我有一個包含兩列數據的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