긴 행 그룹 목록을 열로 바꾸는 방법(코드/수식 포함)

긴 행 그룹 목록을 열로 바꾸는 방법(코드/수식 포함)

전치하고 싶은 데이터가 있는데, 충분히 쉬울 것입니다. 그러나 그룹으로 바꿔야 하는 행이 여러 개 있습니다. 각 그룹의 각 마지막 행에는 특정 TEXT가 있으므로 텍스트와 범위를 검색하는 범위를 만드는 방법이 있는지 모르겠습니다. (이것이 작동할까요? =if(isnumber(search(“TEXT”,A1)). 매크로를 만들어 보았지만 동일한 데이터가 아닌 스프레드시트 아래로 데이터를 바꾸는 코드가 분명히 필요합니다. 어떤 도움이라도 좋을 것입니다!

여기에 필요한 시각적 자료가 있습니다(형식을 지정할 수 없기 때문에 재미있어 보이고, 처음이라서 삽입할 수 없었기 때문에 행/열이 어떻게 생겼는지/해야 하는지에 대한 시각적 링크를 포함했습니다). 다음과 같이 보입니다:

이것으로부터:

Column A
Row A1
Row A2
Row A3
Row A4
Row A5
Row A6
Row A7
Row A8
Row A9
Row A10
Row A11
Row A12
Row A13

이에:

Col A   Col B   Col C   Col D   Col E
Row A1  Row A2  Row A3  Row A4
Row A5  Row A6  Row A7  Row A8  Row A9
Row A10 Row A11 Row A12 Row A13

내가 찾은 루프 코드는 다음과 같습니다.

Sub Test1()
'UpdatebyExtendoffice20161222
      Dim x As Integer
      Application.ScreenUpdating = False
      ' Set numrows = number of rows of data.
      NumRows = Range("A1", Range("A8”).End(xlDown)).Rows.Count
      ' Select cell a1.
      Range("A1").Select
      ' Establish "For" loop to loop "numrows" number of times.
      For x = 1 To NumRows
         ' Insert your code here.

         ' Selects cell down 7 row from active cell.
         ActiveCell.Offset(7, 0).Select
      Next
      Application.ScreenUpdating = True
End Sub

답변1

다음과 같이 시작한다고 가정해 보겠습니다.

여기에 이미지 설명을 입력하세요

그리고 우리는 각 행의 마지막 항목이 다음과 같은 행으로 재구성되기를 원합니다.새로운. 이 코드는:

Sub ReOrg()
    Dim i As Long, j As Long, N As Long, K As Long
    Dim kk As Long
    i = 1
    j = 2
    K = Cells(Rows.Count, "A").End(xlUp).Row

    For kk = 1 To K
        Cells(i, j).Value = Cells(kk, 1).Value
        j = j + 1
        If Cells(kk, 1).Value = "New" Then
            i = i + 1
            j = 2
        End If
    Next kk
End Sub

생산할 것입니다:

여기에 이미지 설명을 입력하세요

관련 정보