按名称引用 Excel 工作表?

2024-02-15

我将工作表的名称作为字符串存储在变量中。如何对该工作表执行某些操作?

我想我会做这样的事情:

nameOfWorkSheet = "test"
ActiveWorkbook.Worksheets(nameOfWorkSheet).someOperation()

我该如何完成这件事?


有多种选择,包括使用您演示的方法、使用以及使用变量。

我的偏好是下面的选项 4:Dim类型变量Worksheet并存储工作表并调用变量的方法或将其传递给函数,但是任何选项都有效。

Sub Test()
  Dim SheetName As String
  Dim SearchText As String
  Dim FoundRange As Range

  SheetName = "test"      
  SearchText = "abc"

  ' 0. If you know the sheet is the ActiveSheet, you can use if directly.
  Set FoundRange = ActiveSheet.UsedRange.Find(What:=SearchText)
  ' Since I usually have a lot of Subs/Functions, I don't use this method often.
  ' If I do, I store it in a variable to make it easy to change in the future or
  ' to pass to functions, e.g.: Set MySheet = ActiveSheet
  ' If your methods need to work with multiple worksheets at the same time, using
  ' ActiveSheet probably isn't a good idea and you should just specify the sheets.

  ' 1. Using Sheets or Worksheets (Least efficient if repeating or calling multiple times)
  Set FoundRange = Sheets(SheetName).UsedRange.Find(What:=SearchText)
  Set FoundRange = Worksheets(SheetName).UsedRange.Find(What:=SearchText)

  ' 2. Using Named Sheet, i.e. Sheet1 (if Worksheet is named "Sheet1"). The
  ' sheet names use the title/name of the worksheet, however the name must
  ' be a valid VBA identifier (no spaces or special characters. Use the Object
  ' Browser to find the sheet names if it isn't obvious. (More efficient than #1)
  Set FoundRange = Sheet1.UsedRange.Find(What:=SearchText)

  ' 3. Using "With" (more efficient than #1)
  With Sheets(SheetName)
    Set FoundRange = .UsedRange.Find(What:=SearchText)
  End With
  ' or possibly...
  With Sheets(SheetName).UsedRange
    Set FoundRange = .Find(What:=SearchText)
  End With

  ' 4. Using Worksheet variable (more efficient than 1)
  Dim MySheet As Worksheet
  Set MySheet = Worksheets(SheetName)
  Set FoundRange = MySheet.UsedRange.Find(What:=SearchText)

  ' Calling a Function/Sub
  Test2 Sheets(SheetName) ' Option 1
  Test2 Sheet1 ' Option 2
  Test2 MySheet ' Option 4

End Sub

Sub Test2(TestSheet As Worksheet)
    Dim RowIndex As Long
    For RowIndex = 1 To TestSheet.UsedRange.Rows.Count
        If TestSheet.Cells(RowIndex, 1).Value = "SomeValue" Then
            ' Do something
        End If
    Next RowIndex
End Sub
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

按名称引用 Excel 工作表? 的相关文章

  • Excel - 确定排列的奇偶性

    我正在处理一个 Excel 工作表 需要确定大小数字的垂直数组的奇偶校验N 该数组包含来自的每个数字1 to N每一次正好一次 在这种情况下 奇偶校验被定义为将加扰数组转换为从小到大排序的数组所需的交换次数 例如 数组 3 1 2 4 具有
  • 更改列标签?例如:将“A”列更改为“名称”列

    谁能告诉我如何更改列标签 例如 我想将列 A 更改为列 名称 Excel Excel 的版本是什么 一般来说 您无法更改列字母 它们是 Excel 系统的一部分 您可以使用工作表中的一行来输入您正在使用的表格的标题 表标题可以是描述性列名称
  • 如何在网页中显示嵌入的 Excel 文件?

    我想允许在网页中查看嵌入的 Excel 报告 有什么办法吗 我不想使用 ActiveX 或 OWC Office Web 组件 我只想从 Internet Explorer 应用程序打开现有文件 我不希望用户下载然后打开它 使用 ifram
  • 如何将 JavaScript 图表导出到 Excel 文件 (HighCharts)

    我必须将 Javascript 图表 HighCharts 导出到 Excel 文件中 图表在div中呈现 但excel不呈现javascript生成的html css内容 仅呈现没有样式的文本 一个解决方案是将图表渲染为图像 jpeg 但
  • VBA 激活 Internet Explorer 窗口

    我正在制作一个宏 用于打开 Internet Explorer 导航并登录网站 一切正常 但我需要将 IE 窗口放在前面并激活它 这样我就可以使用SendKeys在上面 我发现网站和视频在名为的命令上有不同的方法AppActivate我已经
  • 如何高效打开巨大的excel文件

    我有一个 150MB 的单页 Excel 文件 在一台非常强大的机器上使用以下命令打开大约需要 7 分钟 using python import xlrd wb xlrd open workbook file sh wb sheet by
  • Countif 不适用于小时和/或日期

    您好 我有 3 列内的数据 A 目的地 例如洛杉矶 B 承运人 例如 Ups C 发货时间 预计 4 00 使用的时间是24小时时间 不含Am Pm 我需要进行计数才能知道在特定时间我们有多少批货物 尝试过 COUNTIF A1 A100
  • 将最后几个功能添加到我的调度模板生成器中

    感谢 StackOverflow 上的一些出色的人 我几乎完成了调度模板生成器的代码 我还想补充三件事 但我遇到了一些麻烦 当前细分 我有两张表 2 员工列表 和 X 模板 员工列表中的值是从单元格 D9 开始的一列员工姓名 然后将员工值转
  • 文本到行 VBA Excel

    我有一个电子表格 其中包含大约 4000 行数据 其中一列数据具有唯一的订单号 我希望使用 作为分隔符将其分隔 所以本质上我想要 Name Order Date Jane 123 001 111 08 15 2013 Gary 333 12
  • 如何模拟“焦点”和“打字”事件

    尝试模拟 onfocus 和打字事件 但它不起作用 Sub Login MyLogin MyPass Dim IEapp As InternetExplorer Dim IeDoc As Object Dim ieTable As Obje
  • 当时间为 00:00 时,Pandas 读取 excel 返回类型对象

    在更新版本的 Pandas 中 我使用的是 1 2 3 当从 Excel 文件读取时间时 时间为 00 00 00 时会出现问题 下面的脚本 其中 filepath 是我的 Excel 文件的路径 其中包含一个标题名为 Time 的列 im
  • 合并和颜色样式不适用于 Apache POI excel 2003 格式

    在 Apache POI 中 我为某些单元格应用了一些样式并合并了这些单元格 当我在 2010 年或 2007 年打开时 它工作正常 但在 2003 年 格式样式消失了 每次保存 2003 Excel 文件之前都会弹出兼容性检查对话框 请参
  • 如何找到特定程序的安装目录?

    我已经成功地编写了一些用于工作的 VBA 宏 这些宏基本上创建了一个数据文件 将其提供给一个程序并对该程序的输出进行后处理 我的问题是程序安装路径是硬编码在宏中的 并且安装在我同事的计算机上可能会有所不同 我首先想到的是 我可以从每个人那里
  • 在合并的单元格中选择、插入照片并将其居中

    我是一名研发面包师 正在为我的团队制作食谱模板 模板中有照片 但我需要轻松地允许他们单击一个按钮 打开照片的文件选择器 然后将该照片放在合并的单元格中 我其实不太擅长做这个 Sub InsertPhotoMacro Dim photoNam
  • 我可以获取VBA代码中的注释文本吗

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

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

    我有一个 win32com Python 脚本 它将多个 Excel 文件合并到电子表格中并将其另存为 PDF 现在的工作原理是输出几乎都是 NAME 因为文件是在计算 Excel 文件内容之前输出的 这可能需要一分钟 如何强制工作簿计算值
  • VBA ByRef 参数类型不匹配

    最初在我的主代码部分中 我有一个丑陋的 if 语句 尽管它会运行丑陋 我决定将其设为我要调用的函数 这导致我收到错误 编译错误 ByRef 参数类型不匹配 我的假设是该函数需要正确引用 尽管我一直在阅读文档并且不明白为什么 gt 声明 Sh
  • Excel 数字缩写格式

    这是我想要完成的任务 Value Display 1 1 11 11 111 111 1111 1 11k 11111 11 11k 111111 111 11k 1111111 1 11M 11111111 11 11M 11111111
  • 如何在Power Query中对N列求和

    我的数据每月都会更新 因此我尝试创建一个强大的查询表 该表将显示我创建的枢转 N 列的总和 但我似乎不知道如何在强大的查询中执行此操作 我目前有这个代码 旋转后 创建要求和的列的列表 添加索引列以限制每行 添加一列 该列对该行的列进行求和

随机推荐

  • 如何在 Java 中快速检索目录列表?

    假设有一个非常简单的程序 列出给定目录的所有子目录 听起来很简单吗 除了在 Java 中列出所有子目录的唯一方法是使用文件名过滤器 http java sun com javase 6 docs api java io FilenameFi
  • php-fpm 和 nginx 会话问题

    过去一周左右我一直遇到这个问题 我一直在开发一个严重依赖会话的 PHP 项目 由于某种原因 过去几天我们在保存会话方面遇到了麻烦 知道为什么吗 这是错误 Warning Unknown open tmp sess mmd0ru5pl2h2h
  • Kendo 数据源参数映射

    我是剑道新手 我在模型绑定方面遇到问题 当我用 firebug 调试时 它显示options models 是不明确的 因此 parrameterMap 中的 if 条件始终为 false 并且网格不会填充数据 但是当我删除 parrame
  • Scientific Linux 上的 Grail(网络浏览器)安装

    我不确定 Grail 浏览器现在是否是一个好的选择 但是我想尝试一下 因为我在 Firefox Fermi 上运行图形时遇到一些问题 接下来是我尝试 grail 0 6 tgz 后获得的结果 python grail py Tracebac
  • 是否有本地 Google App Engine 数据查看器?

    我想离线使用谷歌的在线GAE数据查看器 是否有一些 python 代码可以显示我所有的本地数据甚至模式 是的 去http localhost 8000 ah admin http localhost 8000 ah admin 假设您正在使
  • 如何从服务器端 Blazor Net Core 5.0 调用 API 控制器操作?

    我创建了一个标准 Blazor 服务器应用程序 然后我添加了一个具有读 写操作的 API 控制器 现在我想从索引页调用一个操作 但它不起作用 应用程序运行没有错误 但没有返回预期的结果 状态 等待激活 方法 空 结果 尚未计算 我在控制器操
  • OpenNLP:类文件版本 55.0 错误,应为 52.0

    我在 IntelliJ IDEA 版本 17 0 6 中使用 Open NLP 版本 apache opennlp 2 2 0 库 但收到以下消息 java cannot access opennlp tools namefind Name
  • Castle ActiveRecord:映射到 C# 中的类中的 IUserType

    对于我当前的项目 我在 C 中使用 Castle 的 ActiveRecord 对于我的一个表 我确实需要使用自定义类型类 处理愚蠢的时间到时间跨度转换 为了保持我的代码干净 我喜欢定义派生自的类IUserType在对象映射类内 但我找不到
  • 如果 Moshi 中的值不匹配,如何回退到枚举

    我有一个枚举类 如果值与其中任何一个都不匹配 则希望它回退到特定的枚举值 我发现了一个关于使用 EnumJsonAdapter 的 Moshi 问题 但我没有看到任何可供我使用的公共类 我使用的是莫西 1 8 0 关于如何实现此目标的任何想
  • 为什么我的 rdd 中的 println 会打印元素字符串?

    当我尝试打印 RDD 的内容时 它会打印如下所示的内容 如何打印内容 谢谢 scala gt lines res15 org apache spark rdd RDD Array String MapPartitionsRDD 3 at f
  • OpenCL 双精度与 CPU 双精度不同

    我正在 Linux 中使用 GeForce GT 610 卡进行 OpenCL 编程 我的CPU和GPU双精度结果不一致 我可以在这里发布部分代码 但我首先想知道是否有其他人遇到过这个问题 当我运行多次迭代的循环时 GPU 和 CPU 双精
  • 需要有关 jQuery UI Accordion navigationFilter 选项的帮助

    我正在建造一个用于导航的手风琴 手风琴的每个部分都有一组链接 触发代码如下所示 document ready function selector accordion collapsible true active false navigat
  • IPFIX 数据通过 UDP 传输至 C# - 我可以解码数据吗?

    我有一个来自 MSDN 网站的代码示例 用于创建 UDP 侦听器 客户端 因为我尝试从防火墙接收 IPFIX Netflow 数据 然后使用收到的数据 该代码确实有效并开始接收数据 但它的行话 见下文 所以我想我没有正确解码它 有谁知道我需
  • 使用 NSExpression 计算值的平方?

    NSString formul 3 2 NSExpression e NSExpression expressionWithFormat formul int result e expressionValueWithObject nil c
  • .NET Core Web API / Angular 应用程序中的 Windows 身份验证

    我正在使用 Visual Studio 2019 Community 构建一个 Intranet 应用程序 用于创建 NET Core Web Api 使用 NET Core 2 2 并使用 Visual Studio Code 来创建 A
  • 用于更新值和查询过去某个时间值的状态的数据结构

    假设您对一堆独立的时变值感兴趣 每个值都代表某事物的当前状态 这些值不会按任何固定的时间表更改 并且无法从旧值预测新值 举一个具体的例子 假设您有一堆股票 并且您有兴趣跟踪它们的价值 并且每当对该股票进行交易时 您都会获得有关该股票的更新
  • 从“StringTokenizer”获取原始字符串中的位置

    我需要获取字符串中以空格分隔的标记 但我还需要知道原始字符串中每个标记的字符位置starts 有什么办法可以做到这一点StringTokenizer 另外 据我了解 这是一个遗留类 有没有更好的替代方法StringTokenizer 你应该
  • 尝试用 Java 从文件中读取 2 个单词

    我正在尝试编写一个简单的程序来读取文本文件并将单词对存储在Set 这是我为此编写的代码 import java io File import java io FileNotFoundException import java util Sc
  • 即使关联类型不同,特征实现也会发生冲突

    我正在尝试创建一个通用结构来包装isize or an AtomicIsize 但是当我尝试为该结构的两种可能实现实现一个特征时 我遇到了错误 我创建了一个最小的示例来演示我的问题如下 use std sync atomic AtomicI
  • 按名称引用 Excel 工作表?

    我将工作表的名称作为字符串存储在变量中 如何对该工作表执行某些操作 我想我会做这样的事情 nameOfWorkSheet test ActiveWorkbook Worksheets nameOfWorkSheet someOperatio