정보를 행으로 분할 (Microsoft Excel)
James는 일련의 행에 포함 된 워크 시트에 일부 데이터를 가지고 있습니다. 데이터의 열 중 하나에는 셀당 여러 줄이있는 셀이 포함됩니다. (셀의 데이터는 항목 사이에서 Alt + Enter를 눌러 행으로 분리되었습니다.) James는이 데이터를 여러 행으로 분할하려고합니다. 예를 들어 행의 단일 셀에 세 줄의 데이터가있는 경우 해당 셀의 데이터는 세 행으로 분할되어야합니다.
Excel은 텍스트를 열로 도구를 사용하여 데이터를 별도의 열로 분할하는 편리한 방법을 제공합니다. 이것은 Excel에서 Alt + Enter를 누를 때 삽입하는 ASCII 10 문자의 존재를 기반으로 데이터를 분할하는 데 사용할 수 있습니다. 문제는 이것이 성공적으로 데이터를 별도의 열로 분할하지만 James가 요청한 것처럼 별도의 행으로 가져 오지 않는다는 것입니다.
즉,이 문제에 대한 해결책에는 매크로 사용이 포함되어야합니다. 다음 코드에는 한 가지 접근 방식이 나와 있습니다. 이 예에서 매크로는 워크 시트의 모든 항목을 “확장”하고 워크 시트의 데이터가 행 1에서 시작한다고 가정합니다.
Sub CellSplitter() Dim Temp As Variant Dim CText As String Dim J As Integer Dim K As Integer Dim L As Integer Dim iColumn As Integer Dim lNumCols As Long Dim lNumRows As Long iColumn = 4 Set wksSource = ActiveSheet Set wksNew = Worksheets.Add iTargetRow = 0 With wksSource lNumCols = Cells(1,Columns.Count).End(xlToLeft).Column lNumRows = Cells(Rows.Count,1).End(xlUp).Row For J = 1 To lNumRows CText = .Cells(J, iColumn).Value Temp = Split(CText, Chr(10)) For K = 0 To UBound(Temp) iTargetRow = iTargetRow + 1 For L = 1 to lNumCols If L <> iColumn Then wksNew.Cells(iTargetRow, L) _ = .Cells(J, L) Else wksNew.Cells(iTargetRow, L) _ = Temp(K) End If Next L Next K Next J End With End Sub
매크로를 실행하려면 분할 할 셀이 포함 된 열을 iColumn 변수를 사용하여 지정해야합니다.
여기에 쓰여진 것처럼 매크로는 네 번째 열의 정보를 분할합니다. 또한 분할 된 셀 버전은 새 워크 시트에 저장되므로 원본 워크 시트는 전혀 영향을받지 않습니다.
_ 참고 : _
이 페이지 (또는 ExcelTips 사이트의 다른 페이지)에 설명 된 매크로를 사용하는 방법을 알고 싶으면 유용한 정보가 포함 된 특별 페이지를 준비했습니다.
link : / excelribbon-ExcelTipsMacros [새 브라우저 탭에서 특별 페이지를 열려면 여기를 클릭하세요]
.
_ExcelTips_는 비용 효율적인 Microsoft Excel 교육을위한 소스입니다.
이 팁 (9396)은 Office 365의 Microsoft Excel 2007, 2010, 2013, 2016, 2019 및 Excel에 적용됩니다. 여기에서 Excel의 이전 메뉴 인터페이스에 대한이 팁 버전을 찾을 수 있습니다.
link : / excel-Splitting_Information_into_Rows [정보를 행으로 분할]
.