因此,如果超过一定长度,我试图通过VBA在3行中分割字符串。我让它工作2行,但如果它超过55个字符,它重叠到ouput文件中的其他文本。我希望它是动态的,因此它可以处理所有情况,即10到60个字符,相应地分成几行。有什么建议吗?
If Len(StrText) > 19 Then
If Mid(StrText, 11, 1) = " " Then
StrText = Left(StrText, 19) & Chr(10) & Chr(32) & Right(StrText, Len(StrText) - 19)
Else
m = 19
Do
m = m + 1
Loop Until ((Mid(StrText, m, 1) = " ") Or (m = Len(StrText)))
StrText = Left(StrText, m) & Chr(10) & Chr(32) & Right(StrText, Len(StrText) - m)
End If
End If
答案 0 :(得分:0)
UDF下面应该可以为你做到这一点。这里的假设是你的字符串有空格..如果没有,UDF很可能会抛出意想不到的结果(我没有照顾那个场景)
ggplot(data=yearly_spending,aes(x=Year,y=Mth_Spend,fill=Mth_Year))+
geom_bar(stat="identity",color="black",position=position_dodge())+
theme(axis.text.x=element_text(angle=90,hjust=1))
我在所需的字符数之前添加了对 SPACE 字符的检查,以防万一字符数后没有空格。如果你想要,你可以把它拿出来 要使用UDF,只需使用您的字符串调用它,它将返回预期的字符串
如果传递给UDF的字符串中已经包含 LineFeed 字符,则UDF将返回超过您期望的3行