Dò tìm và tô màu ký tự (1 người xem)

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

anhtuan1066

Thành viên gạo cội
Tham gia
10/3/07
Bài viết
5,802
Được thích
6,913
Nhân có bài viết này:
http://www.giaiphapexcel.com/forum/showthread.php?t=3369&page=125
Hỏi về việc tô màu cho ký tự số, tôi nghĩ ra 1 trò vui gữi tặng các bạn
- Với dử liệu cho trước, các bạn chỉ cần gõ 1 vài ký tự vào TextBox thì lập tức ký tự cần tìm sẽ được Highlight
- Việc tìm kiếm cho phép phân biệt HOA thường hoặc không (tùy thuộc vào CheckBox)
- Tô màu được cả chữ lẩn số

attachment.php


Dù sao cũng chỉ là giải trí chơi, mới các bạn tham khảo. Nếu có thiếu sót, các bạn hãy bổ sung giúp nhé
 

File đính kèm

Code này quá tuyệt luôn! Hay quá bác ơi! Từ trước tới giờ em chưa thấy dòng Private Sub Character_Color(Rng As Range, ByVal Text As String, ByVal MCase As Boolean) này bao giờ cả? Làm sao bác lại nghĩ ra được thế?
Quá tuyệt!
Thân.
 
Upvote 0
Code này quá tuyệt luôn! Hay quá bác ơi! Từ trước tới giờ em chưa thấy dòng Private Sub Character_Color(Rng As Range, ByVal Text As String, ByVal MCase As Boolean) này bao giờ cả? Làm sao bác lại nghĩ ra được thế?
Quá tuyệt!
Thân.
Oh... cái này trên diển đàn người ta vẫn thường xài mà bạn! Sub có tham số ấy mà, gần giống như 1 Function (khác Function ở chổ có thể định dạng cell được)
Chỉ là góp nhặt kiến thức của các cao thủ trên diển đàn thôi (trong đó có bạn đấy)
---------------
Vẫn còn 1 vài chổ trong code chưa hoàn mỹ... các bạn cải tiến giúp nhé
 
Upvote 0
Phân sau thì em hiểu rồi. Nhưng có 1 điều làm em khó hiểu là từ trước tới giờ em viết Sub (có tham số) điều phải cần 1 sub chính (ko có tham số) để chạy kích hoạt. Và code ở trong Sheet không hề có sẳn Private Sub Character_Color(...) như của bác. Vậy tức là nó là do người dùng tự định nghĩa. Vậy làm sao để máy tính hiểu được từ "Character_Color" giống như "Worksheet_Change".
Và nếu nó hiểu được thì mình có thể ghép được bao nhiêu từ Anh văn vào để VBA hiểu mình?
Thân.
 
Upvote 0
Ah, em hiểu rồi! Mới đầu cứ nghĩ nó giống như "Worksheet_Change" chứ! Tưởng lụm được bí kíp rùi.
Nhưng đây cũng là 1 tưởng hay đó. Nếu có thể bổ sung 1 sub (có tham số) vào trong Code của Sheet [Tức là thêm 1 dòng lệnh vào trong vùng Declarations của Sheet] thì mình có thể viết code thoải mái mà không phải thông qua 1 Sub chính điều khiển nào hết!
Bác và em cùng suy nghĩ thêm về ý tưởng này nha!
Thân.
 
Upvote 0
Phân sau thì em hiểu rồi. Nhưng có 1 điều làm em khó hiểu là từ trước tới giờ em viết Sub (có tham số) điều phải cần 1 sub chính (ko có tham số) để chạy kích hoạt. Và code ở trong Sheet không hề có sẳn Private Sub Character_Color(...) như của bác. Vậy tức là nó là do người dùng tự định nghĩa. Vậy làm sao để máy tính hiểu được từ "Character_Color" giống như "Worksheet_Change".
Và nếu nó hiểu được thì mình có thể ghép được bao nhiêu từ Anh văn vào để VBA hiểu mình?
Thân.
Sub này cũng là 1 sub bình thường như bao sub khác (chẳng qua có thêm tham số)
Và bạn muốn đặt nó tên gì cũng được mà (tùy thích, miễn đúng chuẩn)
Và khi ta gọi nó ra làm việc, chỉ cần ghi đầy đủ TÊN và THAM SỐ mà nó hiện có là được rồi!
---------------
Có chăng trong Sub này mà các bạn cần quan tâm, đó là chữ ByVal... Thử xóa ByVal đi, chừa lại tham số thôi xem nó có chạy được không?
Hi... hi...
 
Upvote 0
Vậy mình có thể đặt Code này lên toàn Sheet được phải không ạ, và đặt trước một chuỗi ký tự nào đó mà không thông qua textbox được phải không?

Code này hay quá!
 
Upvote 0
À, và từ code này, mình có thể phát triển thành "Replace" những ký tự nào đó trong chuỗi được phải không các bác!!!???
 
Upvote 0
À, và từ code này, mình có thể phát triển thành "Replace" những ký tự nào đó trong chuỗi được phải không các bác!!!???
Tất nhiên là được
Và nếu là Replace thì đơn giản hơn rất nhiều chứ (vì hàm Replace của VBA gần giống hàm SUBSTITUE của bảng tính thôi)
 
Upvote 0
Vậy mình có thể đặt Code này lên toàn Sheet được phải không ạ, và đặt trước một chuỗi ký tự nào đó mà không thông qua textbox được phải không?

Code này hay quá!
Code hay quá! Không biết bác Nghĩa đã làm được chưa? Nếu được rồi cho e xin code được không, e ko hiểu về VBA nên không biết sửa code
 
Upvote 0

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

Back
Top Bottom