2016-05-30 75 views
3

我试图找出一个细胞具有换行符(未在菜单栏中选择单元格,实际的多条线路通过ALT + ENTER),并提取每行separatedely在Excel VBA Indentify换行符

我都一直

InStr(str, "\n") < 0 

Split(str, "\n") 

但似乎并不奏效

回答

6

VBA不是C#("\n")。您可以在以下网址找到换行符:vbCrvbLfvbCrLf常数。

如需进一步信息,请访问:
vbCr
vbLf
vbCrLf

[编辑]

指向垫的马克杯的答案!我忘了vbNewLine不变。

3

考虑两种:

Split(str, Chr(10)) 

Split(str, Chr(13)) 

您可能需要尝试两个如果数据已经从外部消息。

6

VBA中没有转义序列。使用内置的vbNewLine常数代替:

hasLineBreaks = InStr(str, vbNewLine) > 0 

MSDNvbNewline返回一个特定于平台的新行字符;两者都适合当前平台,那就是:

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

所以你不”不需要使用ASCII字符码,或者使用它们的respective built-in constants

+0

很高兴知道................. –

+0

好点!我忘了那个常数。 –