我正在使用Excel为我的数据生成夏日报告。我希望每个夏季都显示在一个单元格中。我使用了VBA,我得到了这样的东西:
我希望能够显示如下数据:
所有行都应以“增加”或“减少”开头。我怎么能在VBA中做到这一点? (我有很多像本例中的单元格)如何查看特定单元格内的文本并在每个单词后面添加一个新行?
答案 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)Increase
或Char(10)Decrease
手动执行查找和替换单词“增加”或“减少”,其中按下Alt可以得到Char(10) + Numpad 0010,或粘贴公式=CHAR(10)
的结果值。然后使用公式删除第一个字符。