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]로 문의 해주세요