我的目标是在名字、姓氏之后换行,用逗号分隔。如果我不这样做,单元格太小,文本不完全可见。由于是宏创建的形式,每次人名的长度都不同,因此设置更大的单元格区域(目前是几个合并的单元格)并不是解决方案。到目前为止,我尝试了几个选项,但没有一个有效。
Dim rng As Range
Set rng = Range("E11:N13")
With rng
.Merge
.HorizontalAlignment = xlLeft
.VerticalAlignment = xlTop
.WrapText = True
.Orientation = 0
.AddIndent = False
.IndentLevel = 0
.ShrinkToFit = False
.ReadingOrder = xlContext
End With
Rows("13:13").RowHeight = 68
Range("E8:G8").Merge
Range("E8").FormulaR1C1 = "=TODAY()"
If Not IsEmpty(rng.Value) And VarType(rng.Value) = vbString Then
If InStr(rng.Value, ",") > 0 Then
' rng.Value = Replace(rng.Value, ",", vbNewLine)
'rng.Value = Replace(rng.Value, ",", Chr(10))
rng.Value = Replace(rng.Value, ",", vbLf)
End If
End If
请使用下一个改编代码:
Dim rng As Range
Set rng = Range("E11:N13")
With rng
.HorizontalAlignment = xlLeft
.VerticalAlignment = xlTop
.WrapText = True
.Orientation = 0
.AddIndent = False
.IndentLevel = 0
.ShrinkToFit = False
.ReadingOrder = xlContext
.Replace ",", vbLf
End With
VBA.Replace
不适用于数组,rng.Value
将范围放入数组中。