使用工作表 CodeName 并避免 .Select 和 .Activate

2023-12-11

在我的工作簿中,我经常需要使用它们来激活一些工作表CodeName then 搜索一些文本在那张纸上和使用单元格的行号或列号其中包含我正在寻找的文本。

在这种情况下,我使用以下代码:

Sheet16.Select '(Using codename)
Cells.Find(What:="FIRST TEXT I'M LOOKING FOR", After:= _
        ActiveCell, LookIn:=xlFormulas, LookAt:=xlPart, SearchOrder:=xlByRows, _
        SearchDirection:=xlNext, MatchCase:=False, SearchFormat:=False).Activate

   FirstRow= ActiveCell.Row

    Cells.Find(What:="SECOND TEXT I'M LOOKING FOR", After:= _
        ActiveCell, LookIn:=xlFormulas, LookAt:=xlPart, SearchOrder:=xlByRows, _
        SearchDirection:=xlNext, MatchCase:=False, SearchFormat:=False).Activate

SecondRow = ActiveCell.Row

Rows(FirstRow & ":" & SecondRow + 1).EntireRow.Hidden = False

一切都运行良好,但现在我正在尝试改进我的代码,并且我想更快地运行我的代码。

Now,

1- 如何轻松引用我的工作表的 CodeName?

(我正在寻找像 ThisWorkbook.Worksheets("Sheet1") 这样的答案 - 不是一个函数

Dim wb as Workbook, ws as Worksheet
set wb = ThisWorkbook
set ws = wb.CodeName(Sheet16) or wb.Sheet16 or sheet16
'then 
ws.Cells.Find(What ..........   rest of the code  ...... )

他们都不为CodeName财产。按代号完全引用工作表 or 使用 VBA 按代号引用另一个工作簿中的工作表没有回答我的问题。

2-我怎样才能避免使用。启用使用结果单元格单元格.Find()公式。

再次在该示例中,我首先搜索特定文本,即:=“我正在寻找的第一个文本”在我的代码的第一部分,然后我需要使用该单元格来获取它行号 or use offset or anything,正因为如此,我觉得自己有义务使用。启用因为,

FirstRow =  Cells.Find(What:="FIRST TEXT I'M LOOKING FOR", After:= _
        ActiveCell, LookIn:=xlFormulas, LookAt:=xlPart, SearchOrder:=xlByRows, _
        SearchDirection:=xlNext, MatchCase:=False, SearchFormat:=False).Row

类型的代码也不能正常工作。如何避免在 Excel VBA 宏中使用 Select在这个答案中有几个建议,但在这种情况下它们都没有帮助我。我试图从这个答案的所有者那里得到答案,以避免任何重复的问题,但他建议我问一个新问题。(只要我的两个问题都属于我的示例代码并且我会将它们连接起来,我就会在一个问题中将它们一起问。)


将工作表变量设置为代码名称时,限制是您只能在 ThisWorkbook(即包含代码的工作簿)中使用代码名称。

考虑这段代码...

Dim ws As Worksheet
Set ws = wsData 'where wsData is the CodeName of a sheet.

现在,在您的代码中,您可以在 ws 工作表上操作或执行操作,而无需激活或选择它。 实际上,在 CodeNames 的情况下,您不需要声明工作表变量,您可以通过使用工作表的代号直接引用该工作表,而不管当前哪个工作表处于活动状态。

like...

wsData.Cells.Clear
Set Rng = wsData.Range("A1").CurrentRegion

例如与你的另一个示例代码

Dim ws As Worksheet
Set ws = wsData 'where wsData is the CodeName of a sheet.

FirstRow = ws.Cells.Find(What:="FIRST TEXT I'M LOOKING FOR", After:= _
        ActiveCell, LookIn:=xlFormulas, LookAt:=xlPart, SearchOrder:=xlByRows, _
        SearchDirection:=xlNext, MatchCase:=False, SearchFormat:=False).Row

'Or just (without declaring the ws sheet variable where wsData is the sheet code name)
FirstRow = wsData.Cells.Find(What:="FIRST TEXT I'M LOOKING FOR", After:= _
        ActiveCell, LookIn:=xlFormulas, LookAt:=xlPart, SearchOrder:=xlByRows, _
        SearchDirection:=xlNext, MatchCase:=False, SearchFormat:=False).Row
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用工作表 CodeName 并避免 .Select 和 .Activate 的相关文章

  • 如何在VBA中将文本文件读取到数组中

    我正在尝试将制表符分隔的文本文件提取到数组中 我已经知道如何将该文本文件读入电子表格中 以下是我的代码 它运行良好 While Not EOF iFile Line Input iFile LineText Dim arr arr Spli
  • MySQL SELECT OpenCarts 数据库中的重复行

    只是玩一下 OpenCart DB 看看我是否能学到一些东西 如果我使用以下SELECT结果返回重复的行 SELECT DISTINCT p product id AS pid p model AS modelo SUBSTRING p m
  • 使用 VBA 将 Excel 工作表导入 Access

    我正在尝试使用一些简单的 VBA 代码将 Excel 电子表格导入到 Access 中 我遇到的问题是 Excel 文件中有 2 个工作表 我需要导入第二个工作表 是否可以在VBA代码中指定所需的工作表 Private Sub Comman
  • 查询获取每条记录的最小日期[重复]

    这个问题在这里已经有答案了 我想获取表中每条记录的最小日期 该表具有多个带有一个主键的日期条目 看看我的桌子 CaseNo Entry date ABC 001 2 12 13 ABC 002 2 09 13 ABC 001 1 01 13
  • 如何使用Excel的墨迹工具添加手写签名?

    我想在我公司的一些表格中添加手写数字签名 目标是选择一个文档 添加签名 通过使用绘图板 这可以使用 Excel 的墨水工具完成 并将文件作为 PDF 存储在服务器中 这将消除打印然后扫描表格以获得签名的必要性 我使用 Excel 作为文件操
  • C++ 在 Vector 中使用不可分配的对象

    我想将对象列表存储在std vector 但对象包含引用且无法分配给 但是 我可以复制构造该对象 我能想到的唯一选择是使用指针来包装对象并在需要分配指针时重新设置指针 但这样做的语法会显着降低可读性 特别是在使用迭代器时 我更喜欢另一种选择
  • 写入抓取数据的 csv 文件时如何拆分项目名称

    我有兴趣使用 R 从网上抓取的数据创建 csv 或类似的 Excel 兼容文件 到目前为止 我通过执行以下操作来存储数据 require textreadr spiegel lt read html http www spiegel de
  • Excel 公式转 SUMIF 日期属于特定月份

    我有以下格式的 Excel 数据 Date Amount 03 Jan 13 430 00 25 Jan 13 96 00 10 Jan 13 440 00 28 Feb 13 72 10 28 Feb 13 72 30 仅当月份位于时 我
  • C++ 内部如何存储引用? [复制]

    这个问题在这里已经有答案了 我只是想知道 引用是如何内部存储的 我觉得深入了解该级别将使我更好地理解指针与引用的概念并做出决策选择 我怀疑它的工作原理基本上与指针相同 但编译器负责处理指针 请指教 根本不要求以任何方式 存储 引用 就语言而
  • 从 Excel VBA 调用 Bloomberg BQL 查询

    出于复杂的原因 我想在 VBA 中自动调用 Bloomi BQL 查询 我正在从 VBA 脚本更改 Excel 工作表中 BQL Query 公式的输入 并调用 Application Calculate 来运行查询 显示更改为 N A 请
  • 根据单元格值返回图像(100 张图像和可变单元格)

    我正在尝试为我制作一个 TFT 云顶之弈 表 并想让它看起来更好 为此 我想添加游戏中冠军的图像 当我输入名称时 图像应该出现在下面 我找到了一种将所有图像插入 Excel 工作表 100 的方法 并且还成功制作了一个动态图像 插入 IND
  • 如何在 Eclipse 中引用不同的 Java 项目

    我有项目1和项目2 Project1 依赖于 Project2 我有点厌倦了 每次在 Project2 中进行一些代码更改时 我都必须导出 Project2 JAR 文件 并将其复制到 Project1 的 lib 文件夹中 有没有办法自动
  • 将整个工作表复制到 Excel 2010 中的新工作表

    我发现了类似的问题 涉及复制一个工作簿中的整个工作表并将其粘贴到另一个工作簿 但我感兴趣的是简单地复制整个工作表并将其粘贴到同一工作簿中的新工作表 我正在将 2003 xls 文件转换为 2010 xlsm 用于在工作表之间复制和粘贴的旧方
  • VBA FreeLibrary 不卸载 DLL

    当我使用完一个 DLL 文件后 我需要删除它 代码完成后清理 我尝试在 Excel VBA 中使用 LoadLibrary 和 FreeLibrary 但无论我做什么 Excel exe 都会坚持 DLL 文件 Public Declare
  • 自动电子邮件生成无法解析多个收件人

    我有一个 VBA 脚本 可以创建并保存草稿电子邮件 为了添加收件人 它从链接的 Excel 表中提取一个字符串并将其添加到 Recipients 对象中 对于只有单一收件人的电子邮件 这就像一个魅力 用户所需要做的就是打开草稿 花 5 秒钟
  • 如何使用 Rrank() 函数创建新的ties.method? [复制]

    这个问题在这里已经有答案了 我试图按人口和日期排序这个数据框 所以我使用order and rank 功能 gt df lt data frame idgeoville c 5 8 4 3 4 5 8 8 date c rep 1950 4
  • 两个数组相乘 - 区域小数分隔符问题

    Background 刚才 我回答了一个问题 我必须将两个相同大小的数组相乘 但是我注意到我的本地小数分隔符存在一个特殊问题 Sample Code Sub Sample Dim arr1 As Variant arr2 As Varian
  • 如何使用 VBA 将行从一张 Excel 工作表复制到另一张 Excel 工作表并创建重复项?

    我有一个包含两张表的 Excel 工作簿 sheet1 在 A 到 R 列中包含一个大型数据表 标题位于第 1 行 Sheet2 在 A 到 AO 列中包含数据 我试图使用 VBA 从sheet1 复制行并将它们粘贴到sheet2 的末尾
  • SQL查询从表的每条记录生成多条记录

    我有一个包含 3000 条记录的表 使用其中的每一条记录 我必须生成大约 200 条记录 总共 600k 条记录 并通过 SQL Server 2012 将它们插入到第二个表中 我尝试使用 VBA 执行此操作 从第一个表中选择数据 计算 然
  • 在 Nodejs/javascript 中的 Excel 中创建动态数量的列或标题

    我用过exceljsNodejs中用于将json数据导出到excel的模块 它工作正常 但必须在添加行之前预定义标题 列的名称 即列是固定的 添加行后 我无法动态添加列 我尝试了许多通过 npm 提供的模块 但它们都具有相同的功能 那么 有

随机推荐

  • 通过arg执行函数

    我想做的是 当我输入特定参数时 它会启动一个函数 这可以通过argparse 因此 如果我在应用程序中点击 add 参数 它就会触发 add 函数 parser argparse ArgumentParser description to
  • 为什么groupByKey操作总是有200个任务?

    每当我做一个groupByKey在 RDD 上 即使原始表非常大 它也会分为 200 个作业 例如2k 个分区和数千万行 此外 该操作似乎陷入了最后两个任务 这两个任务的计算时间非常长 为什么是200 如何增加它 会有帮助吗 这个设置来自s
  • 如何在Django html页面中显示外键数据?

    我想从相关的外键模型中获取数据 但我无法从相关的模型中获取数据 请告诉我该怎么做 我要显示name价值来自Model2 table 这是我的models py file class Customer models Model cus nam
  • android快速获取所有用户的朋友个人资料图片

    我正在寻找一种快速获取我所有朋友的个人资料照片的方法 我正在使用适用于 Android 的 Facebook SDK 现在我正在获取我朋友的列表 JSON 对象并在该对象内使用 for 循环运行 在循环中 我将每个图像放入 Drawable
  • MVC 6 绑定属性消失了?

    请原谅我的菜鸟问题 但我注意到 MVC 6 的绑定属性不再作为默认值出现在控制器模板中 我知道该属性仍然存在 但我们仍然需要使用它们吗 我听说它们可以用来防止过度发布攻击 他们是否会删除它 因为 MVC 6 可以找到在不使用它们的情况下防止
  • 线程“main”中的异常 java.lang.NoClassDefFoundError: org/codehaus/jackson/JsonParseException

    我正在使用 Twilio 从我的网络应用程序发送 SMS 消息 我几乎已经完成了集成 它正在发送短信 但生成了错误 我不明白为什么 我已经包含了一个 JSON 依赖项json和这个文件link但我仍然收到错误 我还需要包含哪些其他罐子 Ex
  • 使用 qmake 获取日期

    由于我使用今天的日期作为我的应用程序版本 因此我有兴趣自动填充它 目前我正在我的项目文件中执行以下操作 VERSION 15 4 20 但我想让它自动进行 VERSION YEAR MONTH DAY 任何想法 您可以使用QMAKE POS
  • 抛出异常的哪一部分成本很高?

    在 Java 中 当实际上没有错误时 使用 throw catch 作为逻辑的一部分通常是一个坏主意 部分 因为抛出和捕获异常的成本很高 并且在循环中多次执行通常比其他方法慢得多不涉及抛出异常的控制结构 我的问题是 成本是在 throw c
  • 为什么使用“new NetworkCredential(用户名、密码)”无法对我的网站进行基本身份验证(从 WinForms C# 应用程序)?

    我有一个使用基本身份验证 用户名 密码 的网站 为什么下面的代码不起作用 当我运行它时 Web 应用程序会将我带到登录控制器 而我希望在我填充凭据的情况下它应该已经经过身份验证 换句话说 我试图确认在 NET 中如何确认我的winforms
  • JMeter。如何确定线程组何时完成

    我需要运行两个单独的线程组 第二组有无限循环计数 当第一组完成后 停止第二组 我如何确定第一组何时完成 这对我来说是工作 克里特岛 BeanShell 预处理器 代码如下 props put DONE FALSE 使用以下代码创建 Bean
  • .dll 已加载到另一个类加载器中?

    我有一个在 Tomcat 3 2 1 下运行的 web 应用程序 需要进行 JNI 调用 为了访问遗留 C 代码中的数据和方法 servlet 已加载 在 webapp 的启动 作为其一部分init方法 产生一个数据集 特定于要加载到 C
  • Python 中的日期时间解析时区不一致

    当我在 Python 3 X 中运行以下命令时 import datetime DATE TS FORMAT Y m d H M S f Z date ts datetime datetime 2019 1 2 3 4 5 tzinfo d
  • Python timedelta 负值问题

    您好 我需要一些帮助来理解为什么会发生这种情况 我有一种方法可以跟踪事件程序中的 剩余时间 def get program time budget self return self estimated duration self get p
  • 多处理在 Ubuntu 中有效,但在 Windows 中无效

    我正在尝试使用这个例子作为我的cherrypy应用程序上的排队系统的模板 我能够将它从 python 2 转换为 python 3 更改from Queue import Empty into from queue import Empty
  • 无法使用 SPARQL 从 LinkedMDB 检索高 ID 的电影

    我正在运行以下查询LinkedMDB SPARQL 端点它有效 有了它 我可以获得有关 id 72 的电影导演的所有信息 即Titanic 所以我得到了关于詹姆斯 卡梅隆的信息 PREFIX mdb
  • Laravel 5 中间件“所有者”?

    我在创建 所有者 中间件时遇到麻烦 例如 我有一个Articles and User模型关联于user id key 我想将 所有者 中间件添加到ArticlesController 因此该文章的唯一所有者可以编辑 更新和删除它 我已经搜索
  • 我可以使用设备的相机在 Unity 中拍照吗?

    我完全不熟悉 Unity3D 更复杂的功能集 并且很好奇它是否有能力拍摄照片然后对其进行操作 具体来说 我的愿望是让用户拍一张自拍照 然后让他们在脸部周围描画以创建一个 PNG 然后将其纹理映射到模型上 我知道将面部映射到模型上很简单 但我
  • 在 didFinishLaunchingWithOptions 结束之前是否曾调用过 applicationWillResignActive ?

    某个场景会发生在哪里吗 applicationWillResignActive 之前会被调用application didFinishLaunchingWithOptions ends 基本上 我可以指望application didFin
  • TryParse SSIS 忽略源行

    我有一个序列化代码 在该代码中存在一些数值 这些数值在解析时表示日期 For example 011756420176654 Note array index may be off Substring 1 2 01 Substring 3
  • 使用工作表 CodeName 并避免 .Select 和 .Activate

    在我的工作簿中 我经常需要使用它们来激活一些工作表CodeName then 搜索一些文本在那张纸上和使用单元格的行号或列号其中包含我正在寻找的文本 在这种情况下 我使用以下代码 Sheet16 Select Using codename