我可以在 vba excel 中设置动态范围以在过滤器中使用吗

用户2998163

下面的 excel sub 是一个过滤器,它根据条件行中的行过滤掉行。当范围设置为绝对数据时,代码运行良好。我想更改代码以获取存储为单元格值(间接引用)的引用的范围,但我找不到一种方法来调整我看到的其他代码片段,我想知道是否有人可以帮助我。我不是程序员。

问题在于,随着不时插入新数据,范围引用将移动并且数据的开头和相关联的过滤器在单元格中(使用 RC 表示法 14,14),数据在单元格 13,12 中。虽然我知道我不能在 vba 中使用间接函数,但我想知道是否有一种方法可以动态分配一个范围以便能够使用高级过滤器函数。我有代码来查找数据块的最后一列和最后一行。我已经尝试了以下代码(2 次尝试),但它不会让我以这种方式使用该对象 我曾尝试将单元格引用创建为字符串,然后使用 range 函数对其进行分配。然后我阅读了一个答案,其中有人将单元格的值直接放入范围函数中,并且对他们有用(他们正在复制单元格)。两次尝试大致相同,但在第二次尝试中,我试图更具体。问题似乎是,一旦我从范围语句中的绝对引用“A50”更改为范围不再有效。我不确定如何解决这个问题,也许不可能

知道被过滤的数据是姓名和电话数据行以及显示出勤率的计数系统(一年中每周一列)可能会有所帮助 具有动态数据的单元格以 A1 而非 RC 格式保存它们

Sub UseAdvancedFilterInPlace()
'This version of the sub has absolute references and works perfectly
Dim rdData As Range
Dim rgcriteria As Range
Call TurnOffStuff
Set rgData = Sheet9.Range(“A50”).CurrentRegion
Set rgcriteria = Sheet9.Range(“A46”).CurrentRegion
rgData.AdvancedFilter xlFilterInPlace, rgcriteria
Call TurnOnStuff
End Sub

Sub UseAdvancedFilterInPlace()
'This version of the sub has dynamic references and fails
Dim rdData As Range
Dim rgcriteria As Range
Call TurnOffStuff
Dim Top_of_data As String
Dim Top_of_Criteria As String
Dim My_range As Range
‘Attempt 1
'Set rgData = Range(Sheet9.Cells(13, 12).Value).CurrentRegion
'Set rgcriteria = Range(Sheet9.Cells(14, 14).Value).CurrentRegion
'Attempt 2
Set rgData = Sheet9.Range(Sheet9.Range(Cells(13, 12)).Value).CurrentRegion
Set rgcriteria = Sheet9.Range(Sheet9.Range(Cells(14, 14)).Value).CurrentRegion

rgData.AdvancedFilter xlFilterInPlace, rgcriteria
Call TurnOnStuff

End Sub

我得到的实际错误消息是应用程序定义或对象定义的错误

迪米特里斯

这对我有用。

Set rdData = Sheet9.Range(Sheet9.Range("L13").Value).CurrentRegion
Set rgcriteria = Sheet9.Range(Sheet9.Range("N15").Value).CurrentRegion

鉴于这Range("L13").Value是A50和Range("N15").ValueA46。

额外:Option Explicit在每个模块的第一行中使用语句,在每个子或函数之外。此选项会在未声明的变量上引发错误,并将帮助您避免重命名变量上的错误。

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

我可以在Excel VBA中捕获并模拟KeyDown事件吗?

来自分类Dev

Excel VBA中的过滤器数组

来自分类Dev

我可以告诉 Excel VBA 在我的代码中搜索一个句子吗?

来自分类Dev

在Excel中,我可以使用超链接运行vba宏吗?

来自分类Dev

在 Excel 2010 中使用 VBA 在表格中应用自动过滤器

来自分类Dev

我可以在Excel VBA中执行期间调整For Loop的大小吗?

来自分类Dev

我可以在VBA中以编程方式检查Excel函数签名吗?

来自分类Dev

我可以在Excel VBA中执行期间调整For Loop的大小吗?

来自分类Dev

我可以使用VBA使Excel忘记它跟随超链接吗?

来自分类Dev

Vba Excel我可以使用With函数更改为大写吗?

来自分类Dev

VBA Excel-我可以在ActiveSheet中使用哪些方法/属性

来自分类Dev

在Excel VBA中使用“设置”设置范围

来自分类Dev

如何在VBA Excel中使用我定义的范围名称?

来自分类Dev

如何在VBA Excel中使用我定义的范围名称?

来自分类Dev

Excel VBA-我可以在另一个工作簿上处理数据吗?

来自分类Dev

我可以从32位版本的Excel VBA调用64位DLL吗?

来自分类Dev

您可以通过这种简单的Excel VBA语法找到我的错误吗?

来自分类Dev

Excel VBA-我可以在另一个工作簿上处理数据吗?

来自分类Dev

我可以使Excel VBA宏可用于所有工作簿吗?

来自分类Dev

我可以更快地制作这个宏/代码吗?(Excel VBA 重复查找器)

来自分类Dev

我可以在Excel VBA变量中存储的最大值(数字)是多少?

来自分类Dev

Excel VBA-使用命名范围的自定义过滤器

来自分类Dev

Excel VBA-多次交互后停止在过滤器上选择可见行

来自分类Dev

Excel VBA 中的动态范围

来自分类Dev

Excel VBA 从表中删除过滤器

来自分类Dev

我可以在 Excel 中的数组公式中使用逻辑 AND 吗?

来自分类Dev

我可以在AngularJS的过滤器中使用过滤器吗?

来自分类Dev

我们可以使用.NET System.Windows.Forms.Timer替换Excel VBA Application.onTime吗?

来自分类Dev

Excel VBA - 自动过滤器和高级过滤器使用错误

Related 相关文章

  1. 1

    我可以在Excel VBA中捕获并模拟KeyDown事件吗?

  2. 2

    Excel VBA中的过滤器数组

  3. 3

    我可以告诉 Excel VBA 在我的代码中搜索一个句子吗?

  4. 4

    在Excel中,我可以使用超链接运行vba宏吗?

  5. 5

    在 Excel 2010 中使用 VBA 在表格中应用自动过滤器

  6. 6

    我可以在Excel VBA中执行期间调整For Loop的大小吗?

  7. 7

    我可以在VBA中以编程方式检查Excel函数签名吗?

  8. 8

    我可以在Excel VBA中执行期间调整For Loop的大小吗?

  9. 9

    我可以使用VBA使Excel忘记它跟随超链接吗?

  10. 10

    Vba Excel我可以使用With函数更改为大写吗?

  11. 11

    VBA Excel-我可以在ActiveSheet中使用哪些方法/属性

  12. 12

    在Excel VBA中使用“设置”设置范围

  13. 13

    如何在VBA Excel中使用我定义的范围名称?

  14. 14

    如何在VBA Excel中使用我定义的范围名称?

  15. 15

    Excel VBA-我可以在另一个工作簿上处理数据吗?

  16. 16

    我可以从32位版本的Excel VBA调用64位DLL吗?

  17. 17

    您可以通过这种简单的Excel VBA语法找到我的错误吗?

  18. 18

    Excel VBA-我可以在另一个工作簿上处理数据吗?

  19. 19

    我可以使Excel VBA宏可用于所有工作簿吗?

  20. 20

    我可以更快地制作这个宏/代码吗?(Excel VBA 重复查找器)

  21. 21

    我可以在Excel VBA变量中存储的最大值(数字)是多少?

  22. 22

    Excel VBA-使用命名范围的自定义过滤器

  23. 23

    Excel VBA-多次交互后停止在过滤器上选择可见行

  24. 24

    Excel VBA 中的动态范围

  25. 25

    Excel VBA 从表中删除过滤器

  26. 26

    我可以在 Excel 中的数组公式中使用逻辑 AND 吗?

  27. 27

    我可以在AngularJS的过滤器中使用过滤器吗?

  28. 28

    我们可以使用.NET System.Windows.Forms.Timer替换Excel VBA Application.onTime吗?

  29. 29

    Excel VBA - 自动过滤器和高级过滤器使用错误

热门标签

归档