VB宏来创建新的工作簿,并从原材
问题描述:
我有工作作为宏如下预填充新的工作簿:VB宏来创建新的工作簿,并从原材
我有中有四个选项卡, *指数的工作簿 - 包含列表建筑信息(总共5列从A的整理E开始,有些月份可能有3行,其他月份可能有100行 *模板 - 具有基本建筑信息的模板页面 *数据 - 清单 * B2 - 另一个清单
我需要的宏是做一个新的工作簿,其中包含工作表“模板”“数据”和“B2”
新的工作簿需要按照包含在A列的索引表
然后我需要位于索引选项卡的列表复制到细胞F2,F3,F4,F5在建筑物的名称被命名为,F6 F5为每一个新的工作簿模板标签(每个头)
下面就为它工作,但目前只prefills在新的工作簿中单元格F2模板工作表上
Sub temp()
Dim wb As Workbook, sh1 As Worksheet, lr As Long, rng As Range
Set sh1 = Sheets("Index") 'Edit sheet name
Set sh2 = Sheets("B2") 'Edit sheet name
Set sh3 = Sheets("Data") 'Edit sheet name
lr = sh1.Cells(Rows.Count, "A").End(xlUp).Row
Set rng = sh1.Range("A2:A" & lr)
For Each c In rng
Sheets("Template").Copy 'Edit sheet name
Set wb = ActiveWorkbook
wb.Sheets(1).Range("F2") = c.Value
sh2.Copy After:=wb.Sheets(1)
sh3.Copy After:=wb.Sheets(2)
wb.SaveAs c.Value & ".xlsx"
wb.Close False
Next
End Sub
感谢代码堆...我确定我有9这个工作刚结束的0%触及
答
试试这个
Sub temp()
Dim wb As Workbook, sh1 As Worksheet, lr As Long, rng As Range, x as long
Set sh1 = Sheets("Index") 'Edit sheet name
Set sh2 = Sheets("B2") 'Edit sheet name
Set sh3 = Sheets("Data") 'Edit sheet name
lr = sh1.Cells(Rows.Count, "A").End(xlUp).Row
Set rng = sh1.Range("A2:A" & lr)
x = 2
For Each c In rng
Sheets("Template").Copy 'Edit sheet name
Set wb = ActiveWorkbook
wb.Sheets(1).Range("F" & x) = c.Value
x = x + 1
sh2.Copy After:=wb.Sheets(1)
sh3.Copy After:=wb.Sheets(2)
wb.SaveAs c.Value & ".xlsx"
wb.Close False
Next
End Sub
嘿阿什顿,您的回复感谢堆,你的代码完成所有的任务,但它不与信息预先填入新的“模板”选项卡在原始电子表格的“索引”选项卡上收集。即在“索引”选项卡上调用A2应填充到创建的第一个工作簿的“模板”选项卡上的单元格F2中,然后将B2转换为F3和B3转换为F4,然后将B4转换为F5。一旦这是正确的,它需要移动到下一行,并以相同的模式完成A3到F2。感谢堆帮助我。 –