单击某些单元格时调用macros

我想在用户单击特定工作表上的某些特定单元格时调用macros。 诀窍是,特定的工作表只能在另一个macros之后打开。 在此之前,没有用户可以看到该工作表,因此它不活跃。 我必须告诉工作表,如果发生了工作表的macrosA比用户单击这些特定的单元格,运行macrosB.

我认为,如果我在macrosA的末尾声明一个variables为“1”,那么如果我检查工作表的私人小组,如果它是“1”,“Worksheet_SelectionChange”可以运行,但我不能做到。

此外,打开工作表的macrosA将创build该工作表的.pdf报告,因此它会检查并select该页面中的几乎每个单元格,子句我不应该在macrosA结束。

这里是代码;

我把这个代码放在macrosA的一开始(打开工作表(“Baskanlik_TEMP”)

Carry_Value = "0" 

这是macrosA的结尾;

 Carry_Value = "1" 

这是工作表的私人部分(“Baskanlik_TEMP”);

 Private Sub Worksheet_SelectionChange_Q(Carry_Value As String) If Carry_Value <> "1" Then GoTo Son_XYZ_Q_Z Else If ActiveCell.Address = Worksheets("Baskanlik_Temp").Range("$J$16") And Worksheets("Baskanlik_Temp").Range("$J$16") <> "" Or Worksheets("Baskanlik_Temp").Range("$J$21") And Worksheets("Baskanlik_Temp").Range("$J$21") <> "" Or Worksheets("Baskanlik_Temp").Range("$J$26") And Worksheets("Baskanlik_Temp").Range("$J$26") <> "" Or Worksheets("Baskanlik_Temp").Range("$J$31") And Worksheets("Baskanlik_Temp").Range("$J$31") <> "" Or Worksheets("Baskanlik_Temp").Range("$J$57") And Worksheets("Baskanlik_Temp").Range("$J$57") <> "" Or Worksheets("Baskanlik_Temp").Range("$J$62") And Worksheets("Baskanlik_Temp").Range("$J$62") <> "" Or Worksheets("Baskanlik_Temp").Range("$J$67") And Worksheets("Baskanlik_Temp").Range("$J$67") <> "" Or Worksheets("Baskanlik_Temp").Range("$J$72") And Worksheets("Baskanlik_Temp").Range("$J$72") <> "" Or Worksheets("Baskanlik_Temp").Range("$J$77") And Worksheets("Baskanlik_Temp").Range("$J$77") <> "" Then Call Baskanlik_Ders_Ara_Rapor End If End If Son_XYZ_Q_Z: End Sub 

问题是,当我点击那些应该运行macros“Baskanlik_Ders_Ara_Rapor”的单元格时,什么都不会发生。

我愿意接受任何想法。