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

Liên hệ QC

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

luyenvd

Thành viên mới
Tham gia
6/12/07
Bài viết
19
Được thích
1
Có cách nào khi ta nhập danh sách thì Excel tự động kẻ bảng (Tức là kẻ boders cho các cell khi ta nhập dữ liệu )|||||
 
Bạn dùng condition format nhé. nó làm được theo yêu cầu của bạn đó.
 

File đính kèm

Lần chỉnh sửa cuối:
Đó là chức năng Conditional Formating... Bạn nghiên cứu đi.. chẳng những kẽ bảng mà còn tô màu nữa
 
Ah... còn nữa... về vấn đề tự động kẽ bãng, các bạn có thể tham khảo bài #49 của topic này:
http://www.giaiphapexcel.com/forum/showthread.php?t=6484&page=5
Ở đây ko cần đễ ý code của file là gì... Chỉ cần đễ ý trong sheet 2, click chọn bất cứ cell nào từ cell A9 tới E50 vào vào menu Format\Conditional Formating bạn sẽ thấy công thức về vụ kẽ bảng... Ở đây có thêm phần tô màu nên có hàm AND phía trước và hàm MOD phía sau, nếu ko thích có thể bỏ bớt, chỉ chừa lại =$A....<>"" là dc rồi
ANH TUẤN
 
Hỏi thầy Tuấn!
Nếu dùng cách trên thì khi muốn kẻ cả khối bằng Format Cells lại không được
thầy có cách nào kết hợp cả không?
 
Hỏi thầy Tuấn!
Nếu dùng cách trên thì khi muốn kẻ cả khối bằng Format Cells lại không được
thầy có cách nào kết hợp cả không
Kẽ bao nhiêu mà chẳng dc... Bạn cứ đưa thử trường hợp cụ thể nào đó xem...
Chức năng condition format ở đâu, tôi không biết.
Chức năng đó nằm trong menu Format...vào đó sẽ nhìn thấy chử Conditional Formating
 
Ý em là thay loại đường viền (Khác với loại đang đặt cho mỗi cell) cho cả 1 khối nhiều Cell!
 
Thay đường viền kiểu khác dc mà bạn... Giờ thế này nhé: Bạn post 1 file lên, kẽ bảng sẳn theo ý của bạn (tất nhiên kẽ bằng tay) và nói rõ quy luật kẽ bảng như thế nào? Tôi xem thử có làm dc ko
 
anhtuan1066 đã viết:
Thay đường viền kiểu khác dc mà bạn... Giờ thế này nhé: Bạn post 1 file lên, kẽ bảng sẳn theo ý của bạn (tất nhiên kẽ bằng tay) và nói rõ quy luật kẽ bảng như thế nào? Tôi xem thử có làm dc ko

Bác Tuấn ơi ! Nếu mình 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á.
 
Tất nhiên là được. bạn đưa file có số liệu lên, yêu cầu như thế nào nhé.
 
Ko hẳn như thế... Bạn quét chọn khối cell nào cần format có điều kiện, rồi vào phần Condtional Formating mà làm... Như thế chỉ có nhưng cell đã dc chọn mới kẽ bảng, cell khác ko có
 
Bạn vào trong format/ sau đó kích vào condition formatting
 
luyenvd đã viết:
Bác Tuấn ơi ! Nếu mình 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á.
File VD đính kèm bạn xem thử có phải ý của bạn không?
 

File đính kèm

luyenvd đã viết:
Bác Tuấn ơi ! Nếu mình 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
Tôi đã dùng ở dạng tham chiếu của một cột cần format tới một ô có giá trị đó là tham chiếu ngày CN để tô màu cột CN cho Bảng chấm công (chỉ là mẹo thôi chẳng phải gọi là giải thuật gì cho đao to búa lớn).
Bạn được việc là Tôi mừng.
 
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
 

File đính kèm

Lần chỉnh sửa cuối:
Sao lại không dùng cod kẻ khung, sau đó gọi thủ tục đó cho nó thực hiện nhỉ ???
 
Nguyễn Xuân Sơn đã viết:
Sao lại không dùng cod kẻ khung, sau đó gọi thủ tục đó cho nó thực hiện nhỉ ???
Là như thế nào? Tôi chưa hiểu ý bạn lắm... Hay ý bạn muốn nói kẽ khung dùng VBA ? Thế thì hơi bị phí đấy, ít nhất là trong trường hợp này... Dùng CF đũ rồi... Ý tôi muốn nói dùng công thức gì thì chưa biết, nhưng chắc chắn ko phải là COUNTA
 
Nếu viết mã sẽ giúp việc tự đông hóa được tiện lợi hơn. Nhất là các chương trình phức tạp cần có nhiều bảng biểu hoặc từ một vài nguồn dữ liệu phát triển tạo ra nhiều sheets khác nhau và các sheet đó cũng phải kẻ khung tự động ( như trong chương trình kế toán chẳng hạn) . Cắc điều này bác AT rõ quá rồi còn gì.
 
Bạn nói cũng đúng... Tôi hiểu rồi.... Tại vì tôi chưa tiếp xúc với những chương trình phức tạp như bạn nói nên cũng khó hình dung dc...
Chỉ là tôi muốn nhắc nhở về COUNTA đối với cell chứa công thức mà thôi... Tức là COUNTA ko phát hiện dc cell rỗng đang chứa công thức
ANH TUẤN
 
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?
 

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

Back
Top Bottom