Microsoft ExcelでVBAを使用して行の特定の番号でシートに分割データ
この記事では、特定の行数でデータを分割するマクロを作成します。
シート「RawData」に生データがあります。このデータを複数のシートに分割したいと思います。
マクロを実行する前に、各シートに必要な行数を指定する必要があります。
コードの説明
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]までご連絡ください