2013-07-31 2 views
-2

나는이처럼 보이는 엑셀 시트가 있습니다Excel에서 다른 모든 행을 연결

3 | 46.142737, -57.608968 

8 | 43.142737, -52.608968 

15 | 41.142737, -59.608968 

그것은 될 수 있습니다

3 | latitude | 46.142737 

3 | longitude| -57.608968 

8 | latitude | 43.142737 

8 | longitude| -52.608968 

15 | latitude | 41.142737 

15 | longitude| -59.608968 

내가 같이하는 최종 결과를 필요 다른 모든 행을 기준으로 연결되거나 첫 번째 열의 정수 값을 기반으로합니다.

VBA 제안 사항? 고맙습니다.

편집 : 실제 "|" 내 Excel 시트에. "|" 새 열을 나타내는 시각적 신호가 될 것입니다.

+0

포뮬러 - 관심사 만? – pnuts

+0

필터를 사용하고 "위도"를 필터링 할 수 있습니다. 아니면 재사용 가능한 코드를 작성하고 싶습니까? – Juliusz

답변

1

당신은 배열로 데이터를 읽고 다음 범위

원본 데이터에 그를 작성할 수
enter image description here

결과 :
enter image description here

코드 :

Sub Example() 
    Dim i As Long 
    Dim x As Long 
    Dim arry As Variant 

    ReDim arry(1 To 2, 1 To 1) As Variant 

    For i = 1 To ActiveSheet.UsedRange.Rows.Count 
     If Cells(i, 1).Row Mod 2 = 1 Then 
      x = x + 1 

      ReDim Preserve arry(1 To 2, 1 To x) As Variant 
      arry(1, x) = Cells(i, 1).Value 
      arry(2, x) = Cells(i, 3).Value & ", " & Cells(i + 1, 3).Value 
     End If 
    Next 

    arry = WorksheetFunction.Transpose(arry) 
    Sheets("Sheet2").Select 
    Range(Cells(1, 1), Cells(UBound(arry), UBound(arry, 2))).Value = arry 
End Sub 
+0

어이 어쨌든 잘 했어! 감사! – user2364550

관련 문제