Excel公式如何连接字符串以供外部参考

2024-02-18

假设我在单元格中有以下公式,该公式从另一个工作簿读取单元格的值

='c:\temp\[external book.xlsx]SheetX'!$E$4

我想要的值c:\temp\[external book.xlsx]SheetX来自此工作表中的另一个单元格。我将如何重写这个公式来连接这个值和"!$E$4"

可以说细胞A1包含c:\temp\[external book.xlsx]SheetX


EDIT:由于以下内容不适用于封闭的工作簿,因此以下是如何使用 VBA 执行此操作的笨拙概念验证(我想有更好的方法可以做到这一点):

Sub ClosedWorkbook()

Dim currSht As Worksheet
Dim targetWbk As Workbook
Dim Path As String

' Turn off updating
Application.ScreenUpdating = False

' Set a reference to the current sheet
Set currSht = ActiveWorkbook.ActiveSheet

' Get the value in the formula cell (A1 here, could be ActiveCell if in a loop, etc.)
PathSheet = currSht.Range("A1").Value

' Split out the path - this is very clunky, more of a proof (?) of concept
' This is depends on the path being as you mentioned, and the IF block is to 
' check if the apostrophe is present in the cell (since it is the escape character,
' it is usually skipped)
If Left(PathSheet, 1) = "'" Then
  Path = Replace(Mid(PathSheet, 2, InStr(PathSheet, "]") - 2), "[", "")
  Sheet = Mid(PathSheet, InStr(PathSheet, "]"))
  Sheet = Left(Sheet, Len(Sheet) - 2)
Else
  Path = Replace(Mid(PathSheet, 1, InStr(PathSheet, "]") - 1), "[", "")
  Sheet = Mid(PathSheet, InStr(PathSheet, "]") + 1)
  Sheet = Left(Sheet, Len(Sheet) - 2)
End If

' Open the target workbook
Set targetWbk = Workbooks.Open(Path)

' Grab the value from E4 and drop it in a cell (D1 here, could be ActiveCell, etc.)
MyValue = targetWbk.Sheets(Sheet).Range("E4").Value
currSht.Range("D5").Value = MyValue

' Close the target
targetWbk.Close

Application.ScreenUpdating = True
End Sub

OLD WAY(不适用于封闭的工作簿)

我相信这捕获了您正在寻找的内容。在这个例子中,细胞A1我的工作表路径:

'C:\temp\[externalworkbook.xlsx]Sheet1'!

在单元格 B1 中我有公式:

=INDIRECT(A1 & "$E$4")

将工作表值与$E$4为了生成完整路径,然后将其转换为值INDIRECT。需要注意的一件事:撇号是转义字符,因此根据您的数据,您可能必须在公式中特别考虑它:

=INDIRECT("'" & A1 & "$E$4")

如果您使用的是 Excel 2007 或更高版本,您可以将其包装在IFERROR消除猜测的公式:

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

Excel公式如何连接字符串以供外部参考 的相关文章

  • Excel 自动填充列 X++++..Y++..Z+

    如何自动填充之间的值 选择 A 列 CTRL G gt Blanks gt OK Type press UpArrow 然后按CTRL ENTER See 这个链接 http www techrepublic com blog msoffi
  • Countif 不适用于小时和/或日期

    您好 我有 3 列内的数据 A 目的地 例如洛杉矶 B 承运人 例如 Ups C 发货时间 预计 4 00 使用的时间是24小时时间 不含Am Pm 我需要进行计数才能知道在特定时间我们有多少批货物 尝试过 COUNTIF A1 A100
  • 文本到行 VBA Excel

    我有一个电子表格 其中包含大约 4000 行数据 其中一列数据具有唯一的订单号 我希望使用 作为分隔符将其分隔 所以本质上我想要 Name Order Date Jane 123 001 111 08 15 2013 Gary 333 12
  • Perforce Excel 文件差异

    我有一堆 excel 文件放在 perforce 上 我想对这些 excel 文件进行 diff 类似于我在 perforce 中对其他文件 如 java cs 等 所做的操作 我尝试寻找一个插件 发现 P4OFC 只适合对 word 文件
  • 如何模拟“焦点”和“打字”事件

    尝试模拟 onfocus 和打字事件 但它不起作用 Sub Login MyLogin MyPass Dim IEapp As InternetExplorer Dim IeDoc As Object Dim ieTable As Obje
  • 在 Excel 表格中选择多列的代码

    我是 Excel VBA 新手 我需要修改我的代码 以便我能够进一步进行 我想在 Excel 表格中选择多个表格列 这是我的代码 Dim ws As Worksheet Dim tbl As ListObject Set ws Sheets
  • excel 2010刷新BackgroundQuery中运行时错误1004

    我正在尝试用 vba 编写一个脚本 用于将多个文本文件导入 Excel 一张纸 然后将它们绘制在一张图表上 我面临一个问题刷新后台查询命令并出现 1004 运行时错误 我怎样才能解决它 谢谢 埃亚勒 这是我的代码 Sub fring1 Di
  • VBA 中的多线程

    这里有人知道如何让VBA运行多线程吗 我正在使用 Excel 无法用 VBA 本地完成 VBA 构建在单线程单元中 获得多个线程的唯一方法是使用 VBA 之外的其他具有 COM 接口的东西构建 DLL 并从 VBA 调用它 信息 OLE 线
  • 如何在 Excel 中对一组数据进行排序以匹配另一组数据?

    我有一个不按字母或数字顺序排列的数据列表 我想对同一日期的第二个列表进行排序以匹配第一个列表 我无法更改数据的顺序 我的目标是将第二组中的附加数据粘贴回第一个数据集中 DATA SET A DATA SET B 22350 BH160 10
  • 在合并的单元格中选择、插入照片并将其居中

    我是一名研发面包师 正在为我的团队制作食谱模板 模板中有照片 但我需要轻松地允许他们单击一个按钮 打开照片的文件选择器 然后将该照片放在合并的单元格中 我其实不太擅长做这个 Sub InsertPhotoMacro Dim photoNam
  • Excel FILTER() 对于空白单元格返回 0

    我怀疑以前有人问过这个问题 但我找不到 FILTER 即使指定了返回字符串 通常也会为空白行返回 0 Using filter 我经常收到空单元格的 0 返回值 假设 A 列中有 6 行数据 abc xyz abc xyz abc If I
  • VBA 有没有办法了解未使用的变量?

    标准 VBA 编辑器中是否有工具 方法或设置来警告已被修改的变量Dim med 但没有被使用 MZ Tools http www mztools com index aspx将搜索您的代码并告诉您哪些内容未被使用 VBA的版本可以找到her
  • 我可以获取VBA代码中的注释文本吗

    可以说我有以下内容 Public Sub Information TEST End Sub 有没有办法得到 TEST 结果 不知何故通过VBA 例如 在 PHP 中 有一个获取注释的好方法 这里有什么想法吗 编辑 应该有办法 因为像 MZ
  • VBA 中 AND 函数如何工作?

    如果这是一个愚蠢的问题 我很抱歉 但是 Excel VBA AND 函数是否检查其中的每个条件然后继续 或者在第一个 FALSE 条件处停止而不检查其他条件 我想知道出于优化目的 但到目前为止在网上没有找到任何相关信息 提前致谢 示例 如果
  • VBA ByRef 参数类型不匹配

    最初在我的主代码部分中 我有一个丑陋的 if 语句 尽管它会运行丑陋 我决定将其设为我要调用的函数 这导致我收到错误 编译错误 ByRef 参数类型不匹配 我的假设是该函数需要正确引用 尽管我一直在阅读文档并且不明白为什么 gt 声明 Sh
  • 在 PYTHON 中读取 EXCEL 时,“utf-16-le”编解码器无法解码字节

    我正在尝试读取不同语言 阿拉伯语 希腊语 意大利语 希伯来语等 的各种数量的 xls 文件 当我尝试调用 open workbook 函数时 出现如下所示的错误 不知道如何将格式设置为任何语言 Code book xlrd open wor
  • C# 无法将欧元符号打印到文件中(使用 Excel 打开时)

    我在使用 Web api 控制器的 get 方法时遇到问题 此方法返回一个 HttpResponseMessage 对象 该对象具有带有 csv 文件的 HttpContent 其中包含欧元符号 当该方法返回文件时 不会打印欧元符号 该方法
  • 使用 ADODB 连接从关闭的工作簿中检索数据。某些数据被跳过?

    我目前正在编写一些代码 可以通过 ADODB 连接访问单独的工作簿 由于速度的原因 我选择了这种方法而不是其他方法 下面是我的代码 Sub GetWorksheetData strSourceFile As String strSQL As
  • 如何在 Excel 中对“高”字符进行 HTML 编码或音译?

    在 Excel 中 如何将包含重音字符 大引号等的单元格内容转换为相同字符的 HTML 或音译纯文本版本 我们有一个 XLS 文档 其中包含一些 高 字符 数据已通过数据库连接提取 并且 Excel 似乎正确处理不同代码页中的各个单元格 或
  • 在 Excel 中生成随机 -1 和 +1 值

    The Rand 函数会生成一个 0 到 1 之间的实数 这Randbetween 1 1 将生成 1 0 或 1 我想要的只是 1或1 那么 1 到 1 之间的实数呢 Easy IF RAND lt 0 5 1 1 要获得实数 请使用 R

随机推荐

  • Django1.9:'function'对象没有属性'_meta'

    Django 给出错误信息 形式 py from django import forms from django contrib auth import authenticate get user model login logout fr
  • 这个复杂的查询该怎么做呢?

    这是我的数据库架构 Post id title body date Tag id title Post Tag id id post id tag Comment id id post body date 帖子和标签之间存在多对多的关系 我
  • java.text.ParseException:无法解析的日期

    我在尝试以下代码时遇到解析异常 String date Sat Jun 01 12 53 10 IST 2013 SimpleDateFormat sdf new SimpleDateFormat MMM d yyyy HH mm ss D
  • 在 SQL 中选择连续数字

    这感觉很简单 但我在任何地方都找不到答案 我正在尝试按一天中的每个小时运行查询 所以我正在做一个Group By在小时部分 但并非所有小时都有数据 因此存在一些间隙 我想每小时显示一次 无论是否有数据 这是一个示例查询 SELECT DAT
  • 使用 unison 同步包含 git 存储库的目录

    我想在两台机器上同步包含我的点文件的 git 存储库的目录 两台机器都会对存储库中的文件进行更改 通常我使用一致来同步目录 但在这种情况下 文件在 git即使目录内容表面上相同 目录也会有所不同 Unison见状举手退出 unison do
  • 纤维与异步等待

    我正在加入一个 C 项目 其中开发人员大量使用Fibers https en wikipedia org wiki Fiber computer science 在这个项目之前我什至没有听说过它们并且以前使用过async await and
  • 重复消息之间的时间间隔

    根据 SQS 的文档 重点是我的 Amazon SQS 将消息副本存储在多个服务器上 以实现冗余和高可用性 在极少数情况下 当您接收或删除邮件时 存储邮件副本的服务器之一可能不可用 如果发生这种情况 该消息的副本将不会在该不可用的服务器上被
  • 如何在Spring Cloud Netflix eureka上注册Spring Boot微服务?

    我们计划使用 Spring Cloud Netflix oss 组件 所以我正在做一个小样本项目 我开发了 2 个 Spring 微服务 这些服务运行良好http localhost 9000 microsvc one http local
  • MySQL数据导出变化次数

    我有一些用于数据库的备份和恢复脚本 该表有一个时间戳字段 备份脚本如下所示 mysqldump u user ppass database tab fields terminated by skip comments table 它创建两个
  • Django SECURE_SSL_REDIRECT 和 301 HTTP 响应

    在与本地不同的环境中 我设置DJ SSL REDIRECT True对于我的 Django 项目 但现在 当我在另一个环境 例如 在 Travis CI 中 中运行时 与 REST API 端点相关的所有单元测试都失败了 发生的情况是所有
  • InkCanvas 的撤消/重做命令堆栈

    我正在使用 InkCanvas 创建类似绘画的应用程序 我愿意实现撤消 和我的应用程序中的重做功能 哪种是为 InkCanvas 实现撤消 重做的最佳方法 我已经为 WPF 应用程序实现了撤消 重做 并最终将我的撤消 重做代码发布到http
  • 完成 GeneratorDataset 迭代器时发生错误:已取消:操作已取消

    在运行具有使用tensorflow 2 0的代码的kubeflow管道时 每个纪元结束时显示以下错误 W tensorflow core kernels data generator dataset op cc 103 完成 Generat
  • 如何修复这个 ES6 模块循环依赖?

    编辑 有关更多背景 另请参阅ES 讨论 讨论 https esdiscuss org topic how to solve this basic es6 module circular dependency problem 我有三个模块A
  • 删除级联时不触发触发器

    我有一个名为 player instance 的表 然后是一个名为 penalties 的表 其中有一个引用player instance的外键 我还有一个名为 分数 的表 我有一个关于处罚的删除触发器 这样如果删除一行 那么它将改变分数中
  • 使用 GCM 向多个 Android 设备发送推送通知

    我正在关注http javapapers com android google cloud messaging gcm for android and push notifications http javapapers com andro
  • 改造 2 @path 与 @query

    我是 Retrofit 2 库的新手 作为初学者 我阅读了几篇文章来入门 并且我设法从我的 RESTful API 获取 XML 数据而不指定参数 在我的方法中 生成的 XML 资源如下 GET Path foods Produces Me
  • 将 NumPy 数组转换为 Python 列表

    我如何转换NumPy http en wikipedia org wiki NumPy数组到Python列表 Use tolist https numpy org doc stable reference generated numpy n
  • 我可以将 Partials 导入到 SASS 中的 Partials 中吗?

    我正在使用 Sass 设计一个新网站 最初 我的 style scss 编译的主 SCSS 文件 导入了 generic scss 我在其中定义了变量 和各个页面 例如 homepage scss 效果很好 然后我尝试重构 homepage
  • 到 MSMQ 还是不到 MSMQ? (或 SQL 表作为队列)

    我有一个分布式系统 其中有 1 个 SQL Server 1 n 个处理服务器和 1 n 个数据提供者 网络上的硬件设备 提供的数据在进入关系数据库结构之前需要进行处理 由处理服务器执行 作为 Windows 服务 net 代码来解析数据
  • Excel公式如何连接字符串以供外部参考

    假设我在单元格中有以下公式 该公式从另一个工作簿读取单元格的值 c temp external book xlsx SheetX E 4 我想要的值c temp external book xlsx SheetX来自此工作表中的另一个单元格