Gán phím enter vào để chạy 1 macro

qwertyuiopasdfghjkl

Thành viên bị đình chỉ hoạt động
Thành viên bị đình chỉ hoạt động
Tham gia ngày
28 Tháng mười 2012
Bài viết
35
Được thích
0
Điểm
0
Tuổi
30
Private Sub WorkSheet_Change(byVal Target as Range)
If Not Intersect(Target,[A1]) Is Nothing Then
'Code here
End If
End Sub

Đoạn code trên là chỉ khi nào thay đổi dữ liệu tại ô A1 hoặc nhập liệu thì nhấn Enter code mới chạy, còn mình muốn nếu điểm chọn là ô A1 mà mình chỉ cần nhấn enter là chạy code (không có sự thay đổi dữ liệu nào tại ô mình chọn). Ai rành VBA giúp mình với đang cần gấp
 

quanghai1969

Thành viên gạo cội
Tham gia ngày
21 Tháng hai 2009
Bài viết
5,702
Được thích
7,229
Điểm
860
Nơi ở
Thuận An, Bình Dương
Private Sub WorkSheet_Change(byVal Target as Range)
If Not Intersect(Target,[A1]) Is Nothing Then
'Code here
End If
End Sub

Đoạn code trên là chỉ khi nào thay đổi dữ liệu tại ô A1 hoặc nhập liệu thì nhấn Enter code mới chạy, còn mình muốn nếu điểm chọn là ô A1 mà mình chỉ cần nhấn enter là chạy code (không có sự thay đổi dữ liệu nào tại ô mình chọn). Ai rành VBA giúp mình với đang cần gấp
Tạo 1 macro có tên là "abc" trong 1 module
Trong sheet cho code này vào. Chú ý code chỉ có tác dụng khi nhấn phím ENTER trong bộ phím số bên trái
PHP:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Address = "$A$1" Then
   Application.OnKey "{ENTER}", "abc"
Else
   Application.OnKey "{ENTER}"
End If
End Sub
 

Ngoai Thanh

Cánh Diều xanh
Tham gia ngày
14 Tháng sáu 2012
Bài viết
823
Được thích
905
Điểm
560
Private Sub WorkSheet_Change(byVal Target as Range)
If Not Intersect(Target,[A1]) Is Nothing Then
'Code here
End If
End Sub

Đoạn code trên là chỉ khi nào thay đổi dữ liệu tại ô A1 hoặc nhập liệu thì nhấn Enter code mới chạy, còn mình muốn nếu điểm chọn là ô A1 mà mình chỉ cần nhấn enter là chạy code (không có sự thay đổi dữ liệu nào tại ô mình chọn). Ai rành VBA giúp mình với đang cần gấp
Bạn thử sửa code như sau xem :

Private Sub WorkSheet_selectionChange(byVal Target as Range)
If Not Intersect(Target,[A2]) Is Nothing Then
'Code here
End If
End Sub
 

chuot0106

Thành viên gắn bó
Tham gia ngày
20 Tháng một 2013
Bài viết
2,571
Được thích
1,670
Điểm
560
Tuổi
35
Nơi ở
Hạ Long - Tỉnh Quảng Ninh

SA_DQ

/(hông là gì!
Thành viên danh dự
Tham gia ngày
8 Tháng sáu 2006
Bài viết
11,605
Được thích
17,584
Điểm
1,860
Mình thì thấy rằng xài fím {ENTER} để chạy macro thì hơn lãng fí!

Làm như vậy fím {ENTER} dễ bị hư đấy!
 

Ngoai Thanh

Cánh Diều xanh
Tham gia ngày
14 Tháng sáu 2012
Bài viết
823
Được thích
905
Điểm
560
Mình thì thấy rằng xài fím {ENTER} để chạy macro thì hơn lãng fí!

Làm như vậy fím {ENTER} dễ bị hư đấy!
Thực ra bạn ấy nhờ giúp thì làm theo yêu cầu thôi mà thày . Nhà em một lần giúp một bạn đưa máy xuống tàu bằng cái phím này ( lúc chưa hiểu thì thấy kì quá ) . Sau bạn ấy phân bua rằng do sóng lớn nên việc dùng chuột rất khó và thiếu chính xác . Nghĩ lại , chính mình không hiểu lại cho người ta là kỳ .
 

SA_DQ

/(hông là gì!
Thành viên danh dự
Tham gia ngày
8 Tháng sáu 2006
Bài viết
11,605
Được thích
17,584
Điểm
1,860
Ý là fím {ENTER} bị xài quá nhiều rồi;
Người Việt ta ít xài các fím {F}, {J}, {W} & {Z}; Nên chăng chú trọng gán cho các fím này!

Ông bà mình nói xấu đều còn hơn tốt lõi mà!

Chúc Ngày cuối tuần vui vẻ!
 

Ngoai Thanh

Cánh Diều xanh
Tham gia ngày
14 Tháng sáu 2012
Bài viết
823
Được thích
905
Điểm
560
Ý là fím {ENTER} bị xài quá nhiều rồi;
Người Việt ta ít xài các fím {F}, {J}, {W} & {Z}; Nên chăng chú trọng gán cho các fím này!

Ông bà mình nói xấu đều còn hơn tốt lõi mà!

Chúc Ngày cuối tuần vui vẻ!
Chắc là do thói quen thôi mà thày ! cũng như hút thuốc lá , biết hại nhưng vẫn hút, mà còn thấy hay nữa .
 

qwertyuiopasdfghjkl

Thành viên bị đình chỉ hoạt động
Thành viên bị đình chỉ hoạt động
Tham gia ngày
28 Tháng mười 2012
Bài viết
35
Được thích
0
Điểm
0
Tuổi
30
Tạo 1 macro có tên là "abc" trong 1 module
Trong sheet cho code này vào. Chú ý code chỉ có tác dụng khi nhấn phím ENTER trong bộ phím số bên trái
PHP:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Address = "$A$1" Then
   Application.OnKey "{ENTER}", "abc"
Else
   Application.OnKey "{ENTER}"
End If
End Sub
Ok mình làm được rồi rất chân thành cảm ơn bạn. Cho mình thêm 1 câu này nữa. Mình muốn cứ 5 phút Excel tự động lưu đè 1 lần ( giống như nhấn Ctrl + S ) lưu ý là lưu đè chứ không phải vào Tools / save / save autorecover gõ số 5 vào.
 

qwertyuiopasdfghjkl

Thành viên bị đình chỉ hoạt động
Thành viên bị đình chỉ hoạt động
Tham gia ngày
28 Tháng mười 2012
Bài viết
35
Được thích
0
Điểm
0
Tuổi
30
ok mình làm được rồi cảm ơn bạn nhiều
 

quanghai1969

Thành viên gạo cội
Tham gia ngày
21 Tháng hai 2009
Bài viết
5,702
Được thích
7,229
Điểm
860
Nơi ở
Thuận An, Bình Dương
Ok mình làm được rồi rất chân thành cảm ơn bạn. Cho mình thêm 1 câu này nữa. Mình muốn cứ 5 phút Excel tự động lưu đè 1 lần ( giống như nhấn Ctrl + S ) lưu ý là lưu đè chứ không phải vào Tools / save / save autorecover gõ số 5 vào.
Xem code mẫu trong file rồi chế tác lại cho phù hợp
Muốn 5 phút lưu file thì sửa lại chỗ này: ("00:05:00")
 

File đính kèm

qwertyuiopasdfghjkl

Thành viên bị đình chỉ hoạt động
Thành viên bị đình chỉ hoạt động
Tham gia ngày
28 Tháng mười 2012
Bài viết
35
Được thích
0
Điểm
0
Tuổi
30
Ok em cảm ơn anh. Anh ơi cái Code lúc nảy gán phím enter vào để chạy Macro em làm được rồi nhưng làm sao ghép với 1 đoạn code sau khi nhập liệu trong Combobox Cotrol nếu nhấn Enter thì điểm chọn sẽ xuống 1 ô cho trước

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Address = "$E$5" Then
ComboBox1.Visible = True
ComboBox1.Activate
Else
If ComboBox1.Visible = True Then
ComboBox1.Visible = False
End If
End If
End Sub
Private Sub ComboBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = 13 Then Range("E6").Select
End Sub

E5 : dia chi cua Combobox
E6 : dia chi sau khi nhấn enter thì điểm chọn là E6

Em có gửi File Excel anh làm giúp em . Xin cảm ơn anh nhiều.
 

File đính kèm

ndu96081631

Huyền thoại GPE
Thành viên BQT
Super Moderator
Tham gia ngày
5 Tháng sáu 2008
Bài viết
30,502
Được thích
53,172
Điểm
11,910
Cho mình thêm 1 câu này nữa. Mình muốn cứ 5 phút Excel tự động lưu đè 1 lần ( giống như nhấn Ctrl + S ) lưu ý là lưu đè chứ không phải vào Tools / save / save autorecover gõ số 5 vào.
Câu hỏi không liên quan đến chủ đề topic nhé!
Nếu bạn không có câu nào liên quan đến chủ đề GÁN PHÍM ENTER thì tôi sẽ đóng topic đấy
 

qwertyuiopasdfghjkl

Thành viên bị đình chỉ hoạt động
Thành viên bị đình chỉ hoạt động
Tham gia ngày
28 Tháng mười 2012
Bài viết
35
Được thích
0
Điểm
0
Tuổi
30
Trời ơi ai biết giúp tôi, Tôi không viết là bây giờ hỏi ở đâu nữa.
- Hôm qua tôi hỏi về làm sao nhấn Enter để thoát Combobox
- Bây giờ tôi hỏi về làm sao nhấn Entet để chạy 1 macro
Anh em chỉ tôi 2 cái ở trên rồi. Giờ ghép lại không giúp thì coi như " Muối bỏ biển "
Bây giờ tôi muốn ghép 2 đoạn code này lại. làm ơn làm phước giúp tôi
 

SA_DQ

/(hông là gì!
Thành viên danh dự
Tham gia ngày
8 Tháng sáu 2006
Bài viết
11,605
Được thích
17,584
Điểm
1,860
Bạn có thể cho biết lí do vì sao bạn cứ fải chọn fím {ENTER} cho macro thân thương của bạn được không?

Trên bàn fím còn rất nhiều những fím ưa nhìn khác nữa mà (?)

Nếu bạn không nói rõ lí do thì ta nên dừng ở đây sẽ tốt hơn!
 

VetMini

Chuyên gia GPE
Tham gia ngày
21 Tháng mười hai 2012
Bài viết
9,516
Được thích
11,399
Điểm
1,560
Thực ra bạn ấy nhờ giúp thì làm theo yêu cầu thôi mà thày . Nhà em một lần giúp một bạn đưa máy xuống tàu bằng cái phím này ( lúc chưa hiểu thì thấy kì quá ) . Sau bạn ấy phân bua rằng do sóng lớn nên việc dùng chuột rất khó và thiếu chính xác . Nghĩ lại , chính mình không hiểu lại cho người ta là kỳ .
Tôi cũng đã từng theo dõi code người ta chạy trên tàu, trên máy bay, trực thăng rồi. Cũng chưa thấy ai đòi hỏi dùng phím {enter}.
Người ta chọn một tổ hợp thuận tiện, Ctrl + gì đó (hoặc Alt, Win). Vừa dễ dàng, vừa an toàn.
Chọn {enter} là cách chọn rắc rối nhất. Nếu bạn để ý sẽ thấy bài giải dùng ô kế tiếp để xác định, [a1] + enter -> [a2]. Nhỡ người ta dùng phím mũi tên, phím tab thì sao?
 

SA_DQ

/(hông là gì!
Thành viên danh dự
Tham gia ngày
8 Tháng sáu 2006
Bài viết
11,605
Được thích
17,584
Điểm
1,860
Bộ Luật Hình sự có điều khoản "Thấy người khác sắp nguy hại đến tính mạng mà không cảnh báo" có thể bị fáp luất xử đó nha!
 

Ngoai Thanh

Cánh Diều xanh
Tham gia ngày
14 Tháng sáu 2012
Bài viết
823
Được thích
905
Điểm
560
Tôi cũng đã từng theo dõi code người ta chạy trên tàu, trên máy bay, trực thăng rồi. Cũng chưa thấy ai đòi hỏi dùng phím {enter}.
Người ta chọn một tổ hợp thuận tiện, Ctrl + gì đó (hoặc Alt, Win). Vừa dễ dàng, vừa an toàn.
Chọn {enter} là cách chọn rắc rối nhất. Nếu bạn để ý sẽ thấy bài giải dùng ô kế tiếp để xác định, [a1] + enter -> [a2]. Nhỡ người ta dùng phím mũi tên, phím tab thì sao?
Bạn lại không xem kỹ rồi . Tôi nói " một lần giúp một bạn đưa máy xuống tàu bằng cái phím này ( lúc chưa hiểu thì thấy kì quá ) . Họ yêu cầu thì giúp , hỏi họ bảo "do sóng lớn nên việc dùng chuột rất khó và thiếu chính xác " . Còn "nhỡ" thì họ chịu chứ sao nữa .
 
Top Bottom