ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 301|回复: 6

[求助] 如何自动识别工作表名称并引用对应数值

[复制链接]

TA的精华主题

TA的得分主题

发表于 2024-4-29 14:58 | 显示全部楼层 |阅读模式
各位老师好。想实现这个功能,应该如何写代码。先谢谢大家。
微信截图_20240429145541.png

自动识别工作表名称并引用对应数值.zip

169.45 KB, 下载次数: 14

TA的精华主题

TA的得分主题

发表于 2024-4-29 15:09 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
这个用公式就可以了,然后下拉
B3=INDIRECT("'"&A3&"'!d2")

TA的精华主题

TA的得分主题

发表于 2024-4-29 15:18 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2024-4-29 15:19 | 显示全部楼层
参与一下。。。

  1. Sub ykcbf()  '//2024.4.29
  2.     Set sh = ThisWorkbook.Sheets("汇总")
  3.     ReDim brr(1 To 1000, 1 To 4)
  4.     For Each sht In Sheets
  5.         If sht.Name <> sh.Name And sht.Name <> "模版" Then
  6.             m = m + 1
  7.             brr(m, 1) = sht.Name
  8.             brr(m, 2) = sht.[d2].Value
  9.         End If
  10.     Next
  11.     With sh
  12.         .UsedRange.Offset(2) = ""
  13.         .[a3].Resize(m, 2) = brr
  14.         r = .Cells(Rows.Count, 1).End(3).Row
  15.         .Range("C3:C" & r).Formula = "=RANK(B3, B$3:B$" & r & ", 0)"
  16.         .Range("C3:C" & r).Value = Range("C3:C" & r).Value
  17.     End With
  18.     MsgBox "OK!"
  19. End Sub
复制代码


评分

1

查看全部评分

TA的精华主题

TA的得分主题

发表于 2024-4-29 15:26 | 显示全部楼层
在Excel中,自动识别工作表名称并引用对应数值可以通过几个步骤来实现。以下是一个清晰、分点的回答:
一、识别工作表名称
Excel本身并没有直接自动识别工作表名称的功能,但可以通过一些方法间接实现:
  • 手动查看:最简单的方法是手动打开Excel文件,依次点击每个工作表的标签来查看名称。
  • 使用VBA代码:通过编写VBA代码,可以快速提取Excel工作簿中的所有工作表名称。这需要一定的编程技能。
  • 使用公式:在Excel中,也可以使用特定的公式来提取工作表名称。例如,使用MID和CELL函数的组合可以达到这一目的。
  • 使用插件:市场上有一些Excel插件,如Kutools for Excel,提供了快速查看和管理Excel工作表名称的功能。
二、引用对应数值
识别了工作表名称后,可以通过以下方法引用对应数值:
  • 直接引用:如果你知道要引用的具体单元格位置,可以直接在公式中输入工作表名称和单元格地址来引用数值。例如,=Sheet1!A1会引用Sheet1工作表中A1单元格的数值。
  • 使用三维引用:如果要引用多个工作表中的同一位置的单元格,可以使用三维引用。例如,=SUM(Sheet1:Sheet3!A1)会计算Sheet1、Sheet2和Sheet3中A1单元格的和。
  • 使用INDIRECT函数:INDIRECT函数可以将文本字符串转换为实际的单元格引用。这在你需要根据工作表名称动态引用数值时非常有用。例如,如果A1单元格包含工作表名称“Sheet1”,则=INDIRECT(A1&"!B1")会引用Sheet1中B1单元格的数值。
  • 使用数据透视表:如果需要频繁地从多个工作表中汇总数据,可以考虑使用数据透视表。数据透视表可以方便地从不同的数据源中提取、汇总和分析数据。
三、注意事项
  • 当使用VBA代码或公式来自动识别工作表名称时,需要确保Excel文件的宏设置允许运行VBA代码。
  • 使用INDIRECT函数时需要注意,由于它是文本到引用的转换,所以可能会降低性能,特别是在处理大量数据时。
  • 数据透视表是一个强大的工具,但也需要一定的学习成本来掌握其全部功能。
综上所述,Excel提供了多种方法来自动识别工作表名称并引用对应数值,你可以根据自己的需求和技能水平选择最适合的方法。

成长作文网:http://www.sjzwndj.cn

成长作文网:http://www.sjzwndj.cn

TA的精华主题

TA的得分主题

发表于 2024-4-29 15:44 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
=INDIRECT(A3&"!D2")

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-4-29 18:11 | 显示全部楼层
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-11-1 07:08 , Processed in 0.037077 second(s), 14 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表