simpleさん、掲示のコードを下記コピペします。
引用:
' k行目をtemplateにコピーして、ブックとして保存
Function makeWorkbook(k As Long, myName As String)
Dim newBook As Workbook
Dim fullPath As String
ws.Rows(k).Copy
template.Range("A2").PasteSpecial xlPasteValues
template.Range("A2").PasteSpecial xlPasteFormats
Application.CutCopyMode = False
Application.Goto template.Range("A1")
template.Name = myName
template.Copy
Set newBook = ActiveWorkbook
fullPath = ThisWorkbook.Path & "\" & myName & ".xlsx"
newBook.SaveAs fullPath, FileFormat:=xlOpenXMLWorkbook
newBook.Close
End Function
このプロイジャは、k行1件だけの処理で間違いないですよね?
@
> ws.Rows(k).Copy
> template.Range("A2").PasteSpecial xlPasteValues
> template.Range("A2").PasteSpecial xlPasteFormats
このコードは、k行の1行を「template」シートのA2(2行目)に複写しています。
問題は、常に2行目になっていることです。
A
> template.Copy
> Set newBook = ActiveWorkbook
> fullPath = ThisWorkbook.Path & "\" & myName & ".xlsx"
> newBook.SaveAs fullPath, FileFormat:=xlOpenXMLWorkbook
> newBook.Close
このコードは、「template」シートを複写して、新しいブックとして保存しているコードです。
「template」シートには、1件だけ複写されているから、1件だけのファイルになると思います。
2件目が同一の担当者だったら、同一ファイル名になりませんか?