我有一行单元格,其中包含需要转换为多行的数据。Excel VBA:将行分成多行
18-APR-17十一点00分30秒SkyFlyer1_Leg1 319437.222 146279.951 -32.768 SkyFlyer1_Leg2 319417.07 146268.105 -32.768 SkyFlyer1_Leg3 319410.548 146268.368 -32.768
这是一条线的一半(有8条腿)。空格表示单元格之间的分隔。
每个“SkyFlyer_Leg *”需要一个制图返回才能将它带到新行。
这些行正在使用另一个从CSV解析它们的脚本进入工作表。
Option Explicit
Sub CSVParser_99()
Dim i As Long
Dim x As Long
Dim LastRow As Long
Dim PasteRow As Long
With Sheets("CSV Paste")
LastRow = .Range("A3").End(xlDown).Row
For i = 3 To LastRow
PasteRow = Sheets("Working Sheet 1").Cells(Sheets("Working Sheet 1").Rows.Count, "A").End(xlUp).Row
.Range(.Range("A" & i), .Range("A" & i).End(xlToRight)).Copy Destination:=Sheets("Working Sheet 1").Range("A" & PasteRow + 1)
Call RowDiv
Next i
End With
End Sub
Sub RowDiv()
Dim Row1 As Variant
With Sheets("Working Sheet 1")
.Range("C6000").End(xlUp).Select
End With
With Row1.ActiveCell
End With
End Sub
这是我迄今为止得到的,包括所带来的代码到这个页面的脚本。 (感谢夏嘉曦瑞士雷达表的帮助至今)
我想结果会像排列数据:
18-APR-17 | 11:00:30
SkyFlyer1_Leg1 | 319437.222 | 146279.951 | -32.768
SkyFlyer1_Leg2 | 319417.070 | 146268.105 | -32.768
SkyFlyer1_Leg3 | 319410.548 | 146268.368 | -32.768
任何帮助将不胜感激。
干杯,J
您好,感谢您的帮助,但是这似乎并没有做任何事情。我认为TextToColumn函数不起作用,因为数据已经被分离到列中并且我需要一个返回。 Cheers J – JKRH
我将你的数据直接复制到Excel表格中,因为你没有提到列分隔符。所以如果它已经进入列,从最后一行开始循环,复制你需要的数据,插入你需要的行数并在那里复制数据,然后向上移动一行 – pascalb
问题是,我不知道如何循环最后一行。你知道这个代码吗? – JKRH