Hỏi về nút " CommandButton"

Liên hệ QC

ThichExcel

Thành viên bị đình chỉ hoạt động
Thành viên bị đình chỉ hoạt động
Tham gia
11/10/06
Bài viết
68
Được thích
21
Xin hỏi các bạn vấn đề sau:

Mình vẽ 1 CommandButton sau đó thay = chữ "ok" nhưng mình muốn chèn 1 hình khác như dấu "x" hay "v" thì có được không. Để làm sinh động cho giao diện ý mà.

Hay nếu mở rộng ra thì có thể thay đổi hiệu ứng của các nút không.
Cám ơn các bạn
 
Dĩ nhiên là được rồi, nhưng cũng rất khó đấy.
Mình sưu tầm được code này bạn thử xem nhé.
 

File đính kèm

Upvote 0
Sao mình không Import vào project được sơn ơi, hay là phải thực hiện kỹ thuật gì vậy. Cậu hướng dẫn cụ thể hơn với
Cám ơn bạn rất nhiều
 
Upvote 0
........................................
HieuungNutlenh.jpg


Đây là code viết ở VB. Bạn hãy đọc và hiểu, rồi áp dụng trong VBA.
 
Lần chỉnh sửa cuối:
Upvote 0
Mình cũng mới thực hiện trên VB thôi, chứ VBA thì chưa.
Bạn nên Copy 4 file: chameleonButton.ctl, chameleonButton.ctx, prjChameleon.res và prjChameleon ieHand.res vào một thư mục.
Trong VB, tạo mới 1 dự án
Nhấn Project/ Add file: chameleonButton.ctl và prjChameleon.res vào dự án của bạn.
Bây giờ trên thanh Toolbox xuất hiện một đối tượng mới là chameleonButton. Cách sử dụng nó như một Button.
Nếu bạn muốn thêm các picture vào cho thêm phần sinh động thì chọn nó, nháy kép vào chữ Custom (trên thanh Properies), chọn tiếp tab Picture...
 
Upvote 0
mình cũng có một câu hỏi về command button, khi kéo thả một command button vào trong sheet, và gắn nó với một macro. khi muốn chạy nó pgải dủng chuột để click. trong trường hợp muốn dùng phím tab để di chuyển đến button và kích enter thì không thể được (tức là không dùng chuột). có ai có ý tưởng hoặc đã từng làm được không ?

Xin cảm ơn !
 
Upvote 0
mình cũng có một câu hỏi về command button, khi kéo thả một command button vào trong sheet, và gắn nó với một macro. khi muốn chạy nó pgải dủng chuột để click. trong trường hợp muốn dùng phím tab để di chuyển đến button và kích enter thì không thể được (tức là không dùng chuột). có ai có ý tưởng hoặc đã từng làm được không ?

Xin cảm ơn !
Vậy thay vì bấm Button, bạn gán cho macro 1 tổ hợp phím tắt.. bấm vào nó chạy luôn... khỏi nhấn nút, khỏe re
ANH TUẤN
 
Upvote 0
Mình cũng mới thực hiện trên VB thôi, chứ VBA thì chưa.
Bạn nên Copy 4 file: chameleonButton.ctl, chameleonButton.ctx, prjChameleon.res và prjChameleon ieHand.res vào một thư mục.
Trong VB, tạo mới 1 dự án
Nhấn Project/ Add file: chameleonButton.ctl và prjChameleon.res vào dự án của bạn.
Bây giờ trên thanh Toolbox xuất hiện một đối tượng mới là chameleonButton. Cách sử dụng nó như một Button.
Nếu bạn muốn thêm các picture vào cho thêm phần sinh động thì chọn nó, nháy kép vào chữ Custom (trên thanh Properies), chọn tiếp tab Picture...

Chameleon Button phiên bản có Source là v2.0.6 B tồn tại cách đây từ nhiều năm rồi. Đây là Button tương đối nổi tiếng của Gonchuki. Tuy nhiên, tác giả đã đưa các phiên bản tiếp theo vào kinh doanh chứ ko còn Free Source nữa. Và chính tác giả công bố là phiên bản 2.0.6 trở về trước là có lỗi về Memory và chỉ có các phiên bản tiếp theo (Commercial version) mới khắc phục được lỗi đó.

Chính vì thế, nếu sử dụng code cũ mà ko thay đổi gì thì khả năng rất cao là xảy ra leak memory khi có nhiều buttons được sử dụng trong Project.

Lavolpe Button cũng là 1 button khá nổi tiếng, tuy nhiên chính tác giả cũng nói là hiện lavolpe button cũng bị những nhược điểm đó và hiện đã có dự án nâng cấp toàn bộ button đó (phải nói là cực kỳ hay). Chỉ có điều, tác giả đó ko tập chung phát triển cho nên...chả biết bao giờ mới có phiên bản mới đó.

Take care & Regards,
 
Lần chỉnh sửa cuối:
Upvote 0
Vậy thay vì bấm Button, bạn gán cho macro 1 tổ hợp phím tắt.. bấm vào nó chạy luôn... khỏi nhấn nút, khỏe re
ANH TUẤN

Đúng là như thế thì đơn giản thật, nhưng lại không đúng yêu cầu của bài toán. Thật ra tôi làm một form nhập liệu ở ngay trong sheet cua excel, lợi dụng một vài cell để làm textbox, chỉ có button là phải kéo thả vào. để nhập liệu cho nhanh bằng bàn phím thì dùng phím tab chuyển qua lại, tuy nhiên phím tab lại không focus lên command button được. nên mới hỏi mọi người có cách nào không.
 
Upvote 0
Bacden dùng thử sự kiện Keydown của Texhbox cuối, gán focus cho command button. Sau đó dùng sự kiện keydown của Commandbutton chạy code Cmd_Click


PHP:
Private Sub TextBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = 9 Then
Sheet1.CommandButton1.Activate
End If
End Sub

PHP:
Private Sub CommandButton1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = 9 Then
CommandButton1_Click
End If
End Sub
9 là vbkeyTab, nhấn tab 2 lần sẽ thấy hiệu quả.
 
Lần chỉnh sửa cuối:
Upvote 0
Bacden dùng thử sự kiện Keydown của Texhbox cuối, gán focus cho command button. Sau đó dùng sự kiện keydown của Commandbutton chạy code Cmd_Click


PHP:
Private Sub TextBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = 9 Then
Sheet1.CommandButton1.Activate
End If
End Sub
PHP:
Private Sub CommandButton1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = 9 Then
CommandButton1_Click
End If
End Sub
9 là vbkeyTab, nhấn tab 2 lần sẽ thấy hiệu quả.

OK rồi cảm ơn bạn nhé ! bạn gợi ý rất thông minh, mình không nghĩ ra, vì mình không dùng textbox mà thay vào đó là dùng cell nên không có sự kiện onkeydown. tuy nhiên có thể làm tương tự như sau:
giả sử ta có 2 cell a1 và b1 dùng làm textbox button nằm ở cell (c1)

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Row = 1 And Target.Column = 3 Then
CommandButton1.Activate
End If
End Sub

Sau khi su ly xong thi cho focus quay ve cell dau tien :)
Private Sub CommandButton1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
lam cai gi do
cells(1,1).Activate
End Sub

Thanks again !
 
Upvote 0
Web KT

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

Back
Top Bottom