[[20200601145018]] 『項目を指定し、シートに分割する』(みみ) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『項目を指定し、シートに分割する』(みみ)

 下記コードは、B列の項目ごとにシートを作成するマクロとなります。
 VBについては素人となりますので、ネットから調べ引用していますが、
 (Sheet1)と同じ列・行の幅、またページレイアウトまで同じように別シートを
 作成するにはどうしたらいいかご教示いただけないでしょうか?
 あくまで素人なので質問不足もあるかもわかりませんが、よろしくお願いします。

 Sub test1()
    Dim i As Long
    Dim lastRow As Long
    Dim mySh As Worksheet
    Dim myFlg As Boolean
    Dim myRow As Long
    Dim myKey As String
        lastRow = Worksheets("Sheet1").Range("A" & Rows.Count).End(xlUp).Row
        For i = 2 To lastRow
            '----振り分け先のシートが存在するか否かをチェック
            For Each mySh In Worksheets
                myFlg = False
                myKey = Worksheets("Sheet1").Range("B" & i).Value
                If mySh.Name = myKey Then
                    myFlg = True
                    mySh.Cells.Delete
                    Exit For
                End If
            Next mySh
            '----振り分け先のシートがなかったらシートを追加する
            If myFlg = False Then
                ActiveWorkbook.Worksheets.Add(after:=Worksheets(Worksheets.Count)).Name = myKey
            End If
            '----列見出しをコピー&貼り付け
            Worksheets("Sheet1").Range("A1:P1").Copy Worksheets(myKey).Range("A1")
        Next i
        '----データを転記する
        For i = 2 To lastRow
                myKey = Worksheets("Sheet1").Range("B" & i).Value
            If myKey <> "" Then
                myRow = Worksheets(myKey).Range("A" & Rows.Count).End(xlUp).Row + 1
                Worksheets("Sheet1").Range("A" & i & ":P" & i).Copy _
                    Worksheets(myKey).Range("A" & myRow & ":P" & myRow)
            End If
        Next i
End Sub

< 使用 Excel:Excel2016、使用 OS:Windows10 >


 >(Sheet1)と同じ列・行の幅、またページレイアウトまで同じように別シートを作成するには
 Sheet1をコピーして、名前を変更して、全セルをクリアします。 

(´・ω・`) 2020/06/01(月) 15:19


 シーツ数は、100を超えるので出来れば、マクロでなんとか行い効率をあげたのですが。
(みみ) 2020/06/01(月) 19:29

マニュアルでという意味でなく、
そういう流れのマクロにすればよいのです。
たぶん、↓を差し替えるのではないでしょうか。

 ActiveWorkbook.Worksheets.Add(after:=Worksheets(Worksheets.Count)).Name = myKey

(マナ) 2020/06/01(月) 20:18


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.