Loading [MathJax]/jax/output/CommonHTML/config.js
社区首页 >问答首页 >如何使用宏命名未来动态创建的工作表上的范围?

如何使用宏命名未来动态创建的工作表上的范围?
EN

Stack Overflow用户
提问于 2015-06-22 20:03:49
回答 2查看 1.2K关注 0票数 1

我想知道是否可以使用宏来命名工作表上还不存在但将来会出现的范围。

在我试图使用的实例中,未来的电子表格是使用一个Worksheet_Change事件动态创建的,其中新表的名称被键入到一个列表中。(如果相关,我可以包括用于此的宏)

我已经研究了几个想法:

我尝试过使用=Indirect,就像这里在StackOverflow上指出的那样。

工作表名称已填充到A2中,所需的单元格位于新页上的B30中:=INDIRECT("'"&$A2&"'!"&B30)),但这不能工作,因为:

由于工作表可以命名为任何内容,因此此解决方案使用绝对引用,而不是相对引用。相对引用是首选的,因为引用的单元格可以在插入/删除的行中向上或向下移动。

我也尝试使用宏来定义一个命名的范围。以下宏在定义工作表名称时工作(在本例中,是在“主”工作表上)。它找到一个单元格值,并将右边的单个单元格范围6命名为"Total"+Sheetname (在本例中为"TotalMaster")。

我感到困惑的部分是如何在宏观上参考未来的报表。这是进一步复杂的事实,可能有任何数量的新床单。我还希望能够动态地将范围命名为"Total"+Sheetname

代码语言:javascript
代码运行次数:0
复制
Sub MakeName()
Dim Sht As String

Sht = ActiveSheet.Name

  Sheets("Master").Range("A1").Select
    Cells.Find(What:="TOTAL MD (RES)", After:=ActiveCell, LookIn:=xlFormulas, _
    LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
    MatchCase:=False).Activate
  ActiveCell.Offset(0, 6).Select
  ActiveWorkbook.Names.Add Name:="Total" & Sht, RefersTo:=Selection

End Sub

总结我的问题:

  1. 如何编辑宏来命名未来页面上的范围?我想这可以合并到一个worksheet_change事件中,这样当一个新的sheetname被添加到sheets列表中时,宏就会在新页面上运行吗?
  2. 如何编辑这些代码部分以引用新创建的工作表,而不是活动工作表? Sht = ActiveSheet.Name & ActiveWorkbook.Names.Add Name:="Total" & Sht
EN

回答 2

Stack Overflow用户

发布于 2015-06-22 20:26:38

使用Workbook_NewSheet事件。如果添加了图表表(而不是工作表),则应该注意确保代码不会被触发。类似于:

代码语言:javascript
代码运行次数:0
复制
Private Sub Workbook_NewSheet(ByVal Sh As Object)
    On Error GoTo ignore_me
    Dim ws As Worksheet
    Set ws = Sh
    ActiveWorkbook.Names.Add Name:="Total" & ws.Name, RefersTo:=ws.Range("A1")
    Exit Sub
ignore_me:
    'must be a chart sheet added -- take no action
End Sub
票数 1
EN

Stack Overflow用户

发布于 2015-06-22 20:38:42

这就是你想要的吗?

代码语言:javascript
代码运行次数:0
复制
Private Sub Workbook_NewSheet(ByVal Sh As Object)
    If Sh.Type <> -4167 Then Exit Sub

    Dim aCell As Range, rng As Range

    Set aCell = ThisWorkbook.Sheets("Master").Cells.Find(What:="TOTAL MD (RES)", _
                                                         LookIn:=xlFormulas, _
                                                         LookAt:=xlPart, _
                                                         SearchOrder:=xlByRows, _
                                                         SearchDirection:=xlNext, _
                                                         MatchCase:=False)

    If Not aCell Is Nothing Then Set rng = aCell.Offset(, 6)

    If Not rng Is Nothing Then _
    ThisWorkbook.Names.Add Name:="Total" & Sh.Name, RefersTo:=rng
End Sub
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30993656

复制
相关文章
python之创建类的对象
  Python 是一门易于学习、功能强大的编程语言。它提供了高效的高级数据结构,还能简单有效地面向对象编程。Python 优雅的语法和动态类型以及解释型语言的本质,使它成为多数平台上写脚本和快速开发应用的理想语言。下面我们来介绍一下python的创建类的对象。
jiankang666
2022/12/05
6470
python之创建类的对象
Python面向对象编程-类和对象-对象的创建和使用
在Python中,对象是一种数据结构,它封装了数据和行为,并允许对它们进行操作。对象是根据类定义的,它们具有类定义的属性和方法。本文将介绍如何在Python中创建和使用对象。
玖叁叁
2023/04/19
1.1K0
python学习笔记(10)python面向对象(一)类的创建实战
在python中使用class语句来创建一个类,class之后为类的名称并以冒号结尾,例子如下:
大数据小禅
2021/08/16
3810
类加载机制与对象的创建
查找并加载类的二进制数据加载时类加载过程的第一个阶段,在加载阶段,虚拟机需要完成以下三件事情:
leobhao
2022/06/28
6920
类加载机制与对象的创建
Python类对象
属性引用 使用 Python 中所有属性引用所使用的标准语法: obj.name。 有效的属性名称是类对象被创建时存在于类命名空间中的所有名称。 因此,如果类定义是这样的:
py3study
2020/01/16
7580
python 面向对象、类、对象
class 类 object 对象 object-oriented programming 面向对象,简称OOP attribute 属性 method 方法 inheritance 继承
py3study
2020/01/10
1.3K0
创建自定义类的对象数组
CN_Simo
2017/12/26
2.3K0
创建自定义类的对象数组
Python的类和对象
对象=属性(特征)+方法(行为) 类:在python中,把具有相同属性和方法的对象归为一个类(class) self: init()构造方法,只要实例化一个对象,这个方法就会在对象被创建时自动调用。
企鹅号小编
2018/01/08
8950
Python的类和对象
Python - 面向对象编程 - 什么是 Python 类、类对象、实例对象
https://www.cnblogs.com/poloyy/p/15178423.html
小菠萝测试笔记
2021/09/07
9430
Python的类和对象
面向对象编程是最有效的软件编写方法之一。在面向对象编程中,你编写表示现实世界中的事物和情景的类,并基于这些类来创建对象。理解面向对象编程有助于你像程序员那样看世界,还可以帮助你真正明白自己编写的代码:不仅是各行代码的作用,还有代码背后更宏大的概念。
stormwen
2019/08/05
7010
python 通过元类控制类的创建
在上面这张图中,A是我们平常在python中写的类,它可以创建一个对象a。其实A这个类也是一个对象,它是type类的对象,可以说type类是用来创建类对象的类,我们平常写的类都是type类创建的对象,再由创建的对象再去创建我们平常使用的对象,我们可以看看type的官方文档
py3study
2020/01/17
1.5K0
【Python】此集合非彼集合
🚀write in front🚀    🔎大家好,我是謓泽,希望你看完之后,能对你有所帮助,不足请指正!共同学习交流🔎 🏅2021年度博客之星物联网与嵌入式开发TOP5→周榜31→总榜2513🏅 🆔本文由 謓泽 原创 CSDN首发🐒 如需转载还请通知⚠ 📝个人主页:打打酱油desu-CSDN博客🎓 🎁欢迎各位→点赞👍 + 收藏⭐️ + 留言📝​ 📣系列专栏:【Python】系列_謓泽的博客-CSDN博客🎓 ✉️我们并非登上我们所选择的舞台,演出并非我们所选择的剧本📩 ---- 目录 🎓写在前
謓泽
2022/12/12
7340
python 类的创建, 实例化, 初始化以及面向对象(4.1)
子类可以继承父类的所有属性和方法, 但是同时子类也可以重写父类的属性和方法, 达到自定义的目的.
友儿
2022/09/28
1.2K0
关于类的对象创建与初始化
今天,我们就来解决一个问题,一个类实例究竟要经过多少个步骤才能被创建出来,也就是下面这行代码的背后,JVM 做了哪些事情? Object obj = new Object(); 当虚拟机接受到一条 new 指令时,首先会拿指令后的参数,也就是我们类的符号引用,于方法区中进行检查,看是否该类已经被加载,如果没有则需要先进行该类的加载操作。 一旦该类已经被加载,那么虚拟机会根据类型信息在堆中分配该类对象所需要的内存空间,然后返回该对象在堆中的引用地址。 一般而言,虚拟机会在 new 指令执行结束后,显式调
Single
2018/04/17
8220
关于类的对象创建与初始化
python对象和类
#coding:utf-8 #1、对象是一个有着相应行为的数据的集合 #2、在面向对象建模中,用于各种描述对象的属于叫做类 #3、类和对象的区别:类描述了对象,是创建对象的模板 #4、关联是把两个类联系起来最基本的方式 #5、一个类可以通过关系中其他端的任何一个对象关联在一起,这个类的对象数量就表示多样性 #描述苹果对象的类 class Apple:     pass #描述橘子对象的类 class Orange:     pass #描述篮子对象的类 class Basket:     pa
py3study
2020/01/10
4680
python类与对象
类是一种数据类型,而对象是具有这种数据类型的变量。类是抽象的,不占有内存空间。而对象是具体的,占有储层空间。 python中,通过class关键字定义类。 形式: class className: 类体 类体定义类的成员,有二种类型成员。一是数据成员,它描述问题的属性。二是成员函数,它描述问题的行为。 类是抽象的,要使用类定义的功能必须将类实例化,即创建对象。 对象名=类名(参数列表) class Person: name=' ' age=0 def displa
热心的社会主义接班人
2018/06/04
5760
python面向对象,类
    是面向对象中的俩个重要概念,类是对事物的抽象,比如人类,球类。对象是事物的实例,比如足球,篮球。球类可以对球的特征和行为进行抽象,然后可以实例化一个真实的球体出来。
py3study
2020/01/10
4860
Python 类与对象
✅作者简介:人工智能专业本科在读,喜欢计算机与编程,写博客记录自己的学习历程。 🍎个人主页:小嗷犬的博客 🍊个人信条:为天地立心,为生民立命,为往圣继绝学,为万世开太平。 🥭本文内容:Python 类与对象 ---- Python 类与对象 1.类与对象 1.1 类的定义 1.2 类的方法 2.继承 2.1 单继承 2.2 多继承 2.3 方法重写 3.私有属性与方法 ---- 1.类与对象 Python 是一种面向对象的编程语言。 Python 中的几乎所有东西都是对象,拥有属性和方法。
小嗷犬
2022/11/15
2240
【Python】类和对象
创建名为 Person 的类,使用 init() 函数为 name 和 age 赋值。
自学气象人
2023/06/20
1300
【Python】类和对象
python 类和对象
目标 类和对象的概念 类和对象的关系 类的设计 01. 类和对象的概念 类 和 对象 是 面向对象编程的 两个 核心概念 1.1 类 类 是对一群具有 相同 特征 或者 行为 的事物的一个统称,是抽
Devops海洋的渔夫
2019/06/02
6060

相似问题

python创建类的对象

20

Python中的卡特彼勒图

18

如何在Javascript中创建此类对象

212

创建对象列表的Python类

34

Python类和对象创建

21
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档