sub x() dim db, arr, i, j db = sheets("附件1").usedrange ' 获取附件1的清单 arr = sheets(附件2").usedrange ' 获取附件2的模板,注意必须从第一行开始,末尾不要有多余的空行,否则这里需要固定范围 arr = sheets(附件2").range("a1:d8") ' 上一行失灵的时候用这行 i = 5 ' 附件1 第一行数据的行 j = 1 ' 附件2 开始输出内容的行 while i<=ubound(db) if db(i,1)<>"" then ' 只输出【序号】不为空的行 j = j + ubound(arr) ' 跳过模板大小的行数 arr(2, 4) = db(i, 1) '序号 =》 编号 '这里继续写模板各栏的赋值,可能有许多行 with sheets(附件2") .rows("1:" & ubound(arr)).copy .cells(j, 1) '复制模板区域的格式 .cells(j, 1).resize(ubound(arr), ubound(arr,2)) = arr '填充数据 end with end if i = i + 1 wend end sub