Excel精英培训网

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

[已解决]请vba大师帮忙简化代码

[复制链接]
发表于 2015-7-14 13:56 | 显示全部楼层 |阅读模式
本帖最后由 武林长风 于 2015-7-14 19:21 编辑

下面的代码是录制的宏,用于把成绩单工作簿里1-6年级工作表(每个年级一个工作表)的A到I列复制到考试成绩统计工作簿1-6年级工作表(每个年级一个工作表)的A到I列。谢谢!!! 新建文件夹.rar (360.75 KB, 下载次数: 1)
发表于 2015-7-14 14:47 来自手机 | 显示全部楼层
还是上传附件,说明题意,一目了然。
回复

使用道具 举报

 楼主| 发表于 2015-7-14 15:22 | 显示全部楼层
本帖最后由 武林长风 于 2015-7-14 15:24 编辑
爱疯 发表于 2015-7-14 14:47
还是上传附件,说明题意,一目了然。

谢谢爱疯老师! 新建文件夹.rar (360.75 KB, 下载次数: 3)
回复

使用道具 举报

发表于 2015-7-14 15:47 | 显示全部楼层    本楼为最佳答案   
  1. Sub 复制成绩()
  2.     Application.Calculation = xlCalculationManual
  3.     On Error Resume Next
  4.     Dim wb As Workbook, sh As Worksheet
  5.     Set wb = Workbooks.Open(ThisWorkbook.Path & "\导成绩单.xls")
  6.     For Each sh In wb.Worksheets
  7.         If sh.Name Like "*年级" Then sh.[a:i].Copy ThisWorkbook.Sheets(sh.Name).[a:i]
  8.     Next
  9.     wb.Close False
  10.     Application.Calculation = xlCalculationAutomatic
  11. End Sub
复制代码

新建文件夹.rar

614.07 KB, 下载次数: 6

评分

参与人数 1 +9 收起 理由
武林长风 + 9 您先回答的

查看全部评分

回复

使用道具 举报

发表于 2015-7-14 15:50 | 显示全部楼层
Sub test()
    Dim wk1, wk2, i
    Application.ScreenUpdating = False
    Application.Calculation = xlManual
    Call test2

    Set wk2 = ThisWorkbook
    Set wk1 = Workbooks.Open(wk2.Path & "\导成绩单.xls")
    For i = 2 To 7
        wk1.Sheets(i).Range("a1").CurrentRegion.Copy wk2.Sheets(i).Range("a1")
    Next i

    Call test2
'    Application.Calculation = xlAutomatic
End Sub

Sub test2()
    On Error Resume Next
    Workbooks("导成绩单.xls").Close False
    On Error GoTo 0
End Sub

新建文件夹2.rar (617.29 KB, 下载次数: 1)

评分

参与人数 1 +9 收起 理由
武林长风 + 9 神马都是浮云

查看全部评分

回复

使用道具 举报

发表于 2015-7-14 15:53 | 显示全部楼层
  1. Sub 复制成绩()
  2.     Application.Calculation = xlCalculationManual
  3.     On Error Resume Next
  4.     Dim wb As Workbook, sh As Worksheet
  5.     Set wb = Workbooks.Open(ThisWorkbook.Path & "\导成绩单.xls")
  6.     For Each sh In wb.Worksheets
  7.         If sh.Name Like "*年级" Then sh.[a:i].Copy ThisWorkbook.Sheets(sh.Name).[a:i]
  8.     Next
  9.     wb.Close False
  10.     Application.Calculation = xlCalculationAutomatic
  11. End Sub
复制代码

新建文件夹.rar

614.07 KB, 下载次数: 4

回复

使用道具 举报

发表于 2015-7-14 15:55 | 显示全部楼层
怎么会发了两遍。。。。。。。。。。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-27 04:41 , Processed in 0.321707 second(s), 14 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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