Cố định các dòng merger cell để khi in không bị ẩn mất nội dung khi dùng Autofit row height

Liên hệ QC
Tôi tuân thủ nội quy khi đăng bài

tuannguyenmoh

Thành viên mới
Tham gia
4/10/19
Bài viết
14
Được thích
1
Các anh chi cho hỏi làm thế nào khi sử dụng autofit row height, các dòng merger cell khi in không bị mất nội dung. Cảm ơn các anh chị
 
Code này ngày trước có lượm nhặt ở đâu đó giờ không rõ nguồn.
Mã:
Public Sub AutoFitMergedCells(oRange As Range)
  Dim tHeight As Integer
  Dim iPtr As Integer
  Dim oldWidth As Single
  Dim oldZZWidth As Single
  Dim newWidth As Single
  Dim newHeight As Single
  oRange.WrapText = True
  With oRange.Parent
    oldWidth = 0
    For iPtr = 1 To oRange.Columns.Count
      oldWidth = oldWidth + .Cells(1, oRange.Column + iPtr - 1).ColumnWidth
    Next iPtr
    oRange.MergeCells = False
    newWidth = Len(.Cells(oRange.Row, oRange.Column).Value)
    oldZZWidth = .Range("ZZ1").ColumnWidth
    .Range("ZZ1") = Left(.Cells(oRange.Row, oRange.Column).Value, newWidth)
    .Range("ZZ1").WrapText = True
    .Columns("ZZ").ColumnWidth = oldWidth
    .Rows("1").EntireRow.AutoFit
    newHeight = .Rows("1").RowHeight / oRange.Rows.Count
    .Rows(CStr(oRange.Row) & ":" & CStr(oRange.Row + oRange.Rows.Count - 1)).RowHeight = newHeight
    oRange.MergeCells = True
    oRange.WrapText = True
    .Range("ZZ1").ClearContents
    .Range("ZZ1").ColumnWidth = oldZZWidth
  End With
End Sub
 
Web KT

Bài viết mới nhất

Back
Top Bottom