Altura do ajuste automático de uma célula mesclada no Excel 2010

0

Temos uma planilha do Excel que tem várias células mescladas e não mescladas, então ela sai organizada como um formulário em papel. Na parte inferior, algumas células são mescladas em toda a página, pois podem conter muitos dados. No entanto, se alguém escrever mais do que pode caber na largura da célula, o texto será encapsulado, mas não será exibido (o encapsulamento está ativado nessas células). Mesmo se você clicar duas vezes na linha entre as células (como faria para ajustar a altura automaticamente), ela permanecerá em uma única linha alta. Eu posso ajustar manualmente a altura, mas como normalmente temos a planilha bloqueada, os usuários não podem fazer isso.

Existe alguma maneira de ajustá-lo automaticamente nas células mescladas? Uma configuração seria melhor, mas o VBA também está bom. Eu tentei código como Cells.EntireRow.AutoFit , mas isso só vai para uma única linha alta.

    
por techturtle 18.06.2012 / 20:49

2 respostas

3

Aqui está uma postagem no Blog do Contextures, felizmente intitulada "Autofit Merged Cell Altura da linha "

Recomendo que você leia todo o post, mas aqui está o código:

Private Sub Worksheet_Change(ByVal Target As Range)
Dim MergeWidth As Single
Dim cM As Range
Dim AutoFitRng As Range
Dim CWidth As Double
Dim NewRowHt As Double
Dim str01 As String
str01 = "OrderNote"
  If Not Intersect(Target, Range(str01)) Is Nothing Then
    Application.ScreenUpdating = False
    On Error Resume Next
    Set AutoFitRng = Range(Range(str01).MergeArea.Address)

    With AutoFitRng
      .MergeCells = False
      CWidth = .Cells(1).ColumnWidth
      MergeWidth = 0
      For Each cM In AutoFitRng
          cM.WrapText = True
          MergeWidth = cM.ColumnWidth + MergeWidth
      Next
      'small adjustment to temporary width
      MergeWidth = MergeWidth + AutoFitRng.Cells.Count * 0.66
      .Cells(1).ColumnWidth = MergeWidth
      .EntireRow.AutoFit
      NewRowHt = .RowHeight
      .Cells(1).ColumnWidth = CWidth
      .MergeCells = True
      .RowHeight = NewRowHt
    End With
    Application.ScreenUpdating = True
  End If

End Sub
    
por 19.06.2012 / 19:46
0

Eu fiz o add-in para a altura da linha de ajuste automático de várias células mescladas. Por favor, use isso, se você quiser autofit hight linha. [Versão Ver2.6 · toowaki / AutoFitRowEx · GitHub] link

    
por 09.06.2018 / 05:56