Dãn dòng tự động

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

thanhlongenet

Thành viên mới
Tham gia
23/7/11
Bài viết
10
Được thích
1
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 đính kèm

  • MAU KCS.xlsm
    5.7 MB · Đọc: 14
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!
Bạn xem đúng nhu cầu chưa nhé.
 

File đính kèm

  • MAU KCS.xlsm
    5.7 MB · Đọc: 21
Upvote 0
Bạn xem đúng nhu cầu chưa nhé.
mình cảm ơn, mình xem có gì nhờ bạn giúp
Bài đã được tự động gộp:

Bạn xem đúng nhu cầu chưa nhé.
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

Application.ScreenUpdating = True
End Sub
 
Lần chỉnh sửa cuối:
Upvote 0
mình cảm ơn, mình xem có gì nhờ bạn giúp
Bài đã được tự động gộp:


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

Application.ScreenUpdating = True
End Sub
Bạn thêm vùng cần giãn dòng như ghi chú trong code nhé.
 

File đính kèm

  • MAU KCS_Rev01.xlsm
    5.8 MB · Đọc: 4
Upvote 0
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
 
Upvote 0
Web KT
Back
Top Bottom