我们有一个工作簿,其中有两个Sheet,一个是数据表,一个是模板表,现在想根据数据表循环数据,根据模板生成所有的填充表。

具体效果和代码如下所示


数据表


模板表


效果表

代码如下:

function 批量填充模板() { for(var i=1;i<6;i++) { /*此示例复制工作表 Sheet1,并将其放置在工作表 Sheet3 之后。*/ Worksheets.Item("样表").Copy(null, Application.Worksheets.Item("样表")) var bianHao=Sheets.Item("总表").Range("A2").Offset(i,0).Value() //给新建的样表命名 ActiveSheet.Name=bianHao //mm=new String(Sheets.Item("总表").Range("A2").Offset(i,0).Value2) ActiveSheet.Range("B4").Value2=Sheets.Item("总表").Range("A2").Offset(i,0).Value() ActiveSheet.Range("E4").Value2=Sheets.Item("总表").Range("B2").Offset(i,0).Value() ActiveSheet.Range("G4").Value2=Sheets.Item("总表").Range("C2").Offset(i,0).Value() ActiveSheet.Range("I4").Value2=Sheets.Item("总表").Range("D2").Offset(i,0).Value() ActiveSheet.Range("G5").Value2=Sheets.Item("总表").Range("E2").Offset(i,0).Value() ActiveSheet.Range("I5").Value2=Sheets.Item("总表").Range("F2").Offset(i,0).Value() } }

当然,本代码只是为了抛砖引玉,其中还写的不够灵活不够优美,希望对您有所帮助。