- Tham gia
- 13/10/07
- Bài viết
- 90
- Được thích
- 13
ý bạn là kẻ từ hàng 11 tới cuối dữ liệu (động) - cuối dữ liệu là hàng mà nơi đó cộ A không có và cột H;I có giá trị phải không????Xin nhờ các anh chị biết rành về VBA thì xem và giúp em kẻ viền sổ nhật ký chung như mẫu em đã làm sẵn trong sheet của excel.
Em không biết VBA.
Xin chân thành cảm ơn anh chị rất nhiều !
Căn cứ theo sheet bảng mẫu thì:ý bạn là kẻ từ hàng 11 tới cuối dữ liệu (động) - cuối dữ liệu là hàng mà nơi đó cộ A không có và cột H;I có giá trị phải không????
Bạn tham khảo thử: Click chuật phải chọn vào cái ô màu đỏKẻ từ hàng 11 trở xuống đến hết. khi nghiệp vụ phát sinh bao nhiêu dòng thì nó kẻ bấy nhiêu vòng, kết thúc 1 nghiệp vụ là nó sẽ kẻ 1 đường viền đậm như MẪU NHẬT KÝ CHUNG trong sheet kế bên ấy.
Ở đó mình hạng chế cho nó chưa đến 2000 dòng.
Cảm ơn bạn đã xem qua!
Bài đã được tự động gộp:
Thêm đường viền đậm kết thúc 1 nghiệp vụ là ok. Chỉ yêu cầu như thế thôi. cảm ơn bạn rất nhiều !
Bạn tham khảo thử: Click chuật phải chọn vào cái ô màu đỏ
OK. cảm ơn bạn, cách như bạn cũng hay đó nhưng nó hơi bất tiện 1 chút.
Chân thành cảm ơn bạn rất nhiều!
Chỉ tại bất tiện nó sinh biến tật.Đã bất tiện mà sao hay được
Coi thử file nha bạnXin nhờ các anh chị biết rành về VBA thì xem và giúp em kẻ viền sổ nhật ký chung như mẫu em đã làm sẵn trong sheet của excel.
Em không biết VBA.
Xin chân thành cảm ơn anh chị rất nhiều !
Ý tưởng Quá hay luôn bạn ơi...Bạn xem thử
Mình cho Macro vào Nút Xem Sổ của bạn luôn rồi đó
With Sheet8
lr1 = .Cells(.Rows.Count, "I").End(xlUp).Row
For i = 11 To lr1
If IsDate(.Cells(i, 3)) = True Then
With .Range("A" & i & ":I" & i)
.Borders(xlEdgeTop).LineStyle = xlContinuous
.Borders(xlEdgeTop).Weight = xlThin
End With
End If
Next i
MsgBox ("complete!!!")
End With
Sub Macro1()
'
' Macro1 Macro
'
Dim LastRow As Long, sRng As Range, I As Long
Application.ScreenUpdating = False
LastRow = Range("I" & Rows.Count).End(xlUp).Row
Set sRng = Range("A11:A" & LastRow)
With sRng.Resize(, 9)
.Borders.LineStyle = 1
.Borders(xlInsideHorizontal).Weight = xlHairline
End With
With sRng.SpecialCells(xlCellTypeConstants, 23)
For I = 0 To 8
With .Offset(, I).Borders(xlEdgeTop)
.LineStyle = 1
.Weight = xlThin
End With
Next I
End With
Application.ScreenUpdating = True
End Sub
Lần này chắc được tiến bậc.Mình Record Macro mới được cái này nữa. Bạn Chủ Topic tham khảo thử xem nó có bất tiện nữa không nhoé
Bạn chu đáo ghê, Code nhìn gọn hơn hẳn cái nùi Macro nguyên bản của excelÝ tưởng Quá hay luôn bạn ơi...
Mình xin mạn phép chỉnh lại code của bạn một tí cho nó nhẹ và gọn hơn nha....
Mã:With Sheet8 lr1 = .Cells(.Rows.Count, "I").End(xlUp).Row For i = 11 To lr1 If IsDate(.Cells(i, 3)) = True Then With .Range("A" & i & ":I" & i) .Borders(xlEdgeTop).LineStyle = xlContinuous .Borders(xlEdgeTop).Weight = xlThin End With End If Next i MsgBox ("complete!!!") End With
Bác chỉ mình nhấn cái nút record nào mà dc vậy nha... mỗi hàng là 1 lon!!!!Mình Record Macro mới được cái này nữa. Bạn Chủ Topic tham khảo thử xem nó có bất tiện nữa không nhoé
PHP:Sub Macro1() ' ' Macro1 Macro ' Dim LastRow As Long, sRng As Range, I As Long Application.ScreenUpdating = False LastRow = Range("I" & Rows.Count).End(xlUp).Row Set sRng = Range("A11:A" & LastRow) With sRng.Resize(, 9) .Borders.LineStyle = 1 .Borders(xlInsideHorizontal).Weight = xlHairline End With With sRng.SpecialCells(xlCellTypeConstants, 23) For I = 0 To 8 With .Offset(, I).Borders(xlEdgeTop) .LineStyle = 1 .Weight = xlThin End With Next I End With Application.ScreenUpdating = True End Sub
Mình Record Macro mới được cái này nữa. Bạn Chủ Topic tham khảo thử xem nó có bất tiện nữa không nhoé
Cảm ơn bạn đã góp ý . Chân thành cảm ơn.
Bạn xem thử
Mình cho Macro vào Nút Xem Sổ của bạn luôn rồi đó
Xin cảm ơn bạn rất nhiều.
Đã bất tiện mà sao hay được
Nó hay hơn mình phải tự làm tay, nó tốn rất nhiều thời gian. Lâu lắm bạn ạ. Cảm ơn bạn đã góp ý.
Coi thử file nha bạn
Xin cảm ơn bạn đã giúp đỡ.
With Sheet8.Range("A10:A" & Sheet8.Range("I" & Rows.Count).End(xlUp).Row)
.Resize(, 9).Borders.LineStyle = 1
.Resize(, 9).Borders(12).Weight = 1
Intersect(.Resize(, 9), Union(.SpecialCells(2), .Cells(.Rows.Count, 1)).EntireRow).Borders(8).Weight = 2
End With
Rút quá đi thôiVầy đi cho gọn.
Mã:With Sheet8.Range("A10:A" & Sheet8.Range("I" & Rows.Count).End(xlUp).Row) .Resize(, 9).Borders.LineStyle = 1 .Resize(, 9).Borders(12).Weight = 1 Intersect(.Resize(, 9), Union(.SpecialCells(2), .Cells(.Rows.Count, 1)).EntireRow).Borders(8).Weight = 2 End With