Module không chạy khi thay đổi giá trị ở 1 Sheet khác cùng Workbook

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

star84

Thành viên mới
Tham gia
8/6/18
Bài viết
19
Được thích
1
Mọi người cho mình hỏi 1 vấn đề liên quan đến chạy module với ạ.
Mình có 1 vidu về tự động xóa dòng (file kèm theo):
Trong file đính kèm có ô A7 = Sheet2!A1 cho chạy module như sau:
Sub Andong()
Dim Rgn As Range
Set Rgn = Range("A7")
If Rgn = 0 Then
Sheets("sheet1").Rows("7:7").Hidden = True
ElseIf Rgn <> "" Then
Sheets("sheet1").Rows("7:7").Hidden = False
End If
End Sub

Mình chạy events change :
call Andong
=====> nếu mình để giá trị ô Sheet!A7 = bất kì ô nào cùng Sheets1 thì module chạy được,nhưng nếu để = giá trị ô thuộc sheet khác cùng Workbook thì model lại không chạy được.Mọi người giúp mình với,Cám ơn rất nhiều ạ
 

File đính kèm

Thử thay thành:
PHP:
Sub Andong()
Dim Rgn As Range
Set Rgn = Sheets("Sheet1").Range("A7")
If Rgn = 0 Then
    Sheets("sheet1").Rows("7:7").Hidden = True
Else
    Sheets("sheet1").Rows("7:7").Hidden = False
End If
End Sub
cũng không được Bác ạ,vấn đề là em muốn nhập giá trị Sheet 2 mà nó ẩn dòng ở Sheet 1
 
Có phải bạn muốn code chạy tự động không?
Vâng,thật ra nó đã tự động chay rồi nhưng chỉ thay đổi giá trị ở cùng Sheet 1 thôi,nhưng em muốn nó tự động khi em thay đổi giá trị ở Sheet2 và tự động ẩn dòng ở Sheet 1.Bác giúp em với
 
em muốn nó tự động khi em thay đổi giá trị ở Sheet2 và tự động ẩn dòng ở Sheet 1.Bác giúp em với
Muốn tự động khi thay đổi giá trị ở Sheet2 thì thêm code tại sheet2, như:
PHP:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$A$1" Then
    Call Andong
End If
End Sub
 
Muốn tự động khi thay đổi giá trị ở Sheet2 thì thêm code tại sheet2, như:
PHP:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$A$1" Then
    Call Andong
End If
End Sub
Em thêm rồi,ví dụ em nhập giá trị bất kì vào ô A1 ở Sheet2 thì nó lại không hiện lại dòng bác ạ.
 
Em thêm rồi,ví dụ em nhập giá trị bất kì vào ô A1 ở Sheet2 thì nó lại không hiện lại dòng bác ạ.
Nhập giá trị 0 vào ô A1 ở Sheet2 => Ẩn dòng 7 của sheet1

Nhập giá trị <> 0 vào ô A1 ở Sheet2 =>Hiện dòng 7 của sheet1
 

File đính kèm

Web KT

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

Back
Top Bottom