ブックの特定されたワークシートに基づいてブックを別のブックに分割する方法を考え出しています。特定の範囲のスプレッドシートを新しい名前の新しいブックに分割する
例: アルファベットのすべての文字のワークシートがありました。
ワークシートAからCを「AからC」という名前の新しいワークブックに分割したいと考えています。
Dを介して、「DからI」という名前の新しいブックに移動します。
等...
私の考えは、最初のワークシートの名前があることを意志があるので、列Aの名前で新しいブックは、それが同じ数の列bからなると列になるワークシートを挿入することであろう新しいブックにコピーされます。
誰でもこのためのマクロを作成する方法はありますか?私は自分自身を試してみましたが失敗しました。
ありがとうございました!
このマクロが見つかりました。誰もそれが動作するように変更することができると思いますか?
Sub Test()
Dim Sh As Worksheet
Dim Rng As Range
Dim c As Range
Dim List As New Collection
Dim Item As Variant
Dim WB As Workbook
Application.ScreenUpdating = False
Set Sh = Worksheets("Sheet1")
Set Rng = Sh.Range("A2:A" & Sh.Range("A65536").End(xlUp).Row)
On Error Resume Next
For Each c In Rng
List.Add c.Value, CStr(c.Value)
Next c
On Error GoTo 0
Set Rng = Sh.Range("A1:H" & Sh.Range("A65536").End(xlUp).Row)
For Each Item In List
Set WB = Workbooks.Add
Rng.AutoFilter Field:=1, Criteria1:=Item
Rng.SpecialCells(xlCellTypeVisible).Copy WB.Worksheets(1).Range("A1")
Rng.AutoFilter
With WB
.SaveAs ThisWorkbook.Path & "\" & Item & ".xls"
.Close
End With
Next Item
Sh.Activate
Application.ScreenUpdating = True
End Subの
はい、非常に簡単です。あなたが提案するように、コントロールシートを持ってください。私の提案は、列Aの新しいファイル名を持っているだろうし、列B、C、Dなどでそのファイルに入るシート。その後、列Aをループするだけで、各行でブックを作成し、それらのワークシートを新しいブックにコピーし、ファイルを保存します。問題が発生した場合は、ここでいくつかのコードを貼り付けて、どこに行き詰まっているかを示してください。 – YowE3K
自分で作成したコードを追加する必要があります。あなたがコードを表示していないときは、SOコミュニティは通常、誰かにあなたのためのコードを書くように努力している兆候としてそれを取るでしょう。 – BWMustang13
入力いただきありがとうございます@ YowE3K。私は私が働いているものを追加しました。私は正しい方向にいると思いますか? – Thenewguy50