Bắt sự kiện dùng phím CTRL trong MACRO 4( hoặc VBA)

Liên hệ QC

thanlong882

Thành viên mới
Tham gia
7/9/10
Bài viết
23
Được thích
2
Chào mọi người mình có 1 vấn đề cần mọi người chỉ giáo giúp?
- Mình dùng phím CTRL chon 1 số ô trong excel xong mình muốn hiển thị số ô mà mình vừa chọn ra có đc không? và làm như thế nào nhỉ ?

Mong mọi người chỉ giáo giúp!
 
Chào mọi người mình có 1 vấn đề cần mọi người chỉ giáo giúp?
- Mình dùng phím CTRL chon 1 số ô trong excel xong mình muốn hiển thị số ô mà mình vừa chọn ra có đc không? và làm như thế nào nhỉ ?

Mong mọi người chỉ giáo giúp!
Bạn xem file này có đúng ý bạn không nha
 

File đính kèm

  • AutoScreenRecorder_01 Jul. 30 09.02_0.rar
    1 MB · Đọc: 98
Cảm ơn anh rất nhiều nhưng vẫn chưa phải vấn đề của em anh ạ
Vấn đề là mình chon nhiều Cell khi mình dùng phím Ctrl ( giữ phím Ctrl và chọn những Cell mình thích).
Vậy thì viết 1 đoạn Code như thế nào để nó bắt đc sự kiện này và trả về giá trị là các số Cell mình chọn là bn ạ

Thank anh nhiều.
 
Cảm ơn anh rất nhiều nhưng vẫn chưa phải vấn đề của em anh ạ
Vấn đề là mình chon nhiều Cell khi mình dùng phím Ctrl ( giữ phím Ctrl và chọn những Cell mình thích).
Vậy thì viết 1 đoạn Code như thế nào để nó bắt đc sự kiện này và trả về giá trị là các số Cell mình chọn là bn ạ

Thank anh nhiều.
- Vấn đề là bắt phím Ctrl để làm cái gì?
- Vấn đề là mục đích cuối cùng của bạn là gì?
Nếu muốn biết mình đã chọn những gì thì trong Excel đã có sẵn sự kiện SelectionChange rồi còn gì
 
bạn thử xem lại file nè xem sao? còn không bạn phải nói rõ ràng ra chứ như vậy mọi người không hiểu được ý bạn đâu.
- Vấn đề là bắt phím Ctrl để làm cái gì?
- Vấn đề là mục đích cuối cùng của bạn là gì?
 

File đính kèm

  • Macro.xls
    20.5 KB · Đọc: 41
Nguyên văn bởi thanlong882
Vấn đề là mình chon nhiều Cell khi mình dùng phím Ctrl ( giữ phím Ctrl và chọn những Cell mình thích).
Vậy thì viết 1 đoạn Code như thế nào để nó bắt đc sự kiện này và trả về giá trị là các số Cell mình chọn là bn ạ
Nếu chỉ yêu cầu thế này thì đoạn code như sau:
Mã:
 Range("F4,F5,F6,F7,F8,F9,F10").Select
 Range("F10").Activate
 
Xin chào mọi người mình xin đưa ra hình ảnh minh họa như hình sau :
Cac bạn thấy khi giữ phím Ctrl và dùng chuột đánh dấu các cell như ở côt G vậy thì số cell đc chọ sẽ là bào nhiêu để in ra ô mình đánh dấu kia?
Vấn đề là khi mình chọn xong như trên mình chạy lệnh (có thể viết bằng VBA hoặc Macro 4 thì càng tốt) sẽ trả lại số cell đc chọn trên ô đánh dấu
Thank all,
ctrl.JPG
 
Xin chào mọi người mình xin đưa ra hình ảnh minh họa như hình sau :
Cac bạn thấy khi giữ phím Ctrl và dùng chuột đánh dấu các cell như ở côt G vậy thì số cell đc chọ sẽ là bào nhiêu để in ra ô mình đánh dấu kia?
Vấn đề là khi mình chọn xong như trên mình chạy lệnh (có thể viết bằng VBA hoặc Macro 4 thì càng tốt) sẽ trả lại số cell đc chọn trên ô đánh dấu
Thank all,
Quá đơn giản!
Như tôi đã nói ở trên: Dùng sự kiện SelectionChange. Cụ thể như sau:
PHP:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
  Range("B3") = Target.Cells.Count
End Sub
 
Quá đơn giản!
Như tôi đã nói ở trên: Dùng sự kiện SelectionChange. Cụ thể như sau:
PHP:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
  Range("B3") = Target.Cells.Count
End Sub
Nếu chọn trúng ô hoặc vùng đã chọn trước rồi thì ô (vùng đó lại được cộng vào) thành ra kết quả sai trật lất, phải thêm Dic vào thôi!
Mà mình thấy Range("B3") = Target.Cells.Count có khác gì Range("B3") = Target.Count đâu há, Chỉ là để tường minh thôi phải ko?
 
Lần chỉnh sửa cuối:
Nếu chọn trúng ô hoặc vùng đã chọn trước rồi thì ô (vùng đó lại được cộng vào) thành ra kết quả sai trật lất, phải thêm Dic vào thôi!
Mà mình thấy Range("B3") = Target.Cells.Count có khác gì Range("B3") = Target.Count đâu há, Chỉ là để tường minh thôi phải ko?
Chỉ là ví dụ thôi mà anh!
Ví dụ để cho tác giả thấy rằng việc đặt vấn đề bẫy phím Ctrl là không cần thiết
Còn bài toán cụ thế của tác giả thế nào, lúc đó mới tính chi tiết
 
Thank các anh rất nhiều, em hỏi có mục đích cả mà. Em đang viết 1 số đoạn Code bằng Macro4 nhưng chưa biết sự kiện đó như thế nào nên muốn hỏi các bác để so sánh chút thôi.
Vấn đề là khi dùng Ctrl mình trả lại đc số cell đc chọn vậy có thê trả lại dữ liệu chứa trong các cell đó không ? các bác cho 1 ví dụ để em dễ view?
Ví dụ như dùng Ctrl chọn 1 số giá trị ở cột C và in các giá trị đó sang cột D chẳng hạn?( các bác viết bằng Macro 4 thì càng tốt)
Thank các bác!
 
Thank các anh rất nhiều, em hỏi có mục đích cả mà. Em đang viết 1 số đoạn Code bằng Macro4 nhưng chưa biết sự kiện đó như thế nào nên muốn hỏi các bác để so sánh chút thôi.
Vấn đề là khi dùng Ctrl mình trả lại đc số cell đc chọn vậy có thê trả lại dữ liệu chứa trong các cell đó không ? các bác cho 1 ví dụ để em dễ view?
Ví dụ như dùng Ctrl chọn 1 số giá trị ở cột C và in các giá trị đó sang cột D chẳng hạn?( các bác viết bằng Macro 4 thì càng tốt)
Thank các bác!
Bạn muốn kết quả như thế nào đây? Hay nói đúng hơn là bạn muốn đặt kết quả vào đâu? Vì nhiều cell cùng chọn thì đương nhiên kết quả sẽ bao gồm nhiều phần tử
Nói chung là dùng vòng lập For.. Next qua Selection là ra tất tần tật
 
Anh có thể viết 1 đoạn code hiển thị kết quả như sau khi dùng Ctrl không ạ ?Em xin cảm ơn?
vi du ctrl.JPG
 
Anh có thể viết 1 đoạn code hiển thị kết quả như sau khi dùng Ctrl không ạ ?Em xin cảm ơn?
View attachment 68898
Code theo ví dụ của bạn như sau:
PHP:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
  Dim SelRng As Range
  On Error GoTo ExitSub
  If Not Intersect(Range("E4:E19"), Target) Is Nothing Then
    With Range("C4:C19")
      .ClearContents
      Set SelRng = Intersect(.Offset(, 2), Target)
      Intersect(SelRng.EntireRow, .Cells).Value = "=RC[2]"
      .Value = .Value
    End With
  End If
ExitSub:
End Sub
 
Web KT
Back
Top Bottom