为什么 VBA 中的 GetValue 函数使用单元格“A1”?

2024-04-25

我正在使用此函数从关闭的工作簿中检索值。在此代码的第 8 行中,我不明白为什么使用“A1”。整个第 8 行到底发生了什么?我也对 xlR1C1 的论点感到困惑。

Private Function GetValue(path, file, sheet, ref)

    Dim arg As String
    If Right(path, 1) <> "\" Then path = path & "\"
    If Dir(path & file) = "" Then
        GetValue = "File Not Found"
        Exit Function
    End If
    arg = "'" & path & "[" & file & "]" & sheet & "'!" & _
      Range(ref).Range("A1").Address(, , xlR1C1)
    GetValue = ExecuteExcel4Macro(arg)

End Function

Range().Range() 文档在这里 http://msdn.microsoft.com/en-us/library/office/ff834676%28v=office.15%29.aspx:

当应用于Range对象,属性是相对于Range目的。例如,如果选择的是单元格C3, then Selection.Range("B1")返回单元格D3因为它是相对于Range返回的对象Selection财产。另一方面,代码ActiveSheet.Range("B1")总是返回单元格B1.

该代码正在使用第二个Range("A1")以确保如果您有ref如果范围大于一个单元格,则它仅返回该范围的左上角单元格。它还会出现你的其他Sub called ExecuteExcel4Macro()需要一个R1C1类型单元格引用,以便地址被转换为该类型以传递arg串入Sub.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为什么 VBA 中的 GetValue 函数使用单元格“A1”? 的相关文章

随机推荐

  • 如何使用 SDK 3.1 指定用户用于发布的应用程序名称(通过应用程序名称)

    使用新的 Facebook SDK 3 1 和 iOS 6 有 2 种 实际上 3 种 发帖方式 似乎新的趋势是有更多的选择 使其更简单 天哪 这是一个 SLComposeViewController fbPost SLComposeVie
  • C# Windows Phone - xaml ListBox.ItemTemplate 中的对齐方式

    我想做一个简单的列表框 每行应包含 2 个控件 一个左对齐 另一个右对齐 仅此而已 我尝试了多种方法但没有任何效果 我的代码如下
  • 如何用js添加表格?

    我想通过 JavaScript 在我的 html 表格上添加一个表格 我已经尝试过使用appendChild and insertBefore方法 但这些方法都不起作用 这是我的 JavaScript var utilisateur id
  • 二维数组与一维数组

    我已经阅读了这个问题二维数组与一维数组的性能 https stackoverflow com questions 1242705 performance of 2 dimensional array vs 1 dimensional arr
  • 迭代集合元素

    我已经打开了实验性 ECMAscript 6 功能的 Chrome 标志 其中之一是Set 据我了解 详细信息Set得到了规范作者的广泛同意 我创建一个集合a并添加字符串 Hello a Set a add Hello 但我如何迭代的元素a
  • 使用 HTML 页面的 css 格式显示标签导出到 Excel

    我在我的网络应用程序中使用显示标签 我成功地将显示标签显示的数据导出到Excel 问题是我还希望标题和数据行样式以及 css 包含在导出的 Excel 中 例如标题行为粗体 背景为灰色 数据行中的列根据值着色 但这并没有导出到 Excel
  • 我可以重写 C# 中的属性吗?如何?

    我有这个基类 abstract class Base public int x get throw new NotImplementedException 以及以下后代 class Derived Base public int x get
  • BigInteger 使用了多少空间?

    BigInteger 对象通常使用多少字节的内存 BigInteger 内部使用int 来表示您使用的巨大数字 因此它确实取决于您存储在其中的数字的大小 The int 如果当前数量不能动态适应 则会增长 要获取您的字节数BigIntege
  • UITableView 未更新

    我正在使用核心数据模型和 UITableViewController 表视图 我的模型似乎工作得很好 但是当我向模型添加实体时 我的表视图没有更新 我相信我的模型有效的原因是 当我添加一个实体时 在运行时视图中不会显示任何内容 但是如果我剪
  • opencv中如何使用腐蚀和膨胀函数?

    我试图通过侵蚀和膨胀过程消除数字周围的东西 我尝试过 但什么也没发生 我更改这些值只是为了看看是否会改变某些内容 但同样 什么都没有改变 图像继续如上面的链接所示 这个参数怎么样 我阅读了文档但不太明白 正如你所看到的 我在函数中猜测 我究
  • App Indexing Android - “”中的“”不起作用

    我们正在努力解决谷歌的应用程序索引主题 该计划是在网站的 区域中插入一个标签 从 google 获取 如下所示 android app com testApp myCustomScheme car ford 然后用智能手机访问该网站 应用程
  • 如何在 AWS CloudWatch 中解析混合文本和 JSON 日志条目以进行日志指标筛选

    我正在尝试解析文本和 JSON 混合的日志条目 第一行是文本表示 接下来的行是事件的 JSON 负载 可能的示例之一是 2016 07 24T21 08 07 888Z INFO Command completed lessonrecord
  • 谷歌地图定位是如何工作的?

    我的问题是谷歌地图或移动 GPS 如何找到我的当前位置 读完本文后我的高层次理解article http www physics org article questions asp id 55就是 GPS接收器通过这些卫星获取位置坐标 该位
  • 如何将数组(在 VB6 中通过引用)传递给 C\C++ *.dll 子例程?

    我需要将一个空的变体数组传递给一个用 C 编写的 DLL 并且在所有 Windows 版本上都可用 并且 C 代码 我无法控制也无法编辑 将用它的一些返回值填充空的变体数组价值观 基本上 当我尝试这样做时 ByRef 数组在应包含函数 子调
  • 如何使用 php 注销后终止会话

    我看到了以下问题并尝试调整部分答案 但没有成功 用户按注销并销毁会话后如何禁用后退浏览器按钮 我知道这个话题已经被广泛讨论 人们讨厌 禁用后退按钮 这句话 但是 如果我有一个包含重要信息的数据库 一旦该人注销 我如何防止某人按下后退按钮并返
  • 使用 sprintf 打印元素数量可变的向量

    在下面的代码中 我可以打印向量中的所有元素item用空格分隔为 item 123 456 789 sprintf d d d item ans 123 456 789 我怎样才能做到这一点而不必输入那么多 d作为元素的数量item 最简单的
  • AWS S3 列表键以字符串开头

    我在 AWS Lambda 函数中使用 python 列出以特定 id 开头的 s3 存储桶中的键 for object in mybucket objects all file name os path basename object k
  • 使用 Electron 和 Systemjs 导入节点模块

    我只是想知道如果系统js在自己的注册表中找不到该模块 是否可以让systemjs使用require remote require nodemodule 我认为当使用带有 typescript 和 commonjs 模块的 Electron
  • 一个包中的多个模块导入一个公共模块

    我正在写一个 python 包 我使用插件的概念 每个插件都是 Worker 类的专门化 每个插件都被编写为模块 脚本 并在单独的进程中生成 由于插件之间的基本共性 例如 所有插件都扩展基类 Worker 插件模块通常如下所示 import
  • 为什么 VBA 中的 GetValue 函数使用单元格“A1”?

    我正在使用此函数从关闭的工作簿中检索值 在此代码的第 8 行中 我不明白为什么使用 A1 整个第 8 行到底发生了什么 我也对 xlR1C1 的论点感到困惑 Private Function GetValue path file sheet