-2

我有一个看起来像这样的 Excel 工作表:

3  | latitude | 46.142737

3  | longitude| -57.608968

8  | latitude | 43.142737

8  | longitude| -52.608968

15 | latitude | 41.142737

15 | longitude| -59.608968

我需要最终结果看起来像这样:

3  | 46.142737, -57.608968

8  | 43.142737, -52.608968

15 | 41.142737, -59.608968

它可以基于每隔一行或基于第一列中的整数值连接。

VBA建议?谢谢你。

编辑:没有实际的“|” 在我的 Excel 工作表中。“|” 旨在成为表示新列的视觉提示。

4

1 回答 1

1

您可以将数据读入数组,然后将其写入范围

原始数据:
在此处输入图像描述

结果:
在此处输入图像描述

代码:

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
于 2013-07-31T15:01:31.043 回答