使用VBA将文本分成几行(单元格内)
我正在使用Excel为我的数据生成一个夏季报告。 我希望每个夏令都显示在一个单元格中。 我用VBA,我有这样的东西:
我想能够显示这样的数据:
所有的行应该从“增加”或“减less”开始。 我如何在VBA中做到这一点? (在这个例子中,我有很多单元格)如何查看特定单元格内的文本,并在每个单词之后添加新行?
如果您正在尝试修复macros,以便在将来正确格式化行,那么您需要添加一个换行符(我使用CrLf自己,但Excel,单元格,只关心换行符)通过连接元素与vbLf 。
感谢@retailcoder指出vbNewLine == vbCrLf,所以你可以使用任何更有意义的东西给你。
所以像Range.Value =“行1”&vbcrlf&“行2”&vbcrlf&“行3”等:
Range.Value = _ "line 1" & vbcrlf & _ "line 2" & vbcrlf & _ "line 3"
或者,我个人更喜欢通过循环或使用Join()来构造文本:
Range.Value = Join(Array( _ "Line 1", _ "Line 2", _ "Line 3"), vbCrLf)
为了实际显示新的行,你需要仔细检查Word Wrap是否打开(Excel会自动设置它,但以防万一它被别的东西覆盖)使用Range.WrapText = True
但是,我意识到一个解释是,你只是想快速修复已经在工作表上的东西。 如果是这种情况,那么只需手动进行Char(10)Increase
或Char(10)Decrease
的查找和replace单词“增加”或“减less”,其中Char(10)是通过按Alt +数字键盘0010,或粘贴公式=CHAR(10)
的结果值。 然后使用公式删除第一个字符。