在模块中声明一个公共variables

我试图在模块1中build立一个variablesLastRow ,它可以在其他的子和模块中使用。 以下是我的实际工作手册中的简化版本。 – 一个子调用其他的, – 一个子创build一个公共variables, – 另一个子在不同的模块中,一个公式依赖于Sub CreateVariable的variables。

我已经在这里接受了很多帮助,从我在线阅读的内容来看,声明一个公共variables应该是相当直接的…但是我没有得到它。 谁能帮忙? 提前致谢!

第一单元

 Sub CallOthers() Call CreateVariable Call AddFormula End Sub 

第一单元

 Public LastRow As Long Sub CreateVariable() Dim ws As Worksheet Set ws = Worksheets("Variance") LastRow = ws.Cells(ws.Rows.Count, "A").End(xlUp).Row End Sub 

第二单元

 Sub AddFormula() ws.Range("D2:D" & LastRow).FormulaR1C1 = "=RC[-2]-RC[1]" End Sub 

第一单元

 Public LastRow As Long Public ws As Worksheet Sub CreateVariable() Set ws = Worksheets("Variance") LastRow = ws.Cells(ws.Rows.Count, "A").End(xlUp).Row End Sub Sub CallOthers() Call CreateVariable Call AddFormula End Sub 

或者像@ Mat'sMug所说的通过variables

第一单元

 Sub CallOthers() Dim LastRow As Long Dim ws As Worksheet Set ws = Worksheets("Variance") LastRow = ws.Cells(ws.Rows.Count, "A").End(xlUp).Row Call AddFormula(ws,LastRow) End Sub 

第二单元

 Sub AddFormula(ws As Worksheet, LastRow As Long) ws.Range("D2:D" & LastRow).FormulaR1C1 = "=RC[-2]-RC[1]" End Sub