Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 5359|回复: 15

请求帮助:以一个模板工作表创建多个工作表里面有个编号递增

[复制链接]
发表于 2019-7-13 15:00 | 显示全部楼层 |阅读模式
请求宏代码的高手帮忙,想要达到的目的就是我附件上传的表格为例,以第一个工作表000为模板,创建多个工作表,比如我有100户,输入100或者是代码里面直接修改,就以000创建从001-100的一百个工作表,并且里面的D4字号编号也是以我上面的D4里面的如050406000这个尾数三位数001-100对应递增。也就是工作表表名为对应的001-100三位数的,但D4内容是以0504006000这个到0504006100这样子? 这个是第一步自动创建工作表的。 第二步我想达到的就是里面的户主及共有人栏目的内容,是不是可以直接在里面通过另一个数据表相应的内容自动填充进来?是不是在模板里面写上相应的公式,以此模板建立的工作表自动就可以按公式内容填充? 特请教下各路高手了。谢谢!!

booktest.rar

8.47 KB, 下载次数: 11

发表于 2019-7-13 17:22 | 显示全部楼层
booktest.rar (18.49 KB, 下载次数: 24)
回复

使用道具 举报

 楼主| 发表于 2019-7-16 10:14 | 显示全部楼层

实在是很感谢您,这个建表的问题解决了,就是还有一个问题,从原始工作表导入数据这个我没有看懂,或者是说我现在的这个原始资料与你这个有差别,所以不知道样修改下能按我这个原始资料来。我把我的原始资料表上传,看看建表的时候能不能自动导入数据。
原始资料里面,对应的户编号里面的人对应到相应的工作表里面,比如001户,有两人,在新表里面村和村民小组两列都要录入这户的所有人,包括姓名,身份证号码,股份数,股金,,上面的村对应原始数据表里面的村股份金,而下面的村民小组的对应的股份金是原始数据里面的村民小组的。

原始资料.rar

24.02 KB, 下载次数: 10

原始数据

回复

使用道具 举报

发表于 2019-7-23 08:33 | 显示全部楼层
本帖最后由 zjdh 于 2019-7-23 08:39 编辑

是这样吗?

原始资料.rar

69.58 KB, 下载次数: 133

评分

参与人数 1学分 +2 收起 理由
kingusj + 2 学习了

查看全部评分

回复

使用道具 举报

 楼主| 发表于 2019-7-23 09:09 | 显示全部楼层
太感谢你了,这样就更好了。我之前都是按你给我的新建表
在模板里面每个空表里面写个查找函数,按户编号来查询,再新建表
虽然也能变相的达到要求,不过没你这个这么方便,我之前也是一直这样想的,再次谢谢!
回复

使用道具 举报

 楼主| 发表于 2019-7-23 13:47 | 显示全部楼层

在你的这个文件里面执行是正常的,不过我把你的代码复制到我的这个表格里面执行怎么就不创建新表了,里面同样的有一个工作表模板是000,另一个是原始资料,我也修改为资料工作表了。
回复

使用道具 举报

发表于 2019-7-25 16:39 | 显示全部楼层
那个“资料(原始)”表不需要的,我只是让你比较用的。
而“资料”表是必须的!而且你必须按此格式输入数据!
回复

使用道具 举报

发表于 2019-7-25 16:41 | 显示全部楼层
搞不定就发我看看
dh_dq@163.com
回复

使用道具 举报

发表于 2020-4-7 11:32 | 显示全部楼层
zjdh 发表于 2019-7-25 16:39
那个“资料(原始)”表不需要的,我只是让你比较用的。
而“资料”表是必须的!而且你必须按此格式输入数据 ...

在吗,请求类似EXCEL案例的支援
回复

使用道具 举报

发表于 2020-4-7 12:47 | 显示全部楼层
zjdh 发表于 2019-7-25 16:41
搞不定就发我看看

QQ:1584564464 ,急,以下太深奥了,不会修改应用,请求支援

Sub TEST()
    P = InputBox("需要填写多少张表格", "表格张数", 1)
    If P = "" Or P < 1 Then Exit Sub
    Application.DisplayAlerts = False
    Application.ScreenUpdating = False
    For Each SH In Sheets         '删除旧表
        If IsNumeric(SH.Name) And SH.Name <> "000" Then SH.Delete
    Next
    For I = 1 To P
        Sheets("000").Copy AFTER:=Sheets(Sheets.Count)  '添加表
        S = 5                  '填表行
        N = Format(I, "000")   '表编号
        With ActiveSheet
            .Name = N
            .Range("D4") = "050406" & N    '证书编号
            For M = 2 To Sheets("资料").Range("A65536").End(3).Row
                If Sheets("资料").Cells(M, 1) = N Then
                    S = S + 1
                    .Cells(S, 3) = Sheets("资料").Cells(M, 2)
                    .Cells(S + 11, 3) = Sheets("资料").Cells(M, 2)
                    For J = 4 To 5
                        .Cells(S, J) = Sheets("资料").Cells(M, J)
                        .Cells(S + 11, J) = Sheets("资料").Cells(M, J)
                    Next
                    .Cells(S, 6) = Sheets("资料").Cells(M, 7)
                    .Cells(S + 11, 6) = Sheets("资料").Cells(M, 6)
                End If
            Next
        End With
        If S = 5 Then Sheets(N).Delete    '没有该户编号则删除
    Next
    Application.DisplayAlerts = True
    Application.ScreenUpdating = True
    MsgBox "运行完毕!"
End Sub



回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-3-29 16:17 , Processed in 0.687933 second(s), 11 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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