Excel精英培训网

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

[已解决]复制选取到多工作簿相应位置出错

[复制链接]
发表于 2022-5-31 23:27 | 显示全部楼层 |阅读模式
本帖最后由 果冻的心 于 2022-6-1 08:41 编辑

运行报错,请帮忙修改
Sub TEST()  '特殊复制
    Set Mapp = CreateObject("Shell.Application").BrowseForFolder(0, "请选择目标文件夹:", &H1)
    If Not Mapp Is Nothing Then
        M = Mapp.self.Path & "\"
    Else
        MsgBox "你没有选择文件夹!": Exit Sub
    End If
    Set Mycell = Application.InputBox(prompt:="请选择需要复制的区域", Type:=8)
    ADDR = Mycell.Address
    FIL = Dir(M & "*.*")
    Do While FIL <> ""
        With Workbooks.Open(M & FIL).Sheets("表一工程结算")
            Mycell.Copy .Range(ADDR)
            .Range(ADDR).Select
            Selection(4) = Selection(4).Value
        End With
        ActiveWorkbook.Close True
        FIL = Dir
    Loop
    MsgBox "复制完毕!"
End Sub



最佳答案
2022-6-1 08:55
Sub TEST()  '特殊复制
    Set Mapp = CreateObject("Shell.Application").BrowseForFolder(0, "请选择目标文件夹:", &H1)
    If Not Mapp Is Nothing Then
        M = Mapp.self.Path & "\"
    Else
        MsgBox "你没有选择文件夹!": Exit Sub
    End If
    Set Mycell = Application.InputBox(prompt:="请选择需要复制的区域", Type:=8)
    ADDR = Mycell.Address
    FIL = Dir(M & "*.*")
    Do While FIL <> ""
        With Workbooks.Open(M & FIL).Sheets("表一工程结算")
            Mycell.Copy .Range(ADDR)
            .Select
            .Range(ADDR).Select
            Selection(4) = Selection(4).Value
        End With
        ActiveWorkbook.Close True
        FIL = Dir
    Loop
    MsgBox "复制完毕!"
End Sub
7bf7ba64677acf8a.png
a38f0a52f0d34979.png

1-2复制后的结果.zip

428.07 KB, 下载次数: 1

excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
发表于 2022-6-1 08:55 | 显示全部楼层    本楼为最佳答案   
Sub TEST()  '特殊复制
    Set Mapp = CreateObject("Shell.Application").BrowseForFolder(0, "请选择目标文件夹:", &H1)
    If Not Mapp Is Nothing Then
        M = Mapp.self.Path & "\"
    Else
        MsgBox "你没有选择文件夹!": Exit Sub
    End If
    Set Mycell = Application.InputBox(prompt:="请选择需要复制的区域", Type:=8)
    ADDR = Mycell.Address
    FIL = Dir(M & "*.*")
    Do While FIL <> ""
        With Workbooks.Open(M & FIL).Sheets("表一工程结算")
            Mycell.Copy .Range(ADDR)
            .Select
            .Range(ADDR).Select
            Selection(4) = Selection(4).Value
        End With
        ActiveWorkbook.Close True
        FIL = Dir
    Loop
    MsgBox "复制完毕!"
End Sub
回复

使用道具 举报

 楼主| 发表于 2022-6-1 12:50 | 显示全部楼层
zjdh 发表于 2022-6-1 08:55
Sub TEST()  '特殊复制
    Set Mapp = CreateObject("Shell.Application").BrowseForFolder(0, "请选择目 ...

多谢多谢,不知道上次那个怎么突然不行了&#128514;
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-5 21:46 , Processed in 0.189278 second(s), 9 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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