如何将单元格与单元格中的值配合

问题描述:

我在单元格中具有如下值,并且输入键(返回)值在字符串值 之间这可能是因为,有一段时间,单元格可能有更多价值观和一段时间可能会少一些价值。我只想将单元格适合XYZ和ABC值(或单元格中有多少个单元格)。如何将单元格与单元格中的值配合

我试着自动调整选项,但没有奏效

"XYZ <enter key>  
ABC <enter key> 
<enter key> 
<enter key> 
<enter key>" 

我怎么能做到这一点使用VBA代码?

+0

你可以添加显示*之前的一些屏幕截图或图片链接(上传至Imgur.com) *和*之后*你想要什么?你的描述不是很清楚。谢谢! – 2013-05-08 02:10:32

您可以使用自动调整VBA方法一样显示下面的示例(MSDN link)中:

Worksheets("Sheet1").Columns("A:I").AutoFit 

我希望这将有助于。问候,AB

AutoFit方法应该做你想做的。试试这个:

ActiveCell.EntireRow.AutoFit 
ActiveCell.EntireColumn.AutoFit 

或者:

Range("A1").EntireRow.AutoFit 
Range("A1").EntireColumn.AutoFit 

等等

+0

我试过自动调整,也提到了你提到的选项,但它没有工作 – user2300403 2013-05-08 01:40:36

+0

请参阅我的修订。我展示了我认为你希望输出看起来像什么的图片,并且我描述的方法已经做到了这一点。如果这是不正确的,请添加一些你想要格式化单元格的截图(如果你不能在这里添加图片,上传到Imgur.com并且只包含URL) – 2013-05-08 02:09:45

我想你想的大小细胞仿佛它没有尾随<enter key>

IE大小

"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 

这假定活动单元格中包含的行中的最大的电池(高度)