Nhờ các anh chị sửa dùm Code VBA dãn dòng chạy rất chậm và khi insert dòng thì lại phải sửa code bằng thủ công

Liên hệ QC

nguyenhuuhieu94dha

Thành viên mới
Tham gia
30/10/19
Bài viết
21
Được thích
0
Sub dandong_dongthoi(t As String, m() As Variant)
Dim o As String
cao1 = 0
For i = 0 To UBound(m)
o = m(i)
caox = dandong_chieucao(t, o)
If caox >= cao1 Then
cao1 = caox
End If
Next
o = m(0)

Sheets(t).Range(o).MergeArea.RowHeight = cao1
End Sub
Function dandong_chieucao(tensheet, teno As String)
Dim xuly As Worksheet
Set xuly = Sheets(tensheet)
cel = xuly.Range(teno)
Set ma = xuly.Range(teno).MergeArea
'''Do rong cua o merge
For Each sodong In ma.Rows
sodongla = sodongla + 1
Next
For Each cc In ma.Rows(1).Cells
rong = rong + cc.ColumnWidth
Next
'''Do rong o dau tien thuoc Merge
rong1 = ma.Cells(1).ColumnWidth
Application.ScreenUpdating = False
ma.MergeCells = False
ma.Cells(1).ColumnWidth = rong
ma.Cells(1).EntireRow.AutoFit
cao = ma.Cells(1).RowHeight
ma.Cells(1).ColumnWidth = rong1
ma.MergeCells = True
If sodongla > 1 Then
If cao / sodongla > 15 Then
dandong_chieucao = cao / sodongla
Else: dandong_chieucao = 15
End If
Else
dandong_chieucao = cao
End If
Application.ScreenUpdating = True
End Function
Sub dandongnhieudong()
Dim m() As Variant
For i = 46 To 47
m() = Array("a" & i)
Call dandong_dongthoi("NGTHU CV", m)
Next
End Sub
Sub dandongNGTHUCV()
Dim m() As Variant
m() = Array("e14", "i14", "e15", "i15")
Call dandong_dongthoi("NGTHU CV", m)
For a = 39 To 40
m() = Array("e" & a)
Call dandong_dongthoi("NGTHU CV", m)
Next
For b = 8 To 10
m() = Array("a" & b)
Call dandong_dongthoi("NGTHU CV", m)
Next
For c = 34 To 37
m() = Array("a" & c)
Call dandong_dongthoi("NGTHU CV", m)
Next
End Sub
Sub dandongGIAIDOAN()
Dim m() As Variant
For a = 9 To 10
m() = Array("a" & a)
Call dandong_dongthoi("GIAI DOAN", m)
Next
For b = 48 To 49
m() = Array("a" & b)
Call dandong_dongthoi("GIAI DOAN", m)
Next
m() = Array("a12", "e12", "a13", "e13")
Call dandong_dongthoi("GIAI DOAN", m)
m() = Array("a52", "e52", "a53", "e53")
Call dandong_dongthoi("GIAI DOAN", m)
End Sub
 

File đính kèm

  • LIST_bien ban.xlsm
    83.3 KB · Đọc: 5
Sub dandong_dongthoi(t As String, m() As Variant)
Dim o As String
cao1 = 0
For i = 0 To UBound(m)
o = m(i)
caox = dandong_chieucao(t, o)
If caox >= cao1 Then
cao1 = caox
End If
Next
o = m(0)

Sheets(t).Range(o).MergeArea.RowHeight = cao1
End Sub
Function dandong_chieucao(tensheet, teno As String)
Dim xuly As Worksheet
Set xuly = Sheets(tensheet)
cel = xuly.Range(teno)
Set ma = xuly.Range(teno).MergeArea
'''Do rong cua o merge
For Each sodong In ma.Rows
sodongla = sodongla + 1
Next
For Each cc In ma.Rows(1).Cells
rong = rong + cc.ColumnWidth
Next
'''Do rong o dau tien thuoc Merge
rong1 = ma.Cells(1).ColumnWidth
Application.ScreenUpdating = False
ma.MergeCells = False
ma.Cells(1).ColumnWidth = rong
ma.Cells(1).EntireRow.AutoFit
cao = ma.Cells(1).RowHeight
ma.Cells(1).ColumnWidth = rong1
ma.MergeCells = True
If sodongla > 1 Then
If cao / sodongla > 15 Then
dandong_chieucao = cao / sodongla
Else: dandong_chieucao = 15
End If
Else
dandong_chieucao = cao
End If
Application.ScreenUpdating = True
End Function
Sub dandongnhieudong()
Dim m() As Variant
For i = 46 To 47
m() = Array("a" & i)
Call dandong_dongthoi("NGTHU CV", m)
Next
End Sub
Sub dandongNGTHUCV()
Dim m() As Variant
m() = Array("e14", "i14", "e15", "i15")
Call dandong_dongthoi("NGTHU CV", m)
For a = 39 To 40
m() = Array("e" & a)
Call dandong_dongthoi("NGTHU CV", m)
Next
For b = 8 To 10
m() = Array("a" & b)
Call dandong_dongthoi("NGTHU CV", m)
Next
For c = 34 To 37
m() = Array("a" & c)
Call dandong_dongthoi("NGTHU CV", m)
Next
End Sub
Sub dandongGIAIDOAN()
Dim m() As Variant
For a = 9 To 10
m() = Array("a" & a)
Call dandong_dongthoi("GIAI DOAN", m)
Next
For b = 48 To 49
m() = Array("a" & b)
Call dandong_dongthoi("GIAI DOAN", m)
Next
m() = Array("a12", "e12", "a13", "e13")
Call dandong_dongthoi("GIAI DOAN", m)
m() = Array("a52", "e52", "a53", "e53")
Call dandong_dongthoi("GIAI DOAN", m)
End Sub
Bạn gửi file lên xem thử thế nào. Chứ nhìn code không hình dung được nhé bạn.

P/s: Mình là "thấp nhân", chỉ có mét sáu à, nên nếu có giúp được cũng không thể coi như "cao nhân" được đâu nhé!
 
Bạn gửi file lên xem thử thế nào. Chứ nhìn code không hình dung được nhé bạn.

P/s: Mình là "thấp nhân", chỉ có mét sáu à, nên nếu có giúp được cũng không thể coi như "cao nhân" được đâu nhé!
Đây bạn ơi nhờ bạn xem giúp mình code này với
Bài đã được tự động gộp:

hehe hỏi nhiều quá nên copy qua lại cho nhanh
 

File đính kèm

  • LIST_bien ban.xlsm
    83.3 KB · Đọc: 7
Mình k biết nên đăng hỏi thôi. Cách nói hơi k hợp ý. Chỉ là 1 câu nói thôi. Có gì phải căng thẳng vậy bạn.
Bạn nên sửa tiêu đề lại, bởi vì người khác nhìn kiểu nói như vậy không quen, có thể bạn ghi "nhờ các bạn" hoặc "nhờ các anh chị", v.v....
 
Mình k biết nên đăng hỏi thôi. Cách nói hơi k hợp ý. Chỉ là 1 câu nói thôi. Có gì phải căng thẳng vậy bạn.
Bạn nhìn kỹ lại xem. Bài tôi viết có mặt cười vui vẻ đàng hoàng mà. Bên căng thẳng, nếu có, thì là bạn chứ sao lại đổ cho bên "cười".
 
Tôi nghĩ tiêu đề cũng đã sửa rồi, chúng ta không nên thảo luận gì nữa, bạn tác giả cũng nên rút kinh nghiệm. Nếu không trả lời trong nội dung được hỏi thì tôi sẽ xóa bài tất cả những bài không liên quan từ đây về sau.
Hoàng Trọng Nghĩa.
 
Nhờ bạn viết code giúp minh Dòng C11 với khi thay đổi nó sẽ tự dãn dòng,
Mình xin cảm ơn. SDT 0912 562268
 

File đính kèm

  • MAU.xls
    521.5 KB · Đọc: 4
Lần chỉnh sửa cuối:
Web KT
Back
Top Bottom