Excel tự kẻ bảng (7 người xem)

Liên hệ QC

Người dùng đang xem chủ đề này

Sao chúng ta không dùng luôn macro - ghi lại việc kẻ bảng, -> khi dùng sang vùng khác ta chỉ cần chọn vùng -> rồi chạy macro đó là xong
 
salam đã viết:
Bạn dùng condition format nhé. nó làm được theo yêu cầu của bạn đó.

bạn hướng dẫn cho mình cách đặt công thức trong condition format/Formula Is.Khi mình vào coi thì thấy có công thức =LEN(cell)>0 là làm sau zậy.gõ vào cell nào cũng bao kẻ khung hết.chỉ mình đặt công thức đi.
 
ongtrungducmx25 đã viết:
bạn hướng dẫn cho mình cách đặt công thức trong condition format/Formula Is.Khi mình vào coi thì thấy có công thức =LEN(cell)>0 là làm sau zậy.gõ vào cell nào cũng bao kẻ khung hết.chỉ mình đặt công thức đi.
Len(cell)>0 đặt tại một ô bất nếu có dữ liệu.
VD: Len(A1)>0
Khi đặt địa chỉ ô là địa chỉ tương đối sau đó ta copy ô đó sang những ô mình cần format nó tự động chuyển dòng, cột cho ta cùng với định dạng ô đó.
 
Với file tôi gữi ở trên thì CF dùng công thức đơn giản thôi...
Đầu tiên quét chọn từ B2 đến O30, vào CF và gõ công thức
=MAX(LEN($B2:$O2))
Đơn giản thế thôi... Format gì tùy bạn
 
mình muốn chọn trong vùng từ A10:F10 thì khi đó mình gõ vào công thức như thế nào? để gõ vào trong vùng A10:F10 thì nó tự kẻ cho mình như thế nào?
 
Thì =MAX(LEN($A10:$F10)) chứ gì nữa
Chú ý: nếu vùng từ A10 đến F10 chỉ là số liệu thường thì có thể dùng COUNTA
=COUNTA($A10:$F10)
Còn như vùng này là công thức thì bạn dùng MAX(LEN...
ANH TUẤN
 
theo công thức của pác tuấn thì mình đã làm được =MAX(LEN($A1:$F10)), nhưng gõ xuống ô A11 thì nó lại phủ khối một ô đó thôi,em muốn nó chấm dứt ngay khi gõ vào ô A11 thì làm sao đây, cư gõ hoài thì nó kể vào một ô là dòng A4,A5,..........
 
ongtrungducmx25 đã viết:
theo công thức của pác tuấn thì mình đã làm được =MAX(LEN($A1:$F10)), nhưng gõ xuống ô A11 thì nó lại phủ khối một ô đó thôi,em muốn nó chấm dứt ngay khi gõ vào ô A11 thì làm sao đây, cư gõ hoài thì nó kể vào một ô là dòng A4,A5,..........
Nói vậy thì cũng khó hình dung... Bạn đưa file lên tôi xem thử.. Giữ nguyên hiên trường nha (ngay chổ bị phủ khối 1 cell gì gì đó)
Lưu ý trong trường hợp của bạn, trước khi vào CF bạn phải quét chọn A1 đến F10 trước (hay là khối cell nào đó bạn muốn Format).. Bạn có thực hiện thao tác này ko?
 
Lần chỉnh sửa cuối:
anhtuan1066 đã viết:
Bạn mà dùng COUNTA là ko chắc sẽ dc đâu... Vì thường ta dùng đến Conditional Formating đễ kẽ bảng tự động là do trong sheet đang chứa công thức, ta ko thể biết dc dử liệu đến dòng nào... Vì thế mà ngay cả những cell bị rổng do công thức thì COUNTA vẫn xem là có dử liệu... Và nó sẽ kẽ khung tất tần tật ko chừa cell nào cả...
Ko tin bạn cứ thử xem đối với những sheet đang chứa công thức
Bạn chỉ có thể dùng COUNTA đối với những sheet có chức năng nhập liệu
Đây là file ví dụ... bạn cứ thử dùng COUNTA mà đóng khung vùng từ B2 đến O30 xem... Cứ trong vùng này cell nào có dử liệu thì cả dòng dc đóng khung
ANH TUẤN
Em làm thế này có được không Bác Tuấn. Bác cho ý kiến nhé.
 

File đính kèm

Chào bạn Salam, cái của bạn trong những dòng ko có dử liệu nó vẫn còn đóng khung mà
Sửa lại: Bạn bỏ bớt Condition2, chừa lại Condition1 là ổn
 
Em cond1 =MAX(LEN($A1:$F10)),con cond2 =Min(LEN($A11:$F20)), thì không còn kẻ bảng nữa. còn nếu muốn chọn các vùng kẻ bảng tuỳ ý thì sao nhỉ chọn kẻ 2 nét liền
 
Bạnluyenvd cần nhập dữ liệu vào 1 Cell nào đó thì cả Rows đó tự động kẻ bảng luôn có được không. Tại vì dữ liệu đâu phải cell nào cũng phải nhập, mà như thế thì cả bảng chỗ thẻ kẻ chỗ thì không xấu quá.
Bạn dùng condition formatting nhưng có mẹo một chút là tham chiếu đến ô kết quả của vùng(dòng).
Bạn cần chọn ô cuối cùng An và viết =counta(A1:An-1)
Chọn vùng condition formatting A1:An với Formula Is =An>0. Xong việc bạn gõ bất cứ ký tự nào vào bất cứ ô nào từ A1 đến An-1 thì cả vùng đã chọn sẽ format theo ý Bạn và bạn có thể Border tự động cả dòng được rồi.
Bạn xem File đúng yêu cầu của Bạn chứ?
 

File đính kèm

Bạn ơi... với dử liệu như bạn đưa lên thì cần gì cột phụ cho mất công...
Quét chọn từ A4 đến J10, vào Conditional Formating, Condition 1 chọn Formula Is và gõ công thức: =COUNTA($A4:$J4)
Format theo ý nữa là xong
ANH TUẤN
 
Bạn AnhTuan1066 nói đúng đấy. Tôi thực tế cũng làm như bạn nhưng ý tôi muốn nói để các bạn hiểu rõ ràng mạch lạc hơn và vận dụng sâu hơn khi tham chiếu trong trường hợp đã có 1 ô có giá trị để tham chiếu không cần dùng công thức làm gì như tôi đã nói về trường hợp format cột theo giá trị cố định ở đầu cột là ngày CN được trả bởi hàm WEEKDAY khi lập Bảng chấm công hàng tháng ta tô màu cột tự động mà.
 
Tôi đã thử làm theo cách các bạn hướng dẫn nhưng tôi không rõ cách làm như thế nào để định dạng luôn cho cả khối (khoảng 50 dòng). Chả nhẽ cứ làm thủ công từng dòng một hay sao? Ai biết bảo tôi với!
 
tklshb đã viết:
Tôi đã thử làm theo cách các bạn hướng dẫn nhưng tôi không rõ cách làm như thế nào để định dạng luôn cho cả khối (khoảng 50 dòng). Chả nhẽ cứ làm thủ công từng dòng một hay sao? Ai biết bảo tôi với!
Ý bạn là sao tôi chưa hiểu lắm... nhưng thông thường đễ dùng CF cho toàn bộ 1 vùng thì đầu tiên chọn vùng đó, tiếp theo hãy gõ công thức trong CF theo kiểu tham chiếu tương đối là ra ngay...
Bạn đưa file lên tôi làm cụ thể cho bạn thấy luôn!
ANH TUẤN
 
Tôi hay kẻ bảng như thế này.
Giả sử Ô A10 là ô đầu tiên của bảng
Range("A10").Select
With ActiveCell.CurrentRegion
.Borders(xlInsideHorizontal).Weight = xlThin
.Borders(xlInsideVertical).Weight = xlThin
.Borders(xlEdgeBottom).Weight = xlThin
.Borders(xlEdgeLeft).Weight = xlThin
.Borders(xlEdgeRight).Weight = xlThin
.Borders(xlEdgeTop).Weight = xlThin

End With

Nó sẽ kẻ toàn bộ vùng dữ liệu có chứa ô A10
 
nguyennb đã viết:
Tôi hay kẻ bảng như thế này.
Giả sử Ô A10 là ô đầu tiên của bảng
Range("A10").Select
With ActiveCell.CurrentRegion
.Borders(xlInsideHorizontal).Weight = xlThin
.Borders(xlInsideVertical).Weight = xlThin
.Borders(xlEdgeBottom).Weight = xlThin
.Borders(xlEdgeLeft).Weight = xlThin
.Borders(xlEdgeRight).Weight = xlThin
.Borders(xlEdgeTop).Weight = xlThin

End With

Nó sẽ kẻ toàn bộ vùng dữ liệu có chứa ô A10

Nên dùng 1 sub có tham số để làm thì sẽ thuận tiện và nhanh hơn rất nhiều bạn ạ.

Thân!
 
Cho tôi hỏi một chút, làm thế nào để kẻ được những đường borders khác nhau, vd: kẻ đôi, kẻ đậm, nét đứt... trong Conditional Formatting?
 
Web KT

Bài viết mới nhất

Back
Top Bottom