|
请求哪位老师帮忙看看。我用模板的第一个出入证是正常运行的。
当我把第一的代码套用到第二个住校证的时候,就是不能自动填充数据了,只能最后有一列没有边框的数据。
请哪位老师抽空看看我哪儿修改错了呀! 多谢了!
Sub 出入证()
Dim i&, n&, f$, k&, rng As Range
Dim arr
Application.ScreenUpdating = False
arr = Sheets("数据").[a1].CurrentRegion
n = 9
With Sheets("打印")
.Columns("b:e").ClearContents
For i = 2 To UBound(arr)
Sheets("模板").[a1:e9].Copy
.[a1].Offset(n * (i - 2)).PasteSpecial Paste:=xlPasteColumnWidths
.Paste
Sheets("模板").Rows(1).Resize(n).Copy
.Rows(1).Offset(n * (i - 2)).Resize(n).PasteSpecial Paste:=xlPasteFormats
Application.CutCopyMode = False
.[c5].Offset(n * (i - 2)).MergeArea = arr(i, 2)
.[c6].Offset(n * (i - 2)).MergeArea = arr(i, 3)
.[c7].Offset(n * (i - 2)).MergeArea = arr(i, 4)
.[c8].Offset(n * (i - 2)).MergeArea = arr(i, 5)
Next
End With
Application.ScreenUpdating = True
MsgBox "生成完毕!"
End Sub
'修改后的如下:
Sub 住校证()
Dim i&, n&, f$, k&, rng As Range
Dim arr
Application.ScreenUpdating = False
arr = Sheets("数据").[a1].CurrentRegion
n = 9
With Sheets("打印")
.Columns("b:g").ClearContents
For i = 2 To UBound(arr)
Sheets("模板").[a10:e18].Copy
.[a1].Offset(n * (i - 2)).PasteSpecial Paste:=xlPasteColumnWidths
.Paste
Sheets("模板").Rows(1).Resize(n).Copy
.Rows(1).Offset(n * (i - 2)).Resize(n).PasteSpecial Paste:=xlPasteFormats
Application.CutCopyMode = False
.[c14].Offset(n * (i - 2)).MergeArea = arr(i, 2)
.[c15].Offset(n * (i - 2)).MergeArea = arr(i, 3)
.[c16].Offset(n * (i - 2)).MergeArea = arr(i, 4)
.[c17].Offset(n * (i - 2)).MergeArea = arr(i, 5)
Next
End With
Application.ScreenUpdating = True
MsgBox "生成完毕!"
End Sub
|
|