使用VBA标识单元格中的第二行文本

时间:2016-12-14 21:16:38

标签: excel-vba vba excel

我有一堆单元格,在将数据拉入Excel后,每个单元格中有两行文本。 我要做的是使用带有Someone's Name [123] Procedure room, procedure done函数的宏来删除第二行之后的单元格中的所有内容。 我对这些数据感到困惑,就好像你要在一个单元格中输入数据并输入到下一个单元格,但它是一个单元格并且没有合并。

离。

sudo slcand -o -s6 -t hw -S 3000000 /dev/ttyUSBx sudo ip link set up slcan0

有没有办法识别这个换行符?

非常感谢任何帮助,我的脑袋旋转着,我正在为这一天而努力。 欢呼声

1 个答案:

答案 0 :(得分:3)

只需查找 ASCII-10 即可。选择要处理和运行的单元格:

Sub KleanUp()
    Dim r As Range
    For Each r In Selection
        r.Value = Split(r.Value, Chr(10))(0)
    Next r
End Sub

每个单元格中只保留第一行。

修改#1:

正如拉尔夫指出的那样, ASCII-13 也应该被考虑,因此:

Sub KleanUp2()
    Dim r As Range
    For Each r In Selection
        r.Value = Split(Replace(r.Value, Chr(13), Chr(10)), Chr(10))(0)
    Next r
End Sub

这将转换为单一样式的换行符。

修改#2:

可以通过以下方式改善子的性能:

  • 将数据作为单个大块读取到VBA阵列
  • 循环遍历数组(在VBA中)
  • 将数据传输回单个块中的工作表