Có thể đơn giản 2 Private Sub sau hơn được không? (1 người xem)

Liên hệ QC

Người dùng đang xem chủ đề này

phucbugis

Thành viên tích cực
Tham gia
22/6/13
Bài viết
1,270
Được thích
981
Trong file mình dùng có rất nhiều trường hợp này mà chưa biết sao rút gọn hơn?
'#1:
Private Sub Workbook_SheetSelectionChange(ByVal sh As Object, ByVal Target As Range)
n = ActiveSheet.Name
If n <> "Sheet1" And _
n <> "SBS" And _
n <> "Danhsach_C" And _
n <> "theodoino" And _
n <> "Chitiettinhluong" And _
n <> "dieukiennho" Then
'Call ...
End If
End Sub
'#2
Private Sub Workbook_SheetDeactivate(ByVal sh As Object)
n = ActiveSheet.Name
If n = "Sheet1" Or _
n <> "SBS" Or _
n <> "Danhsach_C" Or _
n <> "Chitiettinhluong" Then
'Call ...
End If
End Sub

Thanks ! !$@!!
 
Ví dụ thế này

Mã:
Private Sub Workbook_SheetSelectionChange(ByVal sh As Object, ByVal Target As Range)
n = ActiveSheet.Name
If InStr(1, "Sheet1,SBS,Danhsach_C,theodoino,Chitiettinhluong,dieukiennho", n) = 0 Then 'call
End Sub
'----------------------------------------
Private Sub Workbook_SheetDeactivate(ByVal sh As Object)
n = ActiveSheet.Name
If InStr(1, "Sheet1,SBS,Danhsach_C,Chitiettinhluong", n) = 0 Then 'Call ...
End Sub
 
Upvote 0
Nếu số lượng sheet lên đến khoảng 20 thì dùng If, Select Case thì hơi vất vả nhỉ. !$@!!
Đối với các Sub có liên qua đến activesheet.name mình hay dùng cách sau để đơn giản hơn rất nhiều. Đó là dựa vào Range trong sheet để check tên activesheet có trong danh sách ko?
#1
Dùng hàm Countif đối với cell C3, nếu = 1 -> Call ...
#1.jpg

#2: Quản lý việc call nhiều Sub nhỏ thành 1 Sub tổng
Dùng hàm Vlookup đối với cell D3.
Dùng Application.Run Range("D3").value trong Sub tổng
#2.jpg

%#^#$
 
Upvote 0
Mưa, tham gia cho đỡ buồn!

[thongBao]Nếu số lượng sheet lên đến khoảng 20 thì dùng If, Select Case thì hơi vất vả nhỉ. !$@!!
[/thongBao]

Một cách khác, bạn gán 1 chữ cái nào đó có/vô nghĩa vô những trang tính cần loại trừ (như "GPE", "_", . . . )
& dùng câu lệnh

PHP:
If Left(Sh.Name,1) <> "w" then
   Call '. . .'
End If

& chỉ có bạn mới có thể thấy sự bất tiện của fương án này

Chúc vui!
 
Upvote 0

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

Back
Top Bottom