[英]Split cell with multiple lines into rows
您可以将 split 与 Chr(10) 或 VbLf 一起使用
Dim cell_value As Variant
Dim counter As Integer
'Row counter
counter = 1
'Looping trough A column define max value
For i = 1 To 10
'Take cell at the time
cell_value = ThisWorkbook.ActiveSheet.Cells(i, 1).Value
'Split cell contents
Dim WrdArray() As String
WrdArray() = Split(cell_value, vbLf)
'Place values to the B column
For Each Item In WrdArray
ThisWorkbook.ActiveSheet.Cells(counter, 2).Value = Item
counter = counter + 1
Next Item
Next i
不,你有数组将每一行放置到不同的单元格
不需要为此编写代码,让它变得简单。
按照以下步骤操作。
选择要拆分的数据集 -> 转到数据选项卡 -> 选择“文本到列” -> 从此弹出窗口中选择“分隔” -> 选择分隔文本的分隔符 -> 选择目标单元格 - > 点击“确定”
试试这个。
问候, 阿什温
来自 Markus 的编辑:对于作为分隔符的换行符,请使用“Ctr-J”
如果您选择单元格并运行宏,您将在下一列中获得您想要的内容,如下所示:
Option Explicit
Public Sub selection_into_rows()
Dim k As Variant
Dim l_counter As Long
k = Split(Selection, Chr(10))
For l_counter = LBound(k) To UBound(k)
Cells(l_counter + 1, Selection.Column + 1) = k(l_counter)
Next l_counter
End Sub
这仅在选择后才适用于一行(但应该让您开始):
Option Explicit
Public Sub SelectionIntoRows()
Dim k() As String
Dim l As Long
Dim i As Long
k() = Split(Range("A1"), " ")
i = 1
For l = 0 To UBound(k)
Cells(i, 1) = k(l)
i = i + 1
Next l
End Sub
子提取()
'查询 B 单元格中的提取数据,除以 ALT+Enter,逗号空格 '必须在前面的 Sheet1、Sheet2 和 Sheet3 中创建 '注意! 如果字段 B 为空,则不返回任何数据!! 如果需要,手动添加 A 列(带有空 B 列)!! '在结果(Sheet2)中手动删除空单元格'在开始查询之前从输入数据中删除重复项!! '不能用句号'完成后将显示完成消息
Dim c As Long, r As Range, I As Long, d As Long, Temp() As String d = 0 For Each r In Range("B2:B" & Range("B" & Rows.Count).End( xlUp).Row) ' 更改它以适合您的范围.. c = 2 Temp = Split((r.Value), Chr(10)) For i = LBound(Temp) To UBound(Temp)
Sheets("Sheet2").Cells(r.Row, c - 1).Offset(d, 0).Value = Cells(r.Row, r.Column - 1).Value
Sheets("Sheet2").Cells(r.Row, c).Offset(d, 0).Value = Temp(i)
Cells(r.Row, c).Offset(d, 0).Select
ActiveCell.Value = Trim(ActiveCell.Value)
d = d + 1
Next
d = d - 1
Next
Sheets("Sheet2").Select
Columns("A:B").Select
ActiveSheet.Range("$A$1:$B$62856").RemoveDuplicates Columns:=Array(1, 2), _
Header:=xlYes
Range("A1").Select
我从糟糕的 Acrobat PDF 到 XLSX 转换中有六个这样的 blob,遍布 500 行。 我将文本 blob(如 OP)复制到记事本中,从开始和结束行中删除“”,然后粘贴到新的电子表格中。 这告诉我要插入多少行。 然后粘贴到那个洞里。
“这是我所有的输入文本”
然后我可以使用 TextToCol。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.