Tô đậm hàng đang chứa ô hiện hành ? (1 người xem)

  • Thread starter Thread starter BNTT
  • Ngày gửi Ngày gửi
Liên hệ QC

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

BNTT

Bùi Nguyễn Triệu Tường
Thành viên danh dự
Tham gia
3/7/07
Bài viết
4,946
Được thích
23,213
Nghề nghiệp
Dạy đàn piano
Có một bạn hỏi tôi có một vấn đề như sau:

Bạn ấy muốn khi chọn một ô nào đó, thì nguyên cả hàng đang chứa ô đó được tô đậm lên, hay là định dạng kiểu gì cũng được, nhưng riêng cái hàng đang chứa ô hiện hành mà thôi. Và nếu như chọn ô ở hàng khác, thì cái hàng vừa bị định dạng lúc nãy sẽ trở lại bình thường, còn hàng đang có ô được chọn lúc này lại được "tô đậm" lên.

Tôi có nghĩ đến chuyện dùng Conditional, nhưng mò hoài mà không biết làm thế nào.
Hình như phải can thiệp bằng VBA.

Có bạn nào giúp tôi trả lời câu hỏi này với.
 
Dùng Coditional Formating với công thức ROW()=CELL("ROW") là dc (Bấm F9 mổi khi chuyển sang dòng khác)
Nếu muốn tự động thì cho vào sự kiện Selection_Change
 
Bác đặt name:
Dong=GET.CELL(2)=ROW()

Trong CF bác đặt =Dong với format mà Bác cần.
 
Cảm ơn những đáp án ở trên.
Tuy nhiên, có cách nào để khỏi phải nhấn F9 không?
Bác ANHTUAN có nói dùng sự kiện gì đó, bác giúp dùm với.
 

File đính kèm

Lần chỉnh sửa cuối:
Nhiều cách dùng code lắm! Thử file này
 

File đính kèm

Cảm ơn những đáp án ở trên.
Tuy nhiên, có cách nào để khỏi phải nhấn F9 không?
Bác ANHTUAN có nói dùng sự kiện gì đó, bác giúp dùm với.

Khi thiết lập cho từng sheet xong, bác dặt dòng code này vào thisworkbook:

PHP:
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
    Sh.Calculate
End Sub


Thân!
 
Hình như copy đoạn này anh ah, em không rành VBA lắm !
Cái của DOSNETMr Okebab không được đâu! Vì nó sẽ làm mất chức năng Copy paste!
Thử xem biết liền
Đơn giãn nhất là dùng:
Application.ScreenUpdating = True
 
Lần chỉnh sửa cuối:
Cái của DOSNET và Mr Okebap không được đâu! Vì nó sẽ làm mất chức năng Copy paste!
Thử xem biết liền
Đơn giãn nhất là dùng:
Application.ScreenUpdating = True
Chính xác là ko copy và paste được, cách của anh "Bắp" cũng vậy !
Vậy dùng chính cái này để bảo vệ bảng tính, không cho Copy và Paste được ko bác Tuấn? Nó có ảnh hưởng đến các điều kiện lviệc nào khác không ?
 
Lần chỉnh sửa cuối:
Có một bạn hỏi tôi có một vấn đề như sau:

Bạn ấy muốn khi chọn một ô nào đó, thì nguyên cả hàng đang chứa ô đó được tô đậm lên, hay là định dạng kiểu gì cũng được, nhưng riêng cái hàng đang chứa ô hiện hành mà thôi. Và nếu như chọn ô ở hàng khác, thì cái hàng vừa bị định dạng lúc nãy sẽ trở lại bình thường, còn hàng đang có ô được chọn lúc này lại được "tô đậm" lên.

Tôi có nghĩ đến chuyện dùng Conditional, nhưng mò hoài mà không biết làm thế nào.
Hình như phải can thiệp bằng VBA.

Có bạn nào giúp tôi trả lời câu hỏi này với.

Cái này em nhớ trên GPE mình có nhiều rồi mà anh. Anh xài thử add-Ins này xem sao!
 

File đính kèm

Dùng GridHighLighter của TuanVNUNI thử xem.
 
Cái này em nhớ trên GPE mình có nhiều rồi mà anh. Anh xài thử add-Ins này xem sao!
Cảm ơn Ca_dafi.
Cái Addin này hiệu quả thì có, nhưng thẩm mỹ thì.. không thích lắm.
Có cách nào để sửa được cái kiểu định dạng của nó không? Ví dụ như tô màu cho hàng như cái Code của anh Tuấn đưa lên?

Sẵn đây em cũng xin hỏi anh Tuấn, trong Code anh đưa lên, mặc định tô màu xanh nhạt nhạt cho dòng chứa ô hiện hành, vậy muốn đổi thành màu khác thì phải làm như thế nào?
 
Sẵn đây em cũng xin hỏi anh Tuấn, trong Code anh đưa lên, mặc định tô màu xanh nhạt nhạt cho dòng chứa ô hiện hành, vậy muốn đổi thành màu khác thì phải làm như thế nào?

Anh chọn vùng từ A1:H1 vào Format -> Conditional formatting chọn màu khác là OK,sau đó dùng chổi sơn chép định dạng cho những dòng còn lại.
 
Tôi đã tìm ra cách format cái RowLiner 4.0 rồi.
Có thể có nhiều bạn chưa biết cái này. Vậy xin giới thiệu lại ở đây luôn:

Trang web để download: http://www.cpearson.com/Excel/RowLiner.htm

Minh họa cửa sổ thiết lập định dạng:
11-07-20089-02-27AM.png

Tuy nhiên, thành thật mà nói, tôi thích cái của AnhTuan1066 hơn.
Bởi vì nó cho tô màu dòng chứa ô hiện hành, và chỉ những ô có dữ liệu thôi.
Còn cái Rowliner này thì nó gạch tuốt hết chiều ngang bảng tính (không đẹp lắm)
 
Lần chỉnh sửa cuối:
Nếu là tôi hướng dẩn cho người khác thiết lập Highlight này thì tôi sẽ:
-Chỉ cách dùng Conditional Formating trước
-Tiếp theo muốn tự động thì thêm code vào
-Tiếp theo nữa sẽ cải tiến code (nếu code có vấn đề)
Từ thấp lên cao, như vậy ít ra ta biết được ta đã làm gì

1> Mang về xài cái "xịn" nhất và khỏi cần biết nó chứa gì trong code
2> Tự mình làm lấy cái đơn giãn nhất dù ko dc hay
Tùy sở thích mỗi người!
(Tôi vẩn thích cái tôi tự làm, hay dở gì cũng là của tôi. Tôi hiểu nó và tôi có thể tùy biến dc nó)
 
Nếu là tôi hướng dẩn cho người khác thiết lập Highlight này thì tôi sẽ:
1- Chỉ cách dùng Conditional Formating trước
2- Tiếp theo muốn tự động thì thêm code vào
3- Tiếp theo nữa sẽ cải tiến code (nếu code có vấn đề)
Từ thấp lên cao, như vậy ít ra ta biết được ta đã làm gì
Em bổ sung thêm tí nữa:
4- Nếu code đã ổn, tạo mới một bảng tính, nhập code vào trong This Workbook
5- Lưu thành file *.xla để làm Add-in cho Excel của mình.
6- Chèn Addin mới tạo này vào trong bộ Addin của Excel.
Bây giờ, để xài cái này, chỉ cần chọn dãy, gọi Conditional Formating ra, nhập công thức vào. Là xài. Khỏi cần làm gì trong Alt-F11 hết.
 
Lần chỉnh sửa cuối:
http://www.cpearson.com/excel/Colors.aspx
line nay hình như nói về màu của hàm hay cong thuc gì đó. Bằng tiếng anh. Mình kém quá ko địch hết được. Anh em GPE xêm chắc là có ích lợi trong đó. xin chỉ giáo cho mình với

Em bổ sung thêm tí nữa:
4- Nếu code đã ổn, tạo mới một bảng tính, nhập code vào trong This Workbook
5- Lưu thành file *.xla để làm Add-in cho Excel của mình.
6- Chèn Addin mới tạo này vào trong bộ Addin của Excel.
Bây giờ, để xài cái này, chỉ cần chọn dãy, gọi Conditional Formating ra, nhập công thức vào. Là xài. Khỏi cần làm gì trong Alt-F11 hết.

1. Anh BNTT nói lưu file.xla đề lả add-in cho Execl, nhưng sao mình lam theo, mà chẳn thấy file xla có tác dụng gì cả?

2. File RowLiner.xla trong phần VB có password. mình đã tạo cho nó 1 password mới là " hoang " Anh em hãy dùng password này mở phần VB của nó ra nguyên cứu và chỉnh sữa lại theo ý của mình.
Theo mình thì chỉnh lại làm cho thay đổi màu là dẻ nhìn nhất (màu xanh lá cây đậm nhất có trong dãy màu của excel), bỏ 2 đường gạch chéo đi.
3. Xin các bạn giúp sữa lại file đó (AnhTuan1066 nhớ gốp ý kiến vào nhe) camon.
 
Chỉnh sửa lần cuối bởi điều hành viên:
1. Anh BNTT nói lưu file.xla đề lả add-in cho Execl, nhưng sao mình lam theo, mà chẳn thấy file xla có tác dụng gì cả?

2. File RowLiner.xla trong phần VB có password. mình đã tạo cho nó 1 password mới là " hoang " Anh em hãy dùng password này mở phần VB của nó ra nguyên cứu và chỉnh sữa lại theo ý của mình.
Theo mình thì chỉnh lại làm cho thay đổi màu là dẻ nhìn nhất (màu xanh lá cây đậm nhất có trong dãy màu của excel), bỏ 2 đường gạch chéo đi.
3. Xin các bạn giúp sữa lại file đó (AnhTuan1066 nhớ gốp ý kiến vào nhe) camon.

Bạn mới đọc số 5 à, còn số 6 nữa bạn ơi... Bạn đã kích hoạt cái xla đó vào trong bộ Add-in của Excel chưa ?
 
Bạn mới đọc số 5 à, còn số 6 nữa bạn ơi... Bạn đã kích hoạt cái xla đó vào trong bộ Add-in của Excel chưa ?
Khi chọn luu file .xla thì excel luu theo đường dẫn này:
1.C:\Documents and Settings\user\Application Data\Microsoft\AddIns
và khi mở trang New lên nó vẫn được kích hoạt lên, nhưng tác dụng thì không có.
2.Mình cũng đã cho file .xla chạy nền trước rồi mở 1 file New lên và làm điều kiện vẫn không có tác dụng.
Bạn nói kỹ hơn về cách tạo file .xla nó hoạt động được giúp mình với. Chát với mình nick YM pm.hoang đi nha. thanks ban
 
Em bổ sung thêm tí nữa:
4- Nếu code đã ổn, tạo mới một bảng tính, nhập code vào trong This Workbook
5- Lưu thành file *.xla để làm Add-in cho Excel của mình.
6- Chèn Addin mới tạo này vào trong bộ Addin của Excel.
Bây giờ, để xài cái này, chỉ cần chọn dãy, gọi Conditional Formating ra, nhập công thức vào. Là xài. Khỏi cần làm gì trong Alt-F11 hết.
Tôi thật sự ko nghĩ ra dc cách nào để lưu file Highlight này thành Add-in cả! Vì nó có liên quan đến Conditional Formating
Nếu dùng code để Add CF vào bảng tính thì e rằng ảnh hưởng đến các CF khác
Còn nếu phải làm CF bằng thủ công thì thật sự cái Add-in ấy chẳng đáng đồng tiền tí nào
Các cao thủ nghĩ xem có cách nào ko?
 
Đúng rồi, không thể dùng code để thêm CF vào trong bảng tính.
Ý em tạo thành file *xla chỉ là để đỡ cho cái chuyện phải viết (hoặc copy) cái đoạn code trong VBA mà thôi. Còn tạo CF thì bảng tính nào tạo cho bảng tính đó.
Chứ nếu không, chẳng lẽ muốn xài cái này, thì phải mở VBA ra, viết code, xong mới dùng CF?

Em chỉ nghĩ đơn giản, cái gì tận dụng được thì cứ tận dụng, bác à.
 
Tôi đã tìm ra cách format cái RowLiner 4.0 rồi.
Có thể có nhiều bạn chưa biết cái này. Vậy xin giới thiệu lại ở đây luôn:

Trang web để download: http://www.cpearson.com/Excel/RowLiner.htm

Tuy nhiên, thành thật mà nói, tôi thích cái của AnhTuan1066 hơn.
Bởi vì nó cho tô màu dòng chứa ô hiện hành, và chỉ những ô có dữ liệu thôi.
Còn cái Rowliner này thì nó gạch tuốt hết chiều ngang bảng tính (không đẹp lắm)

Nếu ai còn như cầu về vụ Highlight, ngoài RowLiner các bạn tham khảo thêm Addin GridHighlighter này nhé!
http://www.giaiphapexcel.com/forum/showthread.php?t=4064

Nếu muốn thay đổi kiểu viền và màu của Line thì bấm chuột vào và định dạng bình thường. Đặc biệt cho phép Undo!

Hướng dẫn chi tiết:
http://www.bluesofts.net/Products/AddIns/GridHighLighter/Help/Help.htm
 
Tuấn có thể phát triển cái GridHighlighter này, cho nó tô màu vào hàng được chọn không ? Hiện tại cái của Tuân chỉ kẻ đường (Line) thôi.

Nếu có những tùy chọn như vầy thì càng tốt:
1. Kẻ cả đường dọc và đường ngang
2. Chỉ kẻ đường dọc
3. Chỉ kẻ đường ngang
4. Tô màu cho hàng và cột
5. Chỉ tô màu cho hàng
6. Chỉ tô màu cho cột
v.v...​
 
Tuấn có thể phát triển cái GridHighlighter này, cho nó tô màu vào hàng được chọn không ? Hiện tại cái của Tuân chỉ kẻ đường (Line) thôi.

Nếu có những tùy chọn như vầy thì càng tốt:
1. Kẻ cả đường dọc và đường ngang
2. Chỉ kẻ đường dọc
3. Chỉ kẻ đường ngang
4. Tô màu cho hàng và cột
5. Chỉ tô màu cho hàng
6. Chỉ tô màu cho cột
v.v...​
Tôi nghĩ rất khó đấy! Vì nếu bạn để ý sẽ thấy tô màu line trong chương trình Row Liner và cái của TuanVNUNI thật chất là kẽ 1 đường ngang và dọc bằng Object, giờ bảo chuyển thành tô màu hàng, cột là thay đổi toàn bộ code rồi
 
Tô mầu cho cells thì mình nghĩ thường dùng là condition formating còn dùng để tô màu cho line thì thường dùng textbox hoặc line (Object)
 
Tô mầu cho cells thì mình nghĩ thường dùng là condition formating còn dùng để tô màu cho line thì thường dùng textbox hoặc line (Object)
Ý của BNTT là muốn vừa tô màu giống CF nhưng phải làm cách nào đó lưu dc nó thành 1 Add-ins để khi cần thì gọi ra mà dùng (khỏi cần làm gì cả)
Đại khái giống như chương trình của TuanVNUNI vậy
 
Hiện tại chương trình GridHighlighter làm được những việc mà em bôi đỏ.

Tuấn có thể phát triển cái GridHighlighter này, cho nó tô màu vào hàng được chọn không ? Hiện tại cái của Tuân chỉ kẻ đường (Line) thôi.

Nếu có những tùy chọn như vầy thì càng tốt:
1. Kẻ cả đường dọc và đường ngang
2. Chỉ kẻ đường dọc
3. Chỉ kẻ đường ngang

4. Tô màu cho hàng và cột
5. Chỉ tô màu cho hàng
6. Chỉ tô màu cho cột
v.v...​

Anh vào menu của WINDOWS: Start->All Programs->GridHighlighter chạy chức năng "Tuỳ chọn..."

Việc tô mầu em nghĩ là có thể làm được. Nếu không có gì thay đổi em sẽ có phiên bản mới trong T9.
 
Tại sao mình không tạo ra 1 addin để cài vào excel luôn, vậy ;à ta có thể sử dụng cho tất cả các file excel khác luôn mấy bác nhỉ?, em cũng đang tìm cách tạo ra cái addin đó, nhưng chưa biết tạo như thế nào? thứ nhất nó không phải là hàm, vì ta chỉ cần chọn vào 1 ô bất kỳ tại 1 sheet bất kỳ là nguyên cả dòng đó sẽ được tô màu, hic
 
tô đậm hàng đang chứa ô hiện hành

Dùng Coditional Formating với công thức ROW()=CELL("ROW") là dc (Bấm F9 mổi khi chuyển sang dòng khác)
Nếu muốn tự động thì cho vào sự kiện Selection_Change

Anh Tuan có thể chỉ rõ hơn về vấn đề này được không vì em đã làm theo cách hướng dẫn của anh nhưng nhấn F9 không có tác dụng gì hết trơn đó.
Sự kiện Selection_Change là gì vậy ?
Em đang rất cần làm điều này . tìm mãi mới thấy được cái mình cần nhưng không làm được.
 
Các bạn giúp mình với. Nếu cột A là 1 thi cột C chuyển thành màu đỏ nếu là 2 thi màu xanh, các bạn giúp với nhé.
 
Em cũng có một câu hỏi nhỏ phát triển thêm của việc tô màu chữ trong cell hoặc màu của cell.
Đó là cùng với điều kiện như vậy nhưng nó không chỉ tô màu cho một cell mà nó tô màu cả hàng của cell đó.
VD e có cột A1 chứa ngày tháng, điều kiện e đưa ra là: Nếu một ô nào trong cột A1 bằng ngày hôm nay là tô màu cho cả hàng chứa ô đó.
Cụ thể như bảng sau:
 

File đính kèm

Làm thế nào để tạo sự kiện Selection_Change vậy bạn. Chỉ mình với
 

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

Back
Top Bottom