Excel精英培训网

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

[已解决]描述如下

[复制链接]
发表于 2015-7-23 13:11 | 显示全部楼层 |阅读模式
將模版自動復制一個出來.然後依數據源中的第一條記錄,其中十個空填入在復制出來的工作表中,並將復制出來的工作表命名為第一條記錄的法人名稱.保存.復制到一個.同樣的操作.全部復制出來之後.結束.保存.謝謝好心的大神援手.感謝.
最佳答案
2015-7-23 16:41
本帖最后由 gufengaoyue 于 2015-7-23 17:10 编辑

试试看吧。2000多个表,我怕卡死,只试到100个表,你自己试试。
2000多个表放在同一个文件里,恐怕很难受...
  1. Sub xx()
  2. On Error Resume Next
  3. Application.ScreenUpdating = False
  4. Dim arr
  5. arr = Sheets("數據源").UsedRange
  6. For a = 3 To UBound(arr)
  7.     If Trim(arr(a, 4)) <> "" Then
  8.         Sheets("樣板").Copy after:=Sheets(Sheets.Count)
  9.         ActiveSheet.Name = Replace(arr(a, 3), "?", "")
  10.          [d6] = arr(a, 3)  'c
  11.          [d7] = arr(a, 4)  'd
  12.          [h6] = arr(a, 2)  'b
  13.          [h7] = arr(a, 6)  'f
  14.          [d9] = arr(a, 8)  'h
  15.          [h9] = arr(a, 10) 'j
  16.         [d10] = arr(a, 14) 'n
  17.         [d11] = arr(a, 16) 'p
  18.         [h10] = arr(a, 15) 'o
  19.         [h11] = arr(a, 22) 'v
  20.     End If
  21. Next
  22. Application.ScreenUpdating = True
  23. MsgBox "分表完成!", vbInformation
  24. End Sub
复制代码

名单.rar

225.13 KB, 下载次数: 13

发表于 2015-7-23 14:36 | 显示全部楼层
1, 一个法人一个文件?还是在这个文件多增加工作表?
2,同一法人多个企业,要怎么弄?

看起来好像是宜昌的工商还是税务啊。
回复

使用道具 举报

 楼主| 发表于 2015-7-23 14:51 | 显示全部楼层
gufengaoyue 发表于 2015-7-23 14:36
1, 一个法人一个文件?还是在这个文件多增加工作表?
2,同一法人多个企业,要怎么弄?

感謝大俠抽時間幫我看下.是的.一條記錄,一個表.一共兩千多條記錄,湖北宜昌的.
回复

使用道具 举报

 楼主| 发表于 2015-7-23 15:55 | 显示全部楼层
繼續等待各位大俠出手相助
回复

使用道具 举报

发表于 2015-7-23 16:05 | 显示全部楼层
心正意诚身修 发表于 2015-7-23 14:51
感謝大俠抽時間幫我看下.是的.一條記錄,一個表.一共兩千多條記錄,湖北宜昌的.

同一个法人,多个企业,以法人 1\2\3\4...来?
回复

使用道具 举报

 楼主| 发表于 2015-7-23 16:20 | 显示全部楼层
gufengaoyue 发表于 2015-7-23 16:05
同一个法人,多个企业,以法人 1\2\3\4...来?

以納稅人名稱為准吧..一個納稅人名稱一個表格.
回复

使用道具 举报

发表于 2015-7-23 16:41 | 显示全部楼层    本楼为最佳答案   
本帖最后由 gufengaoyue 于 2015-7-23 17:10 编辑

试试看吧。2000多个表,我怕卡死,只试到100个表,你自己试试。
2000多个表放在同一个文件里,恐怕很难受...
  1. Sub xx()
  2. On Error Resume Next
  3. Application.ScreenUpdating = False
  4. Dim arr
  5. arr = Sheets("數據源").UsedRange
  6. For a = 3 To UBound(arr)
  7.     If Trim(arr(a, 4)) <> "" Then
  8.         Sheets("樣板").Copy after:=Sheets(Sheets.Count)
  9.         ActiveSheet.Name = Replace(arr(a, 3), "?", "")
  10.          [d6] = arr(a, 3)  'c
  11.          [d7] = arr(a, 4)  'd
  12.          [h6] = arr(a, 2)  'b
  13.          [h7] = arr(a, 6)  'f
  14.          [d9] = arr(a, 8)  'h
  15.          [h9] = arr(a, 10) 'j
  16.         [d10] = arr(a, 14) 'n
  17.         [d11] = arr(a, 16) 'p
  18.         [h10] = arr(a, 15) 'o
  19.         [h11] = arr(a, 22) 'v
  20.     End If
  21. Next
  22. Application.ScreenUpdating = True
  23. MsgBox "分表完成!", vbInformation
  24. End Sub
复制代码

点评

麻煩你再幫我修改一下.謝謝.  发表于 2015-7-23 17:12
回复

使用道具 举报

发表于 2015-7-23 16:54 | 显示全部楼层
Sub 批量复制()
    Dim arr, x&
    arr = Sheets("數據源").[a1].CurrentRegion
    Sheets("樣板").Copy
    With ActiveSheet
        For x = 3 To UBound(arr)
           .[D6:D7] = Application.Transpose(Array(arr(x, 3), arr(x, 4)))
           .[D9:D11] = Application.Transpose(Array(arr(x, 8), arr(x, 14), arr(x, 16)))
           .[H6:H7] = Application.Transpose(Array(arr(x, 2), arr(x, 6)))
           .[H9:H11] = Application.Transpose(Array(arr(x, 10), arr(x, 15), arr(x, 22)))
           .Name = arr(x, 3)
           ActiveWorkbook.SaveCopyAs ThisWorkbook.Path & "\" & arr(x, 3) & ".xls"
        Next
    End With
    ActiveWorkbook.Close False
End Sub

评分

参与人数 1 +15 收起 理由
心正意诚身修 + 15 赞一个!

查看全部评分

回复

使用道具 举报

发表于 2015-7-23 17:04 | 显示全部楼层
Sub test1()
    Dim A, sh, i%, p$, f$
    Application.ScreenUpdating = False
    Application.DisplayAlerts = False
    Set sh = Sheets(1)
    p = ThisWorkbook.Path & "\Files\"
    A = Sheets(2).Range("a1").CurrentRegion


    For i = 3 To 5 'UBound(A)
        f = Replace(A(i, 3), "?", "")
        sh.Copy
        With ActiveWorkbook
            With .Sheets(1)
                .[d6] = A(i, 3)
                .[h6] = A(i, 2)
                .[d7] = A(i, 4)
                .[h7] = A(i, 6)
                .[d9] = A(i, 8)
                .[h9] = A(i, 10)
                .[d10] = A(i, 14)
                .[d11] = A(i, 16)
                .[h10] = A(i, 15)
                .[h11] = A(i, 22)
            End With
            .SaveAs p & f
            .Close
        End With
    Next i
    MsgBox "ok"
End Sub

新建文件夹.rar (224.66 KB, 下载次数: 11)

评分

参与人数 1 +15 收起 理由
心正意诚身修 + 15 赞一个!

查看全部评分

回复

使用道具 举报

 楼主| 发表于 2015-7-23 17:09 | 显示全部楼层
gufengaoyue 发表于 2015-7-23 16:41
试试看吧。2000多个表,我怕卡死,只试到100个表,你自己试试。
2000多个表放在同一个文件里,恐怕很难受. ...

非常感謝.完全是我需要的.不過.我還是需要復制兩千多個表,至於電腦運行的事.讓他自己操心去,只要能實現他想要的效果就好.

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-6-5 00:48 , Processed in 0.390079 second(s), 10 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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