首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >跨相关工作表复制值

跨相关工作表复制值
EN

Stack Overflow用户
提问于 2017-01-05 02:09:21
回答 2查看 139关注 0票数 1

我希望将一个工作表中的值范围复制到另一个工作表的指定范围中,而值总是来自以前的工作表(工作表行中),即使在复制工作表之后也是如此。我使用以下方法将值从一个工作表复制到另一个工作表,这似乎有效:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Sub Copy_ultimo_stock()

'copy values between two periods
Worksheets("Period2").Range("test3").Value = Worksheets("Period1").Range("test2").Value

End Sub

我必须给单元格的范围命名(test2和test3),因为如果我使用实际的单元格范围(如"R10:S11“),宏就无法工作。然而,在未来,我只想使用单元格范围作为"R10:S11“。

然而,我的实际问题是以下几点。如果将来复制工作表(将来的工作表),我希望始终从以前的工作表复制单元格范围。按照我现在所做的方式,如果我复制工作表period2,并调用它(可能是period6 ),它仍然会从period1工作表复制值。但是,我希望当前工作表"n“将从工作表"n-1”中的范围复制值。

我已经找到了一种有点类似的方法,可以帮助,但我不能将两个宏合并成一个。这一做法如下:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Function PrevSheet(rCell As Range)
    Application.Volatile
    Dim i As Integer
    i = rCell.Cells(1).Parent.Index
    PrevSheet = Sheets(i - 1).Range(rCell.Address)
End Function
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-01-05 02:44:04

编辑

因此,您需要的是一个从“前一个工作表”导入的宏,因此当您单击按钮时,子例程首先从当前获取前一个表,然后相应地获取值。

我们将假设所有工作表都被命名为“周期”,其中x是标识周期的整数。创建新工作表副本时,首先需要将新工作表重命名为“周期”,然后单击按钮从工作表"periody“中获取值,其中y= x-1。

只需将按钮处理程序Copy_ultimo_stock()替换为下面一个:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Sub Copy_ultimo_stock()
    Dim wsCur As Worksheet, wsPrev As Worksheet
    Set wsCur = ActiveSheet
    ' We will suppose that all Worksheets are named like "periodx"
    ' where x is an integer identifying the period
    On Error Resume Next ' try fetching the previous ws as "periody" where y = x-1
    Dim x As Integer: x = CInt(Mid(wsCur.Name, Len("period") + 1))
    Set wsPrev = ThisWorkbook.Sheets("period" & (x - 1))
    If Err.Number <> 0 Then
       msgBox "Could not find the previous worksheet, Please check Worksheet names"
       Exit Sub
    End If
    On Error GoTo 0

    ' Now we copy the previous values. You can customize the ranges if the design changes
    wsCur.Range("D2:L8").Value = wsPrev.Range("D10:L16").Value

End Sub

此外,您可以通过添加另一个按钮来自动生成新的周期工作表,例如“生成下一个时间段”,该按钮将创建新的ws并给它适当的名称。这将节省用户复制工作表和重命名工作表的任务。新按钮的代码如下所示:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Sub create_next_period()
    Dim wsCur As Worksheet, wsNext As Worksheet
    Set wsCur = ActiveSheet

    On Error Resume Next
    Dim x As Integer: x = CInt(Mid(wsCur.Name, Len("period") + 1))
    If Err.Number <> 0 Then
       msgBox "Please check Worksheet name. It should be named periodx"
       Exit Sub
    End If

    Set wsNext = ThisWorkbook.Sheets("period" & (x + 1))
    If Err.Number = 0 Then
       msgBox "The worksheet " & wsNext.Name & " already exists"
       Exit Sub
    Else
        Err.Clear
        wsCur.Copy After:=Worksheets(Worksheets.Count)
        Set wsNext = Worksheets(Worksheets.Count)
        wsNext.Name = "period" & (x + 1)
        wsNext.Activate
        Call Copy_ultimo_stock
    End If
End Sub
票数 0
EN

Stack Overflow用户

发布于 2017-01-05 02:18:36

当你给你的细胞起名字的时候:

范围(“任何”).name=“工作表!名称”

而不仅仅是

范围(“任何”).name=“名称”

==>通过这种方式,您可以在几张单张上给出相同的命名范围,而不存在任何问题。

希望这能有所帮助。

不过,我不会建议使用太多的命名范围.

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41482194

复制
相关文章
VBA技巧:复制多个工作表
有时候,我们想要批量复制多个工作表到新的工作簿,可以使用VBA代码来实现。例如,工作簿中有三个工作表,其名称分别为:Data、完美Excel和Output,要将这三个工作表一次复制到一个新的工作簿中并保存,示例代码如下:
fanjy
2022/11/16
2.5K0
mysql复制系列6-复制信息相关的表
复制状态信息查看可以通过一些语句如(show slave status)和相关的系统表来进行查看,它们之前有对应的关系
wangwei-dba
2021/05/17
1.6K0
Python-Excel-08-复制工作表
系统:Windows 7 语言版本:Anaconda3-4.3.0.1-Windows-x86_64 编辑器:pycharm-community-2016.3.2
zishendianxia
2019/10/23
9540
Python-Excel-08-复制工作表
Excel-VBA复制工作表到新工作簿方法
如:在文件“自动工具.xlsx”中有一个工作表为“模板”。我想在“模板”工作表中输入数据,再另存为一个新的文件为“小龙女.xlsx”
哆哆Excel
2022/10/31
11.7K0
跨域相关
跨域是前端开发中经常遇到的一个问题,主要是由于请求的源地址与目标地址不同源产生的问题。下面我们就深入的了解和学习一下有关跨域的那些事儿。
木子墨
2018/09/13
5290
跨域相关
Excel公式技巧14: 在主工作表中汇总多个工作表中满足条件的值
我们可能熟悉使用INDEX、SMALL等在给定单列或单行数组的情况下,返回满足一个或多个条件的值的列表。这是一项标准的公式技术。
fanjy
2020/03/12
9.1K0
Python-Excel-openpyxl-05-新建工作簿/复制及新建工作表
系统:Windows 7 语言版本:Anaconda3-4.3.0.1-Windows-x86_64 编辑器:pycharm-community-2016.3.2 openpyxl:2.6.2
zishendianxia
2019/10/23
5.6K0
Python-Excel-openpyxl-05-新建工作簿/复制及新建工作表
MySQL高可用--MGR入门(2)组复制监控常用相关表
performance_schema.replication_group_member_stats
数据和云
2022/02/17
9690
MySQL高可用--MGR入门(2)组复制监控常用相关表
VBA实战技巧29:从一个工作表复制数据到另一个工作表
今天演示一个简单的例子,也是经常看到网友问的问题,将一个工作表中的数据复制到另一个工作表。
fanjy
2021/07/30
25.6K1
VBA小技巧10:删除工作表中的错误值
如果不使用VBA,可以使用Excel的“定位”功能来实现。如下图3所示,单击功能区“开始”的“编辑”组中的“查找和选择——定位条件”,弹出“定位条件”对话框。在该对话框中,选取“公式”中“错误”前的复选框,如下图3所示。
fanjy
2021/07/30
3.5K0
Excel公式技巧41: 跨多工作表统计数据
示例工作簿中有3个需要统计数据的工作表:表一、表二、表三,还有1个用于放置统计数据公式的工作表:小计,如下图1所示。
fanjy
2020/07/29
15.5K1
Excel公式技巧41: 跨多工作表统计数据
Excel公式技巧54: 在多个工作表中查找最大值/最小值
要在Excel工作表中获取最大值或最小值,我们马上就会想到使用MAX/MIN函数。例如,下图1所示的工作表,使用公式:
fanjy
2020/09/17
11.7K0
Excel公式技巧54: 在多个工作表中查找最大值/最小值
MySQL跨表查询
    跨表查询适用于两个及两个以上的表中关联信息的数据,通过联系查询到表的联系!
十月梦想
2018/10/11
9.3K0
MySQL跨表查询
python合并工作表 VS excel合并工作表,看看合并工作表哪家强!
在日常办公工作中,我们可能会碰到多个或者几百上千个数据结构都相同 sheet工作表需要你进行合并汇总。而excel和python都能进行工作表的合并,那你知道他们两个的操作谁更为好用的吗?今天就分别介绍excel和python合并工作表的方法,看看合并工作表那家强!
Python与Excel之交
2021/08/05
1.6K0
Excel公式技巧55:查找并获取最大值/最小值所在的工作表
在《Excel公式技巧54:在多个工作表中查找最大值最小值》中,我们在MAX/MIN函数中使用多工作表引用来获取最大值/最小值。现在更进一步,我们想要获取最大值/最小值所在的工作表名称。
fanjy
2020/09/25
2.7K0
Excel公式技巧55:查找并获取最大值/最小值所在的工作表
react跨组件传值
一层一层的传递,app组件通过props一层一层的往下传给ProfileHeader组件,期间通过了Profile组件,但Profile组件并不需要props。
hss
2022/02/25
6150
java对象复制和属性值复制工具类[通俗易懂]
两个不同类型的对象中有字段名称不区分大小写的情况下一样,字段含义一样,需要组装到另一个对象中去,然后就写了一个这种工具类 我的类型比较特殊,老系统和新系统的对象命名大小写命名不一致,并且字段相同类型也有不一致的情况,所以自己写了一个, 不是很完美基本能用。
全栈程序员站长
2022/11/10
1.4K0
[Oracle 日常管理]表的相关操作
新增字段 alter table hdbft.rpt_device_group add( BLNAME varchar2(20),FAMILYGROUP varchar2(20)) 修改字段 alter table fwassy.fwcatns_returndie modify (WMDUQTY varchar2(30)); 建立索引 create index SAPSR3.WIP_ACTIVITY_LOT_LINEID ON dcwip.wip_activity( Lot_ID,factory_line_
bsbforever
2020/08/19
3760
MySql表table相关
文章目录[隐藏] 修改表名 删除表 修改表名 # rename rename table 旧表名 to 新表名; rename table my_table to new_table; # alter alter table 旧表名 rename [as] 新表名 alter table mytable rename as new_table; 删除表 drop 1、drop是DDL,会隐式提交,不能回滚,不会触发触发器。 2、drop语句删除表结构及所有数据,并将表所占用的空间全部释放。 3
用户10325771
2023/03/01
5910
Elasticsearch 主从同步之跨集群复制
跨集群复制(Cross-cluster replication,简称:CCR)指的是:索引数据从一个 Elasticsearch 集群复制到另一个 Elasticsearch 集群。
铭毅天下
2021/12/01
2.8K0
Elasticsearch 主从同步之跨集群复制

相似问题

VBA -跨工作表复制数据

10

跨工作表复制粘贴(VBA)

26

VBA -跨多个工作表复制数据

10

跨多个表复制

10

如何在excel中跨工作表复制格式

11
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

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

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文