excel - 如何按功能选择单元格

标签 excel vba

我是 VBA 新手。我按照教科书的说法进行编码,但是发生了以下错误。
错误信息:

Run-time error '5':
Invalid procedure call or argument
代码应该做什么
  • macro1执行,函数getDataRange()叫做。
  • getDataRange选择单元格B2:D6 * 自动地。

  • *错字:B 2 :D6 -> B 3 :D6 (不包括范围中的第一行 B2:D2)
    我的代码:
    Function getDataRange(tableRng As Range) As Range
        Set getDataRange = tableRng("2:" & tableRng.Rows.Count)
    End Function
    
    Sub macro1()
        getDataRange(Range("B2:D6")).Select
    End Sub
    
    预期输出:
    enter image description here
    我试过的
  • 上运行它Mac(Mac 版 Office 2016)
  • 上运行它虚拟窗口 (Parallels Desktop 16 for Mac 试用版) (Office 365)
  • 代码在 sheet1 , ThisWorkBookModule1在 Mac 和虚拟 Windows 上

  • 谁能帮我解决这个问题?先感谢您。

    最佳答案

    你需要:

    Set getDataRange = tableRng.Rows("2:" & tableRng.Rows.Count)
    
    但请注意,这些行与数据相关,因此此代码实际上会选择 B 3 :D6

    关于excel - 如何按功能选择单元格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66459797/

    相关文章:

    java - 动态添加外部(跨工作簿)引用

    excel - 多条件vlookup优化(索引+匹配)

    excel - 列出所有可能的组合而不重复,VBA

    excel - Excel 中的 VBA 代码随机停止执行。没有出现错误消息

    excel - 性能问题 - 根据列标题重新排列列

    VBA:如何将变体归零?

    python - xlsxwriter - 用于创建 Excel 文件的 Python 模块

    c# - 具有多个选项卡的 Linq to Excel

    vba - Excel VBA - 使用变量粘贴代码后取消选择范围

    excel - 如何将部分 VBA 数组粘贴到 excel 范围