HOME > 即効テクニック > Excel VBA > シート操作関連のテクニック > 選択されている複数シートの内容を新規に追加したシートに入力する

即効テクニック

シート操作関連のテクニック

選択されている複数シートの内容を新規に追加したシートに入力する

(Excel 97)

ブックに「Sheet1」「Sheet2」「Sheet3」という3つのシートがある場合に、マクロを実行する前に、「Sheet1」と「Sheet3」を選択します。サンプルマクロを実行すると、新規にシートが追加され、「Sheet1」と「Sheet3」のセルA1のデータが新規シートのA列に入力されます。
例えば、「Sheet1」のセルA1に「鈴木」、「Sheet」のセルA1に「伊藤」と入力されていたら、新規シートのA1は「鈴木」A2は「伊藤」となります。
Sub Sample()

    Dim mySelect
    Dim st       As Worksheet
    Dim sActive  As String
    Dim NewSheet As String
    Dim i        As Integer

    sActive = ActiveSheet.Name
    Set mySelect = ActiveWindow.SelectedSheets
    
    ' シート追加:開始
    For Each st In Worksheets
        If st.Name <> sActive Then
            st.Select
            Exit For
        End If
    Next st
    Worksheets.Add.Move after:=Worksheets(Worksheets.Count)
    NewSheet = ActiveSheet.Name
    
    ' シート追加:終了
    For Each st In mySelect
        i = i + 1
        Worksheets(NewSheet).Range("A" & i) = st.Range("A1")
    Next st
    
End Sub