|    | 
     ▼武藤 晃作 さん: 
 
・まず、フォルダを1つ(任意の場所に)作成して、学生さんのブックを 
 すべて、そこに保存してください。 
・新規ブックの標準モジュールに以下を貼り付けてください。 
 A列、C列の見出し語は実際のものに変更してください。 
 また、学生さんのブック、処理後も閉じずにエクセル上に残していますが 
 処理後は自動的に閉じたほうがよければ、コメントアウトしたクローズ命令を 
 いかしてください。 
・で、このマクロブックを任意の名前で上で作ったフォルダに保存した上で実行してください。 
 
Sub Sample() 
  Dim myPath As String 
  Dim myBook As String 
  Dim TitleA As String 
  Dim TitleC As String 
  Dim colA As Variant, colC As Variant 
   
  Application.ScreenUpdating = False 
   
  myPath = ThisWorkbook.Path 
  TitleA = "項目A" '実際の見出し名にしてください。 
  TitleC = "項目C" '実際の見出し名にしてください 
  myBook = Dir(myPath & "\*.xls") 
   
  Do While myBook <> "" 
    If myBook <> ThisWorkbook.Name Then 
      Workbooks.Open myPath & "\" & myBook 
      With Worksheets(1) 
        colA = Application.Match(TitleA, .Rows(1), 0) 
        colC = Application.Match(TitleC, .Rows(1), 0) 
         
        If Not IsNumeric(colA) Or Not IsNumeric(colC) Then 
          MsgBox ActiveWorkbook.Name & "には所定の見出しがありません" & vbLf & _ 
              "処理をスキップします" 
          ActiveWorkbook.Close savechanges:=False 
        Else 
          Sheets.Add after:=Sheets(Worksheets.Count) 
          .Columns(colA).Copy Destination:=Range("A1") 
          .Columns(colC).Copy Destination:=Range("B1") 
          Application.CutCopyMode = False 
          Application.DisplayAlerts = False 
           
          'ActiveWorkbook.Close True  '必要ならこのコードを実行 
           
          Application.DisplayAlerts = True 
        End If 
      End With 
    End If 
    myBook = Dir() 
  Loop 
   
  Application.ScreenUpdating = True 
   
End Sub 
 | 
     
    
   |