我正在尝试识别单元格是否有换行符(不是菜单栏单元格选项,实际多行通过alt + enter),并且单独提取每一行
我试过了两次
# Reorder values in first 2 cols and cbind with df[,3]
m <- cbind(t(apply(df[1:2], 1, sort)), df[,3])
# Sum third column grouped by first and second column
aggregate(m[,3], by = list(m[,1],m[,2]),FUN=sum)
# Group.1 Group.2 x
#1 1 2 10
#2 2 3 5
#3 3 4 5
#4 4 5 5
#5 5 6 5
#6 6 7 5
#7 7 8 5
#8 8 9 5
#9 9 10 5
和
InStr(str, "\n") < 0
但似乎没有工作
答案 0 :(得分:8)
VBA中没有转义序列。请改用内置vbNewLine
常量:
hasLineBreaks = InStr(str, vbNewLine) > 0
每MSDN,vbNewline
返回特定于平台的新行字符;适用于当前平台的,即:
Chr(13)+ Chr(10)[在Windows上]或在Macintosh上,Chr(13)
因此,您无需使用ASCII字符代码,甚至不需要使用respective built-in constants。
答案 1 :(得分:6)
VBA不是C#("\n"
)。您可以找到换行符:vbCr
或vbLf
或vbCrLf
常量。
<强> [编辑] 强>
点到马克杯的答案!我忘了vbNewLine
常数。
答案 2 :(得分:4)
考虑:
Split(str, Chr(10))
或
Split(str, Chr(13))
如果数据是从外部源导入的,您可能需要尝试两种方法。