我在单元格中有如下的值,在字符串值之间使用enter键(返回)值 可能是,有时候细胞可以有更多的值,有些时间可能是更少的值。我想仅将Cell设置为XYZ和ABC值(或者单元格中有多少个)。
我尝试了自动调整选项,但没有工作
"XYZ <enter key>
ABC <enter key>
<enter key>
<enter key>
<enter key>"
如何使用VBA代码实现这一目标?
答案 0 :(得分:0)
答案 1 :(得分:0)
AutoFit
方法应该做你想要的。试试这个:
ActiveCell.EntireRow.AutoFit
ActiveCell.EntireColumn.AutoFit
或者:
Range("A1").EntireRow.AutoFit
Range("A1").EntireColumn.AutoFit
等
答案 2 :(得分:0)
我认为您希望调整单元格的大小,就好像它没有尾随<enter key>
的
即大小
"XYZ <enter key>
ABC <enter key>
<enter key>
<enter key>
<enter key>"
好像是
"XYZ <enter key>
ABC"
为此,您需要计算所需的高度。试试这个:
Sub AdjustCell()
Dim RwHeight As Long
Dim NumLines1 As Long, NumLines2 As Long
Dim a() As String
With ActiveCell
If .Value = "" Then Exit Sub
.EntireColumn.ColumnWidth = 255
.EntireColumn.AutoFit
.EntireRow.AutoFit
RwHeight = .RowHeight
a = Split(CStr(.Value), vbLf)
NumLines1 = UBound(a)
NumLines2 = NumLines1
Do While a(NumLines2) = ""
NumLines2 = NumLines2 - 1
Loop
.EntireRow.RowHeight = (NumLines2 + 2) / (NumLines1 + 2) * RwHeight
End With
End Sub
这假设活动单元格包含行中最大的单元格(按高度)