识别行在Excel VBA中断

我试图确定一个单元格有换行符(不是菜单栏单元格选项,通过alt + enter实际多行),并提取每行独立

我已经尝试了两个

InStr(str, "\n") < 0 

 Split(str, "\n") 

但似乎没有工作

VBA不是C#( "\n" )。 换行符: vbCrvbLfvbCrLf常量。

欲了解更多信息,请参阅:
VBCR
vbLf
vbCrLf

[编辑]

指向马克杯的答案! 我忘记了vbNewLine常量。

VBA中没有转义序列。 改用内置的vbNewLine常量:

 hasLineBreaks = InStr(str, vbNewLine) > 0 

根据MSDN , vbNewline返回一个特定平台的新行字符; 以当前平台为准 ,即:

Chr(13)+ Chr(10)[在Windows上]或在Macintosh上,Chr(13)

因此,您不需要使用ASCII字符代码,甚至不需要使用它们各自的内置常量 。

考虑:

 Split(str, Chr(10)) 

要么

 Split(str, Chr(13)) 

如果数据是从外部源导入的,则可能需要同时尝试。