使用VBA在Excel中将文本拆分为多行(在单元格内)

时间:2013-09-01 12:03:43

标签: excel vba excel-vba

我正在使用Excel为我的数据生成夏日报告。我希望每个夏季都显示在一个单元格中。我使用了VBA,我得到了这样的东西:

enter image description here

我希望能够显示如下数据:

enter image description here

所有行都应以“增加”或“减少”开头。我怎么能在VBA中做到这一点? (我有很多像本例中的单元格)如何查看特定单元格内的文本并在每个单词后面添加一个新行?

1 个答案:

答案 0 :(得分:3)

如果您正在尝试修复宏,以便将来正确格式化行,那么您需要添加换行符(我自己使用CrLf但Excel使用单元格,只关注换行符)通过连接vbLf的元素。

感谢@retailcoder指出vbNewLine == vbCrLf,所以你可以使用对你更有意义的。

所以像Range.Value =“line 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)

要让它实际显示在新行上,您需要使用Range.WrapText = True

然而,我意识到一种解释是你只想快速修复工作表上的内容。如果是这种情况,那么只需分别用Char(10)IncreaseChar(10)Decrease手动执行查找和替换单词“增加”或“减少”,其中按下Alt可以得到Char(10) + Numpad 0010,或粘贴公式=CHAR(10)的结果值。然后使用公式删除第一个字符。