为字符串中每次出现换行符创建一个新行

时间:2017-05-23 16:26:24

标签: excel-vba vba excel

我有一列单元格包含包含换行符的文本,并且需要在单独的工作表上为每一行创建一个新行。例如,Cell D3可能包含

Value1 [Line Break] Value2 [Line Break] Value3 [Line Break]

和Cell D4可能包含

Value2 [Line Break] Value4 [Line Break] Value3 [Line Break]

我正在尝试在单独的工作表上为每个值创建一个新行,因此单元格A1将包含Value1,单元格A2将包含Value2,A3 Value3,然后A4将包含Value2,A5 Value4,A6 Value3。

值重复,顺序很重要。

我已经看过使用TextToColumns和此处提供的解决方案:http://chandoo.org/wp/2011/08/23/split-text-on-new-line-macro/ 但我无法让他们中的任何一个按需工作。

我不确定如何修改chandoo解决方案以使其垂直工作(它只为单元格中的每个值打印一次Value1。)

感谢任何帮助。谢谢!

编辑:这是我尝试将代码更改为:

Sub splitText()
'splits Text active cell using ALT+10 char as separator
Dim splitVals As Variant
Dim totalVals As Long

splitVals = Split(ActiveCell.Value, Chr(10))
totalVals = UBound(splitVals)
Range(Cells(ActiveCell.Row + 1, ActiveCell.Column), Cells(ActiveCell.Row + 1 
+ totalVals, ActiveCell.Column)).Value = splitVals

End Sub

我将+1和+ 1 + totalVals修饰符从列更改为第二行到最后一行的Row。

0 个答案:

没有答案