この記事では、特定の行数でデータを分割するマクロを作成します。

シート「RawData」に生データがあります。このデータを複数のシートに分割したいと思います。

ArrowRawData

ArrowMain

マクロを実行する前に、各シートに必要な行数を指定する必要があります。

ArrowOutput

コードの説明

CntRows = Cint(Sheets( “Main”)。TextBox1.Value)

上記のコードは、シートに必要なシートの数を取得するために使用されます。

LastRow = .Range( “A”&。Rows.Count).End(xlUp).Row上記のコードは、最後のセルの行番号を取得するために使用されます。

Sheets.Add after:= Sheets(Sheets.Count)

上記のコードは、最後のシートの後に新しいシートを追加するために使用されます。

Range( “A”&n).Resize(CntRows、LastColumn).Copy Range( “A1″)

上記のコードは、指定された行数を新しいワークシートにコピーするために使用されます。

コードについては以下に従ってください

Option Explicit

Sub SplitDataToMultipleSheets()

'Declaring variables

Dim LastRow As Long, n As Long, CntRows As Long

Dim LastColumn As Integer

'Getting count of number of rows required in one sheet

CntRows = CInt(Sheets("Main").TextBox1.Value)

'Disabling screen updates

Application.ScreenUpdating = False

With Sheets("RawData")



'Getting row number and column number of last cell

LastRow = .Range("A" & .Rows.Count).End(xlUp).Row

LastColumn = .Range("A1").SpecialCells(xlCellTypeLastCell).Column



'Looping through data in the sheet

For n = 1 To LastRow Step CntRows



'Adding new worksheet

Sheets.Add after:=Sheets(Sheets.Count)

'Copying data to new worksheet

.Range("A" & n).Resize(CntRows, LastColumn).Copy Range("A1")

Next n



.Activate

End With

'Enabling screen updates

Application.ScreenUpdating = True

End Sub

このブログが気に入ったら、FacebookやFacebookで友達と共有してください。

皆様からのご意見をお待ちしております。私たちの仕事を改善し、あなたのために改善する方法をお知らせください。 [email protected]までご連絡ください