|    | 
     アドバイス頂いた方法とは少し違うかもしれませんが、色々なサイト情報を参考に、一旦はなんとか目的の動作をするマクロが作れました。 
これまで、VBAは既存のコードの部分修正程度しかしたことがありませんでしたが、こちらのサイトをはじめ、様々な情報がとても参考になりました。 
お作法もなっていないめちゃくちゃな記述かもしれませんが、ひとまずこれで使ってみようと思います。 
また何か困ったことがあれば、相談させてください。 
この度は、ありがとうございました。 
 
---------- 
Sub 明細シート作成() 
 
 wsList.Select 
 Range("A4:A200").Select 
 Selection.Copy 
 wsClient.Select 
 Range("A1").Select 
 Selection.PasteSpecial Paste:=xlPasteValues 
 wsList.Select 
 Range("C4:C200").Select 
 Selection.Copy 
 wsClient.Select 
 Range("B1").Select 
 Selection.PasteSpecial Paste:=xlPasteValues 
 wsList.Select 
 Range("S4:S200").Select 
 Selection.Copy 
 wsClient.Select 
 Range("C1").Select 
 Selection.PasteSpecial Paste:=xlPasteValues 
 Application.CutCopyMode = False 
 ActiveSheet.Range("$A$1:$C$197").RemoveDuplicates Columns:=Array(1, 2, 3), Header:=xlNo 
 wsList.Select 
 Range("A1").Select 
  
 Dim rowsList As Long, rowsClient As Long 
 rowsList = wsList.Cells(Rows.Count, 1).End(xlUp).Row 
 rowsClient = wsClient.Cells(Rows.Count, 1).End(xlUp).Row 
  
 Dim n As Long 
 For n = 1 To rowsClient 
  
  Dim txt As String, no As String, name As String, i As Long, k As Long 
  txt = wsClient.Cells(n, 1).Value 
  no = wsClient.Cells(n, 2).Value 
  name = wsClient.Cells(n, 3).Value 
  k = 25 
  wsForm.Copy After:=wsForm 
  ActiveSheet.name = txt 
  ActiveSheet.Range("B34").Value = txt 
  ActiveSheet.Range("B5").Value = no 
  ActiveSheet.Range("A3").Value = name 
   For i = 4 To rowsList 
   If wsList.Cells(i, 1).Value = txt Then 
   wsList.Cells(i, 6).Copy ActiveSheet.Cells(k, 1) 
   wsList.Cells(i, 8).Copy ActiveSheet.Cells(k, 8) 
   k = k + 1 
   End If 
   Next i 
 
 Next n 
 
End Sub 
---------- 
 
 | 
     
    
   |