Bật (tắt) chọn dòng khi click chuột 1 ô bất kỳ cột B vùng (B2: B109)

Liên hệ QC

Nguyễn Hồng Quang

Thành viên GPE Hà Nội
Tham gia
8/6/07
Bài viết
1,203
Được thích
876
Giới tính
Nam
Nghề nghiệp
Kế toán
Mình có 1 file excel đang làm phân tích hàng bán, do nhu cầu kiểm tra , đối chiếu nên Trong quá trình làm việc mình có làm 1 code chọn dòng nhanh để khi click chuột chọn 1 ô bất kỳ vùng cột B ( B2 : B109) thì cả dòng đó sẽ được chọn.

Để ngừng hoặc chạy code, mình có đặt dòng Line_1 : Exit Sub ở 2 vị trí trên và dưới cùng của Sub.
Ví dụ khi cần chạy code thì mình vô hiệu hóa dòng Line_1 ở trên, và cho hoạt động dòng Line_1 ở dưới
Và ngược lại khi cần ngừng code thì mình vô hiệu hóa dòng Line_1 ở dưới, và cho hoạt động dòng Line_1 ở trên
Đây là code trong file mình gửi kèm
Mã:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
'+ Close sub them dau ' dong Line_1:Exit Sub tren, xoa dau ' dong Line_1:Exit Sub duoi
'+ Open sub xoa dau ' dong Line_1:Exit Sub tren, them dau ' dong Line_1:Exit Sub duoi
On Error GoTo Line_1
'-----Line_1 tren-----
'Line_1: Exit Sub
Dim Rng As Range, xFind As Range
Dim a As String
If Not Intersect(Range("B2:B109"), Target) Is Nothing Then
a = Selection.Address(RowAbsolute:=False, ColumnAbsolute:=False)
Range("A" & Mid(a, 2, 4)).Resize(1, 29).Select
End If
'-----Line_1 duoi-----
Line_1: Exit Sub
End Sub
Để thay cho việc làm thủ công trên code trên
Mình nhờ các bạn, các anh/chị giúp tạo 2 Button (1 cái bật, 1 cái tắt) để thực hiện việc ngừng hoặc chạy code chọn dòng khi chọn 1 ô bất kỳ trong vùng B (B2:B109)
Xin cảm ơn
 

File đính kèm

  • Chọn 1 ô cột B Selection cả dòng.xlsm
    41.8 KB · Đọc: 6
...Mình nhờ các bạn, các anh/chị giúp tạo 2 Button (1 cái bật, 1 cái tắt)
để thực hiện việc ngừng hoặc chạy code chọn dòng khi chọn 1 ô bất kỳ trong vùng B (B2:B109)...
Thử:
Code trong Module1:
Mã:
Public isSelect As Boolean
Sub Button1_Click()
isSelect = True
End Sub
Sub Button2_Click()
isSelect = False
End Sub
Code trong sheet:
Mã:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)

Dim a As Long
    If isSelect = fasle Then Exit Sub
    If Not Intersect(Range("B2:B109"), Target) Is Nothing Then
    a = Target.Row
    Range("A" & a).Resize(1, 29).Select
    End If

End Sub
 
Upvote 0
Bạn test lại thử
 

File đính kèm

  • Chọn 1 ô cột B Selection cả dòng.xlsm
    38.1 KB · Đọc: 7
Upvote 0
Thử:
Code trong Module1:
Mã:
Public isSelect As Boolean
Sub Button1_Click()
isSelect = True
End Sub
Sub Button2_Click()
isSelect = False
End Sub
Code trong sheet:
Mã:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)

Dim a As Long
    If isSelect = fasle Then Exit Sub
    If Not Intersect(Range("B2:B109"), Target) Is Nothing Then
    a = Target.Row
    Range("A" & a).Resize(1, 29).Select
    End If

End Sub
Em đã đưa các code trên vào các button và trong sheet
Nhưng click vào nút bật chọn dòng thì hình như Code không hoạt động anh à
Em gửi lại file
 

File đính kèm

  • Code Chọn 1 ô cột B Selection cả dòng-.xlsm
    41.3 KB · Đọc: 3
Upvote 0
Đó, tác hại của thiếu Option Explicit đó, cậu download file tui vừa up về, so sánh với file cậu, xem có khác gì không, tại sao bị ?
 
Upvote 0
Web KT
Back
Top Bottom