Chạy 1 dòng code giống nhau tại nhiều cell khác nhau

  • Thread starter Thread starter USB1394
  • Ngày gửi Ngày gửi
Liên hệ QC

USB1394

Thành viên hoạt động
Tham gia
20/12/08
Bài viết
173
Được thích
12
Nghề nghiệp
Lính triều đình
Mình có dòng code gồm 2 hành động : 1. chọn cell 2.mở form . Vấn đề đặt ra là chạy code này tại nhiều cell khác nhau (khoảng 20 cell) vậy mình viết code như thế nào là hiệu quả . Ở đâu mình dùng If ...then làm ví dụ . Mong các bạn cho mình xin code nào đơn giản hơn và hiệu quả hơn . Mong các bạn giúp đỡ ,xin cám ơn +-+-+-++-+-+-++-+-+-+
 

File đính kèm

Như thế này có phải không bạn
 

File đính kèm

Upvote 0
Mình có dòng code gồm 2 hành động : 1. chọn cell 2.mở form . Vấn đề đặt ra là chạy code này tại nhiều cell khác nhau (khoảng 20 cell) vậy mình viết code như thế nào là hiệu quả . Ở đâu mình dùng If ...then làm ví dụ . Mong các bạn cho mình xin code nào đơn giản hơn và hiệu quả hơn . Mong các bạn giúp đỡ ,xin cám ơn +-+-+-++-+-+-++-+-+-+
Bạn chọn các cells (chọn giữ phím Ctrl) tạo cho nó một name, chẳng hạn là GPE, sửa code bạn lại như sau:
Mã:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    Application.EnableEvents = False
    If Target.Count = 1 And Not Intersect(Range("GPE"), Target) Is Nothing And ActiveCell.Offset(-1).Value = vbNullString Then
        ActiveCell.Offset(-1).Select
        UserForm1.Show
    End If
    Application.EnableEvents = True
End Sub
 
Upvote 0
Bạn thử code này. Bao nhiêu mã cũng được, đặt ở bất cứ đâu miễn là nằm trong cột N

Mã:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
On Error Resume Next
Application.ScreenUpdating = False
    With Range([n8], [n65536].End(3)).SpecialCells(2)
        For i = 1 To .Areas.Count
            If Target.Address = .Areas(i)(2, 2).Address Then UserForm1.Show
        Next
    End With
End Sub
 
Lần chỉnh sửa cuối:
Upvote 0
Web KT

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

Back
Top Bottom