识别行在Excel VBA中断
我试图确定一个单元格有换行符(不是菜单栏单元格选项,通过alt + enter实际多行),并提取每行独立
我已经尝试了两个
InStr(str, "\n") < 0
和
Split(str, "\n")
但似乎没有工作
VBA不是C#( "\n"
)。 换行符: vbCr
或vbLf
或vbCrLf
常量。
欲了解更多信息,请参阅:
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))
如果数据是从外部源导入的,则可能需要同时尝试。