如何在Excel VBA中的子例程之间传递范围变量

E_L

我正在尝试将范围传递给子例程,但是它抛出了“对象'_Global'的方法'Range'失败”错误。

在主要方面,我声明并定义了要使用的范围变量:

Sub maintest()

Dim ScheduledSort As Range
Set ScheduledSort = Range("F4:F321")

Call test(ScheduledSort)
End Sub

然后在子例程测试中,我希望它使用我从上面的例程传递过来的范围进行排序:

Sub test(RangeForSort)

Sheets("SheetTest").Select

' Sort in descending order
ActiveWorkbook.Worksheets("SheetTest").AutoFilter.Sort.SortFields.Add _
    Key:=Range("RangeForSort"), SortOn:=xlSortOnValues, Order:=xlDescending, _
    DataOption:=xlSortTextAsNumbers
With ActiveWorkbook.Worksheets("SheetTest").AutoFilter.Sort
    .Header = xlYes
    .MatchCase = False
    .Orientation = xlTopToBottom
    .SortMethod = xlPinYin
    .Apply
End With
End Sub

我认为这是错误的,Key:=Range("RangeForSort")但我无法弄清楚为什么以及如何解决。
我在使用Range时出了什么问题,如何解决它以便可以将其传递给任何Range进行排序?
如果您对我的工作有更好的建议,请随时添加!:-)

莫里茨·施米兹诉 袖子

较短的版本如下所示:

Sub test(rng As Range)

    ' Sort in descending order
    Worksheets(rng.Parent.Name).AutoFilter.Sort.SortFields.Add _
    Key:=rng, SortOn:=xlSortOnValues, Order:=xlDescending, _
    DataOption:=xlSortTextAsNumbers

    With Worksheets(rng.Parent.Name).AutoFilter.Sort
        .Header = xlYes
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
     End With

End Sub

跑步:

Call test(Worksheets("YOUR WORKSHEET NAME").Range("YOUR RANGE")).

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在Excel VBA中的两个Subsetet之间传递变量?

来自分类Dev

声明公共变量和将局部变量传递给子例程之间的VBA区别

来自分类Dev

VBA EXCEL:如何在另一个子例程中调用一个子例程?

来自分类Dev

如何在VBA中声明Excel范围?

来自分类Dev

如何在excel vba中获取子例程以返回某些内容?

来自分类Dev

如何在 VBA 中将字段的设置变量名称从一个子例程传递到另一个子例程?

来自分类Dev

如何在子例程中传递数组的哈希?

来自分类Dev

如何在Excel VBA 2007中为表设置变量范围?

来自分类Dev

您如何在Excel VBA中引用范围?

来自分类Dev

您如何在Excel VBA中引用范围?

来自分类Dev

如何在Excel VBA中的范围内循环列

来自分类Dev

如何在Excel VBA中创建字符串数组并将其传递给子对象?

来自分类Dev

如何在Excel中更新列范围

来自分类Dev

如何在Excel中查找

来自分类Dev

如何在Excel中完成

来自分类Dev

如何在Excel中嵌套IF,AND或OR

来自分类Dev

如何在Excel VBA中锁定行之间

来自分类Dev

如何在Excel VBA中声明和设置ListBox变量?

来自分类Dev

如何在Excel中创建参考变量

来自分类Dev

如何在EXCEL VBA中获取行数

来自分类Dev

如何在VBA(Excel)中遍历行

来自分类Dev

如何在EXCEL VBA中获取行数

来自分类Dev

如何在Excel中优化VBA函数

来自分类Dev

如何在VBA中激活打开的excel

来自分类Dev

如何在excel图表中对excel范围进行分组?

来自分类Dev

Excel VBA在函数之间传递变量

来自分类Dev

VBA如何在子之间使用变量?

来自分类Dev

Excel VBA在数组中存储函数或子例程

来自分类Dev

如何在Linux中的两个进程之间传递映射?

Related 相关文章

热门标签

归档