một cách highlight đơn giản (1 người xem)

Liên hệ QC

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

jack nt

Thành viên thường trực
Tham gia
23/12/07
Bài viết
304
Được thích
208

File đính kèm

cách đây vài năm tui có giới thiệu một cách highlight đơn giản
http://www.giaiphapexcel.com/forum/...giúp-đỡ-thêm-về-HighLight&p=558618#post558618
nay viết lại dạng class nên có thể tác động lên sheet bất kỳ đang mở (xem hướng dẫn trong file đính kèm)
P/S: nếu thích có thể lưu dạng addin.

Lúc trước cũng có nghĩ qua cách này nhưng vẫn còn một chỗ bất tiện: Bằng cách nào đó, ta phải làm "ép" người dùng không Select được đoạn thẳng kia, nếu không người ta vô tình chọn vào rồi bấm phím Delete thì cũng.. đi tong
Hoặc nếu không thể khống chế việc Select thì ta phải tính cách khác, chẳng hạn nếu phát hiện đoạn thẳng không tồn tại thì lập tức code VBA phải tạo ra đoạn thẳng ấy
Một vài góp ý nhỏ
 
Upvote 0
Lúc trước cũng có nghĩ qua cách này nhưng vẫn còn một chỗ bất tiện: Bằng cách nào đó, ta phải làm "ép" người dùng không Select được đoạn thẳng kia, nếu không người ta vô tình chọn vào rồi bấm phím Delete thì cũng.. đi tong
Hoặc nếu không thể khống chế việc Select thì ta phải tính cách khác, chẳng hạn nếu phát hiện đoạn thẳng không tồn tại thì lập tức code VBA phải tạo ra đoạn thẳng ấy
Một vài góp ý nhỏ
Đúng như bác nói, khi người dùng chọn đoạn thẳng và thay đổi kích thước, vị trí...(Có thể do vô tình hay cố ý) thì đoạn thẳng chạy trật lất. Mình có tham khảo một số cách (Định đưa vào Add-Ins) nhưng không cách nào mình vừa ý cả. Bác Ndu hình như có làm một số cái (dùng Conditional Formatting), nhưng mình cũng không ưng ý được cái nào. Không biết bác Ndu có cách nào hay hơn không vậy?
 
Upvote 0
cách đây vài năm tui có giới thiệu một cách highlight đơn giản
http://www.giaiphapexcel.com/forum/...giúp-đỡ-thêm-về-HighLight&p=558618#post558618
nay viết lại dạng class nên có thể tác động lên sheet bất kỳ đang mở (xem hướng dẫn trong file đính kèm)
P/S: nếu thích có thể lưu dạng addin.
File của bạn cũng hay, nó được đánh giá cao ở việc dùng Class, nhưng bạn thử tham khảo file này xem sao:

http://www.giaiphapexcel.com/forum/...-tạo-hiệu-ứng-trong-Excel&p=527328#post527328

Nó không cần phải select gì cả, chỉ rê chuột tới đâu là Highlight đến đó.

Chỉ là tham khảo, vì mỗi file có một tác dụng riêng biệt. Hy vọng các bạn có nhiều chia sẻ hơn nữa!
 

File đính kèm

Upvote 0
Lúc trước cũng có nghĩ qua cách này nhưng vẫn còn một chỗ bất tiện: Bằng cách nào đó, ta phải làm "ép" người dùng không Select được đoạn thẳng kia, nếu không người ta vô tình chọn vào rồi bấm phím Delete thì cũng.. đi tong
Hoặc nếu không thể khống chế việc Select thì ta phải tính cách khác, chẳng hạn nếu phát hiện đoạn thẳng không tồn tại thì lập tức code VBA phải tạo ra đoạn thẳng ấy
Một vài góp ý nhỏ
Nhân tiện bài này em định làm một cái Shape dạng Transparent, rê chuột đến đâu thì bao qua hàng đó, kích thước bằng với chiều cao của hàng, tuy nhiên cái vướng là làm sao select được vào cái ô cần mình muốn trỏ vô.
 
Upvote 0
tuy nhiên cái vướng là làm sao select được vào cái ô cần mình muốn trỏ vô.

Gì kỳ vậy?
Code hoành tráng thế, tô màu được mà không không select được? Hỏi vô lý nha!
------------------------------------------------------
Không biết bác Ndu có cách nào hay hơn không vậy?
Lúc trước cũng khoái mấy cái này nhưng giờ.. chán rồi --=0
 
Upvote 0
Gì kỳ vậy?
Code hoành tráng thế, tô màu được mà không không select được? Hỏi vô lý nha!

Ý em là mình rê con trỏ đến đâu thì cái shape màu nhạt nhưng trong suốt đó nó bao ngay cái ô mình rê qua, nhưng làm sao mà chọn một ô nào đó mà không vướng cái shape này, và khi tác động trên ô đó cái shape vẫn nằm tại ô đó đấy mà.

Nhưng tại cũng làm biếng với cái này rồi, có khi cũng nghiên cứu thêm cho cái shape nó có sự kiện MouseDown và MouseUp, khi Down thì em đó lặn và chọn cell, khi Up em đó hiện lại và như thế nó vẫn nằm trên cái ô.

Mà thôi, rối rắm mà không dùng nhiều, phàm cái gì khó quá thì bỏ qua.+-+-+-+
 
Upvote 0
Lúc trước cũng có nghĩ qua cách này nhưng vẫn còn một chỗ bất tiện: Bằng cách nào đó, ta phải làm "ép" người dùng không Select được đoạn thẳng kia, nếu không người ta vô tình chọn vào rồi bấm phím Delete thì cũng.. đi tong
Hoặc nếu không thể khống chế việc Select thì ta phải tính cách khác, chẳng hạn nếu phát hiện đoạn thẳng không tồn tại thì lập tức code VBA phải tạo ra đoạn thẳng ấy
Một vài góp ý nhỏ
1/ muốn không cho select thì protect sheet.
2/ việc có đoạn thẳng hay không chính là dấu hiệu cho biết có xài highlight hay không.
3/ lỡ delete thì chèn lại.
 
Upvote 0
1/ muốn không cho select thì protect sheet.
2/ việc có đoạn thẳng hay không chính là dấu hiệu cho biết có xài highlight hay không.
3/ lỡ delete thì chèn lại.
Nhưng người dùng không biết cách chèn đâu (họ không biết đoạn thẳng mình nhìn thấy là gì nửa), có cách nào như bác ndu nói là phải kiểm tra nếu chưa có thì tự động thêm vào, nếu lỡ thay đổi kích thước, hay vị trí thì mình cập nhật lại...
 
Upvote 0
Một cách high light (nâng cao)

Nhưng người dùng không biết cách chèn đâu (họ không biết đoạn thẳng mình nhìn thấy là gì nửa)
có một cách chèn đơn giản là copy/paste
giời ạ! tiêu đề là "một cách đơn giản ..." mà. tui chỉ nêu ý chính rồi các bạn tự thêm thắt vào.
có cách nào như bác ndu nói là phải kiểm tra nếu chưa có thì tự động thêm vào, nếu lỡ thay đổi kích thước, hay vị trí thì mình cập nhật lại...
có chứ, thế này thì phải bổ sung code rồi, chỉ sợ không còn đơn giản nữa (nên phải sửa lại chủ đề)
P/S: vui lòng xem hướng dẫn trong file đính kèm
phải làm cầu kỳ như trong file mới là để tôn trọng quyền nói KHÔNG của người dùng. không dám tự tiện chèn vào sheet của người ta đâu.
 

File đính kèm

Upvote 0
Web KT

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

Back
Top Bottom