Vba 将活动工作表传递给子程序

Vba 将活动工作表传递给子程序,vba,excel,Vba,Excel,在Excel 2013中,我有一个工作表(名为“ChartSheet”),其中有六个图表。我试图在工作表中发生任何更改时自动设置每个图表Y轴的最小值和最大值。每个图表的最小值和最大值都包含在指定的范围内,特定于名为rng\u MaxAxis和rng\u MinAxis的ChartSheet工作表 为了实现我的目标,我在图表中有以下VBA代码: 这是我在名为FormatCharts的模块中使用的一个子例程的结果,其中的代码是: Sub FormatCharts() Dim objCht As C

在Excel 2013中,我有一个工作表(名为“ChartSheet”),其中有六个图表。我试图在工作表中发生任何更改时自动设置每个图表Y轴的最小值和最大值。每个图表的最小值和最大值都包含在指定的范围内,特定于名为
rng\u MaxAxis
rng\u MinAxis
ChartSheet
工作表

为了实现我的目标,我在图表中有以下VBA代码:

这是我在名为
FormatCharts
的模块中使用的一个子例程的结果,其中的代码是:

Sub FormatCharts()

Dim objCht As ChartObject
Dim maxAxis As Range
Dim minAxis As Range

Set maxAxis = ActiveSheet.Range("rng_MaxAxis")
Set minAxis = ActiveSheet.Range("rng_MinAxis")

For Each objCht In ActiveSheet.ChartObjects
    With objCht.Chart
     ' Value (Y) Axis
        With .Axes(xlValue)
            For Each maxValue In maxAxis
                .MaximumScale = maxValue.Value
            Next maxValue

            For Each minValue In minAxis
                .MinimumScale = minValue.Value
            Next minValue
        End With
    End With
Next objCht

End Sub
任何更改后,我都会收到以下错误,
compileerror:Variable not found
,它指向每个循环的
maxValue


我认为这是因为Excel不知道将哪个工作表传递给
FormartCharts
子例程。如何将活动工作表传递给
FormatCharts
子例程?

子FormatCharts(ws-as工作表)
然后在调用
FormatCharts-ActiveSheet
时,将过程中的所有活动工作表替换为ws.call
FormatCharts-Target.Parent
,然后将
ws
参数添加到
FormatCharts
中describes@TimWilliams这是我脑子里想不到的。今天就是这样的一天。@ScottCraner-我知道那些日子……噢,如果你使用的是
选项Explicit
,我看不出你的变量
maxValue
是在哪里定义的?
Sub FormatCharts()

Dim objCht As ChartObject
Dim maxAxis As Range
Dim minAxis As Range

Set maxAxis = ActiveSheet.Range("rng_MaxAxis")
Set minAxis = ActiveSheet.Range("rng_MinAxis")

For Each objCht In ActiveSheet.ChartObjects
    With objCht.Chart
     ' Value (Y) Axis
        With .Axes(xlValue)
            For Each maxValue In maxAxis
                .MaximumScale = maxValue.Value
            Next maxValue

            For Each minValue In minAxis
                .MinimumScale = minValue.Value
            Next minValue
        End With
    End With
Next objCht

End Sub