使用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)IncreaseChar(10)Decrease的查找和replace单词“增加”或“减less”,其中Char(10)是通过按Alt +数字键盘0010,或粘贴公式=CHAR(10)的结果值。 然后使用公式删除第一个字符。