Nhờ mọi người giúp đỡ! Mình có file NKC, dòng A13 Sheet "in nhat ky chung", mình muốn dòng A13 tự động giãn dòng khi ít dữ liệu thì sẽ co vào, còn khi nhiều dữ liệu sẽ tự giãn ra không bị mất chữ. Mong mọi người giúp ah!
Nhờ mọi người giúp đỡ! Mình có file NKC, dòng A13 Sheet "in nhat ky chung", mình muốn dòng A13 tự động giãn dòng khi ít dữ liệu thì sẽ co vào, còn khi nhiều dữ liệu sẽ tự giãn ra không bị mất chữ. Mong mọi người giúp ah!
file đúng rồi bạn ah, mình cảm ơn nhé. Mình muốn thêm 1 ô nữa tự điều chỉnh độ rộng như vậy, mình thêm vào công thức như này nhưng sao ko được bạn xem giúp mình:
Private Sub SpinButton1_Change()
Dim MergeWidth As Single
Dim cM As Range
Dim AutoFitRng As Range
Dim CWidth As Double
Dim NewRowHt As Double
Application.ScreenUpdating = False
On Error Resume Next
' Lay vung merge cua o A13
Set AutoFitRng = Range("A13").MergeArea
' Lay vung merge cua o A15
Set AutoFitRng = Range("A15").MergeArea
With AutoFitRng
' Tach cac o merge
.MergeCells = False
CWidth = .Cells(1).ColumnWidth
MergeWidth = 0
' Cong don do rong cua cac o trong vung merge
For Each cM In AutoFitRng
cM.WrapText = True
MergeWidth = cM.ColumnWidth + MergeWidth
Next cM
'Dieu chinh do rong cho phu hop
MergeWidth = MergeWidth + AutoFitRng.Cells.Count * 0.66
.Cells(1).ColumnWidth = MergeWidth
' Tu dong dieu chinh chieu cao dong
.EntireRow.AutoFit
NewRowHt = .RowHeight
.Cells(1).ColumnWidth = CWidth
' Merge lai cac o
.MergeCells = True
.RowHeight = NewRowHt
End With
file đúng rồi bạn ah, mình cảm ơn nhé. Mình muốn thêm 1 ô nữa tự điều chỉnh độ rộng như vậy, mình thêm vào công thức như này nhưng sao ko được bạn xem giúp mình:
Private Sub SpinButton1_Change()
Dim MergeWidth As Single
Dim cM As Range
Dim AutoFitRng As Range
Dim CWidth As Double
Dim NewRowHt As Double
Application.ScreenUpdating = False
On Error Resume Next
' Lay vung merge cua o A13
Set AutoFitRng = Range("A13").MergeArea
' Lay vung merge cua o A15
Set AutoFitRng = Range("A15").MergeArea
With AutoFitRng
' Tach cac o merge
.MergeCells = False
CWidth = .Cells(1).ColumnWidth
MergeWidth = 0
' Cong don do rong cua cac o trong vung merge
For Each cM In AutoFitRng
cM.WrapText = True
MergeWidth = cM.ColumnWidth + MergeWidth
Next cM
'Dieu chinh do rong cho phu hop
MergeWidth = MergeWidth + AutoFitRng.Cells.Count * 0.66
.Cells(1).ColumnWidth = MergeWidth
' Tu dong dieu chinh chieu cao dong
.EntireRow.AutoFit
NewRowHt = .RowHeight
.Cells(1).ColumnWidth = CWidth
' Merge lai cac o
.MergeCells = True
.RowHeight = NewRowHt
End With
Mình có ý tưởng này & chỉ là ý tưởng thôi nha:
B1: Tính tổng kích thước rọng của các cột từ 'A' đến 'J' của trang 'In nhat ky chung' (gọi là trang 'IN')
B2 qua trang 'NKC' thiết lập độ rộng của cột 'Nội dung công việc thực hiện' (Tên gì mà lê thê quá, nội chuyện nhập đã phát mệt!)
Độ rọng cột này bằng với tổng đã tìm ra nêu trên; Nếu cần thì khóa độ rộng này lại;
B3 (Chuyện còn lại) là ta xác định độ cao của ô dữ liệu này