はじめに
本記事はこの記事の続編です。
よろしければこちらもお読みください。
今回の目標
前回の記事でシート名に氏名を記入したシートの作成まで行ったので、今回は各シートに基本データから成績を転記する処理をしていきます。
今回は各ページのレイアウトをこんな感じにしたいと思います。

コードの記述
以下のような処理を書きます。
各シートへの転記
Sub copy_and_paste()
    Dim i As Integer
    For i = 2 To Sheets.Count
       
       'カラーコードでセルの色を指定
       Sheets(i).Range("A1:B1").Interior.ColorIndex = 36
       Sheets(i).Range("C1:G1").Interior.ColorIndex = 20
       
       '基本データの情報をコピーして各シートに貼り付け
       Sheets(i).Range("A1:G1").Value = Sheets("基本データ").Range("A1:G1").Value
       Sheets(i).Range("A2:G2").Value = Sheets("基本データ").Range(Cells(i, "A"), Cells(i, "G")).Value
    Next i
        
End Sub
実行結果
今回は「データ転記」という名前の実行ボタンを作成しました。
前回取り組んだ「シート作成」から通しで実行してみます。

うまくシートを作成することができました。
おまけ
おまけとして今回作成した大量のシートを一気に削除する処理を示しておきたいと思います。
以下のコードで「基本データ」以外のシートを削除できます。
シートの削除
Sub delete_sheets()
    Dim ws As Worksheet
    'シート削除の確認ポップアップを非表示
    Application.DisplayAlerts = False
     
    For Each ws In ActiveWorkbook.Worksheets
        Select Case ws.Name
        
            Case "基本データ"
            Case Else
                ws.Delete
                
        End Select
    Next ws
 
    Worksheets("基本データ").Activate
End Sub
まとめ
前回と今回を通して実務で使いそうな?処理の自動化を実現することができました。
今後もネタが思いつき次第記事にしていきたいと思います。
何かあればコメントお願いします。
