24小时热门版块排行榜    

查看: 977  |  回复: 4

mystar

金虫 (文坛精英)

[交流] 【求助】excel宏问题【已解决】

目的是将一个excel文件追加到另一个excel文件

-----------------
Sub MergeSheets()

    Dim SrcBook As Workbook, SrcSht As Worksheet

    Dim Filename As Variant

    ' Get the filename
    Filename = Application.GetOpenFilename("Excel Files (*.xls), *.xls,CSV Files (*.csv), *.csv,Text Files (*.txt), *.txt,PRN Files (*.prn), *.prn", 1, "请选择追加记录的来源档"
    If Filename = False Then
        Exit Sub
    End If
   
    Set SrcBook = Workbooks.Open(Filename)
   
    '如果两个档案的工作表数量不等则取消执行
    If ThisWorkbook.Sheets.Count <> SrcBook.Sheets.Count Then
        MsgBox "两个档案的工作表数量不等" & vbCrLf & _
        ThisWorkbook.Name & " = " & ThisWorkbook.Sheets.Count & "个工作表" & vbCrLf & _
        SrcBook.Name & " = " & SrcBook.Sheets.Count & "个工作表"
        SrcBook.Close
        Exit Sub
    End If
   
    n = 1
   
    Application.ScreenUpdating = False

    For Each SrcSht In SrcBook.Worksheets
        '取得复制范围,如果有标题行不复制,请更改 "A1:IV",例如 "A2:IV"
        SrcSht.Range("A1:IV" & SrcSht.Range("A65536".End(xlUp).Row).Copy
        
        ThisWorkbook.Worksheets(n).Activate

        Range("A65536".End(xlUp).Offset(1, 0).PasteSpecial

        Application.CutCopyMode = False
        
        Range("A1".Activate
        
        n = n + 1
    Next

    ThisWorkbook.Worksheets(1).Activate
    SrcBook.Close
    Application.ScreenUpdating = True

End Sub
------------------------
有一个出错信息

改成
--------------

------------------
Sub MergeSheets()

    Dim SrcBook As Workbook, SrcSht As Worksheet

    Dim Filename As Variant

    ' Get the filename
    Filename = Application.GetOpenFilename("Excel Files (*.xls), *.xls,CSV Files (*.csv), *.csv,Text Files (*.txt), *.txt,PRN Files (*.prn), *.prn", 1, "请选择追加记录的来源档"
    If Filename = False Then
        Exit Sub
    End If
   
    Set SrcBook = Workbooks.Open(Filename)
   
    '如果两个档案的工作表数量不等则取消执行
    If ThisWorkbook.Sheets.Count <> SrcBook.Sheets.Count Then
        MsgBox "两个档案的工作表数量不等" & vbCrLf & _
        ThisWorkbook.Name & " = " & ThisWorkbook.Sheets.Count & "个工作表" & vbCrLf & _
        SrcBook.Name & " = " & SrcBook.Sheets.Count & "个工作表"
        SrcBook.Close
        Exit Sub
    End If
   
    n = 1
   
    Application.ScreenUpdating = False

    For Each SrcSht In SrcBook.Worksheets
        '取得复制范围,如果有标题行不复制,请更改 "A1:IV",例如 "A2:IV"

On Error Resume Next
        If Len(SrcSht.Names("TITLE".Name) <> 0 Then
            Application.Goto Reference:=SrcSht.Range("TITLE"
            Selection.EntireRow.Hidden = True
        End If

        SrcSht.Range("A1:IV" & SrcSht.Range("A65536".End(xlUp).Row).Copy
        
        ThisWorkbook.Worksheets(n).Activate

        Range("A65536".End(xlUp).Offset(1, 0).PasteSpecial

        Application.CutCopyMode = False
        
        Range("A1".Activate
        
        n = n + 1
    Next

    ThisWorkbook.Worksheets(1).Activate
    SrcBook.Close  SaveChanges:=False
    Application.ScreenUpdating = True

End Sub
---------------

没有出错信息,但第一行会有问题。

麻烦再改改

[ Last edited by 余泽成 on 2010-12-12 at 20:31 ]
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

不要使自己麻木于制度化当中,而抛弃了从前的美好事物和希望。
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

mystar

金虫 (文坛精英)

ajian04(金币+1):谢谢参与交流~ 2010-10-21 17:39:03
ajian04(金币-1):不好意思, 在楼上已经奖励过了,现收回这个金币,谢谢啊,呵呵 2010-10-21 17:39:59
ajian04:谢谢参与交流~ 2010-10-21 17:40:10
第一个宏的SrcBook.Close
源excel文件关不了,可能是错在这里。

怎样关掉源excel文件?
不要使自己麻木于制度化当中,而抛弃了从前的美好事物和希望。
2楼2010-10-21 17:36:33
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

Lily_melon

铜虫 (小有名气)

看不懂呀
啊啊啊啊
3楼2010-10-23 09:26:48
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
mystar(金币+10): ------------- 2011-04-25 18:54:31
4楼2010-12-09 00:56:55
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

mystar

金虫 (文坛精英)

已经解决。工作表个数要相同
不要使自己麻木于制度化当中,而抛弃了从前的美好事物和希望。
5楼2010-12-09 01:02:42
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 mystar 的主题更新
普通表情 高级回复 (可上传附件)
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[基金申请] 咱们一起用铁证分析2026国家社科基金中标与否 +6 启萌科技 2026-08-12 21/1050 2026-08-14 19:48 by 启萌科技
[基金申请] 哪位老哥知道今年的国自然具体哪一天放榜? +5 Ldrop2023 2026-08-13 5/250 2026-08-14 18:48 by ssxclkj
[基金申请] 各位道友,我要去昆明玩几天,回来见。 +6 Tide man 2026-08-14 7/350 2026-08-14 18:36 by 正能量1斤
[基金申请] 欢迎发来filecode的Mz6后的代码验证其规律 +22 医学老男孩 2026-08-13 48/2400 2026-08-14 18:33 by wuguocheng
[基金申请] 奇怪,两个人的filecode固定段从头到尾一模一样 +8 布布和一二 2026-08-10 11/550 2026-08-14 14:58 by Equinoxhua
[基金申请] 应该是93bebmhtak前后十一个字符比较关键 +23 Lanmanbaby 2026-08-09 37/1850 2026-08-14 13:40 by Equinoxhua
[基金申请] 好奇怪的filecode +6 布布和一二 2026-08-08 7/350 2026-08-14 13:38 by Equinoxhua
[论文投稿] 职称评审,求友友推荐见刊最快的期刊 +5 工厂打螺丝 2026-08-08 5/250 2026-08-14 11:03 by 玖戈弋
[基金申请] 小木虫上这么多卖论文的,真有人买论文么?感觉没必要啊 +10 Tide man 2026-08-10 11/550 2026-08-14 10:30 by 沁言学术
[硕博家园] 读博的好处 +4 lnee 2026-08-11 4/200 2026-08-14 10:20 by ahsoarli
[基金申请] 我的国基提前知道中了,可是同事的操作让我实在接受不了,怎么会有这样的人 +10 家与远方 2026-08-10 15/750 2026-08-14 02:08 by 绵羊哥哥
[基金申请] 静等基金结果 +8 gjjjzhong 2026-08-10 21/1050 2026-08-13 17:56 by 且听虎啸
[基金申请] 不应该看fileCode +7 且听虎啸 2026-08-12 9/450 2026-08-13 14:27 by flydreamws
[基金申请] 2019年青年基金涵评意见,大家看看几个A,几个B? +11 Tide man 2026-08-11 11/550 2026-08-13 07:35 by 撸猫猫
[基金申请] 综述论文作为代表作会不会影响评审专家的印象分? +11 yufeiwaner 2026-08-09 13/650 2026-08-12 08:17 by yufeiwaner
[基金申请] 是这周出结果还是下周出结果? +3 yuleib84 2026-08-11 3/150 2026-08-11 21:53 by jnhyjjm
[基金申请] 为什么网上很多人说本周 12号出结果 +6 瞬息宇宙 2026-08-10 7/350 2026-08-11 19:25 by Tide man
[基金申请] 这样的filecode谁见过 +11 布布和一二 2026-08-08 22/1100 2026-08-10 11:10 by wmfsnow
[基金申请] 面上项目filecode邪修 +5 西山十月 2026-08-09 7/350 2026-08-10 07:32 by 仁砚薪传
[基金申请] 关于filecode,很负责任的告诉大家 +6 爱看书的可乐 2026-08-08 7/350 2026-08-08 22:13 by a_niu
信息提示
请填处理意见