Excel

Excelシートを指定行数で別ブックに分割するマクロ

どうも

こんにちは

お客さんからえらいでかいサイズのExcelが送られてきて毎度毎度開くのに時間かかるってことがありました

その時に作ったマクロです

よかったら使ってください

例は2万行ずつ分割
Sub bunkatu()
    Dim wb As Workbook
    Dim ts As Worksheet
    Dim x As Long, y As Long, i As Long, z As Long
    Set ts = ActiveSheet
    x = ts.UsedRange.Rows.Count
    y = Int(x / 20000) + IIf(x Mod 20000 > 0, 1, 0)
    z = ts.UsedRange.Rows(1).Row
    For i = 1 To y
        Set wb = Workbooks.Add
        wb.Sheets(1).Name = z & "~" & z + 19999
        ts.Rows(z & ":" & z + 19999).Copy wb.Sheets(1).Range("A1")
        z = z + 20000
    Next i
 End Sub

スポンサーリンク

-Excel

© 2024 ぱそやんうぇぶ