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 [정보를 행으로 분할].