Xin được giúp Em về Định dạng lại đường viền trong bảng

Liên hệ QC

dangky47h

Thành viên thường trực
Tham gia
4/9/17
Bài viết
329
Được thích
41
Giới tính
Nam
Em có dử dụng code định dạng bảng trong diễn đàn, Code đó như sau:
Sub FormatCif()
Application.ScreenUpdating = False

Dim data(), i As Long, t, n As Long
t = Timer
n = [D65536].End(xlUp).Row
Range("A" & n + 1 & ":Z65536").Clear

With [A1:Z3]
.Borders(xlInsideVertical).LineStyle = 1
.Borders(xlEdgeTop).LineStyle = 1
.Borders(xlEdgeLeft).LineStyle = 1
.Borders(xlEdgeRight).LineStyle = 1
.Borders(xlInsideHorizontal).LineStyle = 2
End With
With [A2]
.NumberFormat = "00"
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlCenter
End With

[A2:Z2].Copy
Range("A3:Z" & n).PasteSpecial 4
[A1:Z2].Borders(xlInsideHorizontal).LineStyle = 1
Range("A" & n & ":Z" & n).Borders(xlEdgeBottom).LineStyle = 1

n = n - 1
ReDim data(1 To n, 1 To 1)
For i = 1 To n
data(i, 1) = i
Next
[A2].Resize(n).Value2 = data


Application.ScreenUpdating = True
MsgBox Timer - t
End Sub
Em muốn đường ở định dạng bảng thay đổi như hình ảnh sau:434443.jpg
Mong Các Thầy, Anh Chị giúp Em mới Ạ!
 
Em có dử dụng code định dạng bảng trong diễn đàn, Code đó như sau:
Sub FormatCif()
Application.ScreenUpdating = False

Dim data(), i As Long, t, n As Long
t = Timer
n = [D65536].End(xlUp).Row
Range("A" & n + 1 & ":Z65536").Clear

With [A1:Z3]
.Borders(xlInsideVertical).LineStyle = 1
.Borders(xlEdgeTop).LineStyle = 1
.Borders(xlEdgeLeft).LineStyle = 1
.Borders(xlEdgeRight).LineStyle = 1
.Borders(xlInsideHorizontal).LineStyle = 2
End With
With [A2]
.NumberFormat = "00"
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlCenter
End With

[A2:Z2].Copy
Range("A3:Z" & n).PasteSpecial 4
[A1:Z2].Borders(xlInsideHorizontal).LineStyle = 1
Range("A" & n & ":Z" & n).Borders(xlEdgeBottom).LineStyle = 1

n = n - 1
ReDim data(1 To n, 1 To 1)
For i = 1 To n
data(i, 1) = i
Next
[A2].Resize(n).Value2 = data


Application.ScreenUpdating = True
MsgBox Timer - t
End Sub
Em muốn đường ở định dạng bảng thay đổi như hình ảnh sau:View attachment 199139
Mong Các Thầy, Anh Chị giúp Em mới Ạ!
Dữ liệu giả định thì đâu có gì bí mật mà không đưa cái File lên.
Ý là sao phải nêu rõ:
1/ Cột A:F nếu có chứa dữ liệu thì tô nét đứt.
2/ Cột A:F tiêu đề và vùng bao quanh dữ liệu thì tô nét liền, còn lại dữ liệu dưới tiêu đề thì tô nét đứt.
 
Lần chỉnh sửa cuối:
Upvote 0
Em có dử dụng code định dạng bảng trong diễn đàn, Code đó như sau:
Sub FormatCif()
..............................................................
Em muốn đường ở định dạng bảng thay đổi như hình ảnh sau:View attachment 199139
Mong Các Thầy, Anh Chị giúp Em mới Ạ!
Thử code vầy, coi đúng ý không?
Mã:
Sub TaoNetDut_ToViengDam()
    With Worksheets("Sheet2")
        .Range("A1:F1").Borders.LineStyle = xlContinuous
        .Range("A1").CurrentRegion.Offset(1).Borders.LineStyle = xlThin
        .Range("A1").CurrentRegion.BorderAround xlContinuous, xlThick
    End With
End Sub

A_ToVieng.JPG
 
Lần chỉnh sửa cuối:
Upvote 0
Dữ liệu giả định thì đâu có gì bí mật mà không đưa cái File lên.
Ý là sao phải nêu rõ:
1/ Cột A:F nếu có chứa dữ liệu thì tô nét đứt.
2/ Cột A:F tiêu đề và vùng bao quanh dữ liệu thì tô nét liền, còn lại dữ liệu dưới tiêu đề thì tô nét đứt.
Hi tại cái file đó Em không lưu lại nên mất, em vừa làm lại file,
E chỉ muốn thay đổi đường nét đứt nằm ngang như trong file
Mong Thầy giúp E ạ!
 

File đính kèm

  • 234.xls
    38.5 KB · Đọc: 8
Upvote 0
Thử code vầy, coi đúng ý không?
Mã:
Sub TaoNetDut_ToViengDam()
    Sheets("Sheet2").Range("A1:F1").Borders.LineStyle = xlContinuous
    Sheets("Sheet2").Range("A1").CurrentRegion.Offset(1).Borders.LineStyle = xlThin
    Sheets("Sheet2").Range("A1").CurrentRegion.BorderAround xlContinuous, xlThick
End Sub

View attachment 199156
E cám ơn Thầy, thầy xem file e gui giúp e ạ!
 
Upvote 0
Hi tại cái file đó Em không lưu lại nên mất, em vừa làm lại file,
E chỉ muốn thay đổi đường nét đứt nằm ngang như trong file
Mong Thầy giúp E ạ!
Record macro được cái này
Mã:
Sub Macro2()
'
' Macro2 Macro
'
    Range("G14:I16").Select
    Selection.Borders(xlDiagonalDown).LineStyle = xlNone
    Selection.Borders(xlDiagonalUp).LineStyle = xlNone
    With Selection.Borders(xlEdgeLeft)
        .LineStyle = xlContinuous
        .ColorIndex = xlAutomatic
        .TintAndShade = 0
        .Weight = xlThin
    End With
    With Selection.Borders(xlEdgeTop)
        .LineStyle = xlContinuous
        .ColorIndex = xlAutomatic
        .TintAndShade = 0
        .Weight = xlThin
    End With
    With Selection.Borders(xlEdgeBottom)
        .LineStyle = xlContinuous
        .ColorIndex = xlAutomatic
        .TintAndShade = 0
        .Weight = xlThin
    End With
    With Selection.Borders(xlEdgeRight)
        .LineStyle = xlContinuous
        .ColorIndex = xlAutomatic
        .TintAndShade = 0
        .Weight = xlThin
    End With
    With Selection.Borders(xlInsideVertical)
        .LineStyle = xlContinuous
        .ColorIndex = xlAutomatic
        .TintAndShade = 0
        .Weight = xlThin
    End With
    With Selection.Borders(xlInsideHorizontal)
        .LineStyle = xlContinuous
        .ColorIndex = xlAutomatic
        .TintAndShade = 0
        .Weight = xlHairline
    End With
End Sub
 
Upvote 0
Record macro được cái này
Mã:
Sub Macro2()
'
' Macro2 Macro
'
    Range("G14:I16").Select
    Selection.Borders(xlDiagonalDown).LineStyle = xlNone
    Selection.Borders(xlDiagonalUp).LineStyle = xlNone
    With Selection.Borders(xlEdgeLeft)
        .LineStyle = xlContinuous
        .ColorIndex = xlAutomatic
        .TintAndShade = 0
        .Weight = xlThin
    End With
    With Selection.Borders(xlEdgeTop)
        .LineStyle = xlContinuous
        .ColorIndex = xlAutomatic
        .TintAndShade = 0
        .Weight = xlThin
    End With
    With Selection.Borders(xlEdgeBottom)
        .LineStyle = xlContinuous
        .ColorIndex = xlAutomatic
        .TintAndShade = 0
        .Weight = xlThin
    End With
    With Selection.Borders(xlEdgeRight)
        .LineStyle = xlContinuous
        .ColorIndex = xlAutomatic
        .TintAndShade = 0
        .Weight = xlThin
    End With
    With Selection.Borders(xlInsideVertical)
        .LineStyle = xlContinuous
        .ColorIndex = xlAutomatic
        .TintAndShade = 0
        .Weight = xlThin
    End With
    With Selection.Borders(xlInsideHorizontal)
        .LineStyle = xlContinuous
        .ColorIndex = xlAutomatic
        .TintAndShade = 0
        .Weight = xlHairline
    End With
End Sub
Anh ơi sử dụng sao vậy ạ!
E làm như vậy và nhấn Runab.jpg thì k thây gì ạ!
Anh giúp E rõ hơn chút, em còn mới nên chưa biết hi
 

File đính kèm

  • 67.xls
    44.5 KB · Đọc: 4
Upvote 0
E cám ơn Thầy, thầy xem file e gui giúp e ạ!
Tô viềng như File bài 8 thì code thế này:
Mã:
Sub ToVieng()
    With Worksheets("Sheet1")
        .Range("A1").CurrentRegion.Borders.LineStyle = xlContinuous
        .Range("A1").CurrentRegion.Borders(xlInsideHorizontal).LineStyle = xlThin
    End With
End Sub
 

File đính kèm

  • 234.xls
    39 KB · Đọc: 3
Lần chỉnh sửa cuối:
Upvote 0
Tô viềng như hình như bài 1 thì code thế này:
Mã:
Sub ToVieng()
    With Worksheets("Sheet1")
        .Range("A1").CurrentRegion.Borders.LineStyle = xlContinuous
        .Range("A1").CurrentRegion.Borders(xlInsideHorizontal).LineStyle = xlThin
    End With
End Sub
Vâng Em cám ơn Thầy
Bài đã được tự động gộp:

Tô viềng như File bài 8 thì code thế này:
Mã:
Sub ToVieng()
    With Worksheets("Sheet1")
        .Range("A1").CurrentRegion.Borders.LineStyle = xlContinuous
        .Range("A1").CurrentRegion.Borders(xlInsideHorizontal).LineStyle = xlThin
    End With
End Sub
Thầy ơi thầy giúp e xem lại file 67 e vừa đưa lên ở #8 với A! và thầy sửa giùm em cái đường nét đứt trong đó được k ạ (như trong file 67 em đã ghi ý ạ)
E cám ơn Thầy
 
Lần chỉnh sửa cuối:
Upvote 0
Vâng Em cám ơn Thầy
Thầy ơi thầy giúp e xem lại file 67 e vừa đưa lên ở #8 với A! và thầy sửa giùm em cái đường nét đứt trong đó được k ạ (như trong file 67 em đã ghi ý ạ)
E cám ơn Thầy
Nó y chang như File bài 9 chứ có gì khác đâu?
 
Lần chỉnh sửa cuối:
Upvote 0

File đính kèm

  • File nay thua Thay.xls
    33.5 KB · Đọc: 7
Upvote 0
Anh chị! cho em hỏi
Nên Sử dụng code để định dạng hay định đạng bằng Conditional Formatting
 
Upvote 0
Dạ em tải nhầm hi, đây Thầy ạ!
Thầy giúp em thay đổi cái đường nét đứt nằm ngang (cho nó mảnh hơn ) như trong file ý Thầy
E cám ơn Thầy nhìu!
Thay lại code này (em làm bên quân đội à).
Mã:
Sub ToVieng()
    With Worksheets("Sheet1")
        .Range("A1").CurrentRegion.Borders.LineStyle = xlContinuous
        .Range("A1").CurrentRegion.Borders(xlInsideHorizontal).Weight = xlHairline
    End With
End Sub
Bài đã được tự động gộp:

Anh chị! cho em hỏi
Nên Sử dụng code để định dạng hay định đạng bằng Conditional Formatting
Nếu định đạng bằng Conditional Formatting sẽ làm tăng dung lượng File và sẽ làm File ì ạch, thí nghiệm thử với dữ liệu lớn với code thì sẽ rõ.
 

File đính kèm

  • 234.xls
    47 KB · Đọc: 3
Lần chỉnh sửa cuối:
Upvote 0
Thay lại code này:
Mã:
Sub ToVieng()
    With Worksheets("Sheet1")
        .Range("A1").CurrentRegion.Borders.LineStyle = xlContinuous
        .Range("A1").CurrentRegion.Borders(xlInsideHorizontal).Weight = xlHairline
    End With
End Sub
Bài đã được tự động gộp:


Nếu định đạng bằng Conditional Formatting sẽ làm tăng dung lượng File và sẽ làm File ì ạch, thí nghiệm thử với dữ liệu lớn với code thì sẽ rõ.
file của em đang định dạng hàng chục nghìn dòng cũng thấy chậm đi nhiều. Cảm ơn anh nhiều
 
Upvote 0
Nặng hay nhẹ là một chuyện nhưng CF được sinh ra không phải để làm nặng hay làm nhẹ.

Vd. có ô A1 dùng công thức và ta muốn theo dõi giá trị của nó. Nếu >a thì đỏ, nếu >b thì xanh ... thì code thế nào? Chả nhẽ mở tập tin rồi cho chạy "đồng hồ", chốc chốc lại kiểm tra A1 để định dạng? Vì nếu A1 tham chiếu tới vd. Z1 thì khi Z1 thay đổi thì A1 thay đổi. Nhưng nếu ô chứa công thức thì không có Worksheet_Change để nhét code theo dõi vào đấy.

Chỉ nhìn thấy nặng nhẹ là không hiểu tại sao người ta lại "đẻ" thêm ra CF
Anh chị! cho em hỏi
Nên Sử dụng code để định dạng hay định đạng bằng Conditional Formatting
Cũng tùy định dạng gì, trường hợp cụ thể thế nào. Một câu chung chung thế thì thánh cũng không trả lời được.
 
Upvote 0
Nặng hay nhẹ là một chuyện nhưng CF được sinh ra không phải để làm nặng hay làm nhẹ.

Vd. có ô A1 dùng công thức và ta muốn theo dõi giá trị của nó. Nếu >a thì đỏ, nếu >b thì xanh ... thì code thế nào? Chả nhẽ mở tập tin rồi cho chạy "đồng hồ", chốc chốc lại kiểm tra A1 để định dạng? Vì nếu A1 tham chiếu tới vd. Z1 thì khi Z1 thay đổi thì A1 thay đổi. Nhưng nếu ô chứa công thức thì không có Worksheet_Change để nhét code theo dõi vào đấy.

Chỉ nhìn thấy nặng nhẹ là không hiểu tại sao người ta lại "đẻ" thêm ra CF

Cũng tùy định dạng gì, trường hợp cụ thể thế nào. Một câu chung chung thế thì thánh cũng không trả lời được.
Dùng CF mỗi lần mình điền dữ liệu nó sẽ phải tính toán toàn bộ bảng tính thêm 1 lần nữa, còn dùng code thì cho hàm loại bỏ tính toán, em nghĩ vậy không biết đúng không?
 
Upvote 0
Dùng CF mỗi lần mình điền dữ liệu nó sẽ phải tính toán toàn bộ bảng tính thêm 1 lần nữa, còn dùng code thì cho hàm loại bỏ tính toán, em nghĩ vậy không biết đúng không?
Tôi đã nói rồi - tùy trường hợp.
Có cần theo dõi giá trị của ô đó không, định dạng có thay đổi theo giá trị của ô không. Còn nếu muốn định dạng cụ thể bất chấp giá trị, định dạng 1 lần cho tới ngày tận thế thì làm bằng tay - tất nhiên không dùng CF - hay bằng code thì là như nhau.

Có nhiều nguyên nhân dẫn tới làm tập tin nặng. Nhiều người tô son trát phấn cho tập tin như thể đó là búp bê, dùng định dạng vô tội vạ, tham chiếu thì cứ toàn bộ cột mà chơi, lạm dụng các hàm volatile ...
 
Upvote 0
Tôi đã nói rồi - tùy trường hợp.
Có cần theo dõi giá trị của ô đó không, định dạng có thay đổi theo giá trị của ô không. Còn nếu muốn định dạng cụ thể bất chấp giá trị, định dạng 1 lần cho tới ngày tận thế thì làm bằng tay - tất nhiên không dùng CF - hay bằng code thì là như nhau.

Có nhiều nguyên nhân dẫn tới làm tập tin nặng. Nhiều người tô son trát phấn cho tập tin như thể đó là búp bê, dùng định dạng vô tội vạ, tham chiếu thì cứ toàn bộ cột mà chơi, lạm dụng các hàm volatile ...
Vâng chuẩn! file e định dạng cột full luôn A:A nên chậm quá. cảm ơn a
 
Upvote 0
Web KT
Back
Top Bottom