Làm sao để sự kiện Worksheet_Activate chỉ hoạt động 1 lần? (1 người xem)

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

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

vova2209

Thành viên tích cực
Tham gia
5/4/17
Bài viết
835
Được thích
112
Giới tính
Nam
Nghề nghiệp
Đường bộ
Mã:
Private Sub Worksheet_Activate()
    Call ThongBao
End Sub
Chào anh chị!
em có 1 mong muốn nhỏ: Em muốn khi Activate tại sheet đó sẽ gọi lên "1 cái msgbox hoặc gọi 1 code" chỉ 1 lần duy nhất khi mở file, lần 2 quay lại sheets đó nó sẽ ko hỏi nữa mà chỉ hỏi 1 lần đầu khi mở file lên. thì làm thế nào em xin cảm ơn
 
Lần chỉnh sửa cuối:
Thì mình oánh dấu là đã gọi thông báo đó rồi.
Oánh dấu thì nhiều cách:
+/ Dùng một biến toàn cục oánh dấu:
Trên cùng một module nào đó đặt
PHP:
Public Oanh_dau As Boolean
và trong Sheet zyx
PHP:
Private Sub Worksheet_Activate()
    If Oanh_dau = False Then
        Call ThongBao
        Oanh_dau = True
    End If
End Sub

+/ Hoặc oánh dấu vào một ô nào đó trên Sheet đó (hoặc sheet nào đó)....
 
Upvote 0
Thì mình oánh dấu là đã gọi thông báo đó rồi.
Oánh dấu thì nhiều cách:
+/ Dùng một biến toàn cục oánh dấu:
Trên cùng một module nào đó đặt
PHP:
Public Oanh_dau As Boolean
và trong Sheet zyx
PHP:
Private Sub Worksheet_Activate()
    If Oanh_dau = False Then
        Call ThongBao
        Oanh_dau = True
    End If
End Sub

+/ Hoặc oánh dấu vào một ô nào đó trên Sheet đó (hoặc sheet nào đó)....
Không được anh à! a xem lại dùm em ạ
 

File đính kèm

Upvote 0
Private Sub Worksheet_Activate()
Static Da_ThongBao As Boolean
If Not Da_ThongBao Then
ThongBao
Da_ThongBao = True
End If
... làm cái gì đó
End Sub

Chỉ dùng biến toàn cục khi có nhiều hàm/sub cần tới nó.
Vâng em cảm ơn! cách a Befaint ổn rồi ạ. làm thông báo như 1 kiểu nhắc nhở làm mình đỡ nhầm lẫn
 
Upvote 0
Trong file có cỡ chục cái sub's rồi mới bắt đầu thử thách nghĩa của từ "ổn".
 
Upvote 0
Gần 100 xấp mà dùng biến toàn cục mà lại Public là tự sát.
Tối thiểu cũng phải đổi nó thành Private.
 
Upvote 0
Web KT

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

Back
Top Bottom