Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
楼主: gaiety1974

[已解决]请老师指导一下, 运行错误’9‘,下标越界是啥意思,谢谢

[复制链接]
发表于 2022-6-8 14:22 | 显示全部楼层    本楼为最佳答案   
本帖最后由 hasyh2008 于 2022-6-8 14:24 编辑

Sub GetData()
    Dim wb As Workbook
    Dim mp As String
    Dim mf As String
    Application.ScreenUpdating = False
    '以只读方式打开工作簿
    mp = ThisWorkbook.Path & "\" '路径
    Set wb = Workbooks.Open(mp & "数据.xlsx") '打开
    With ThisWorkbook.Sheets("Sheet1")
        '从工作簿中读取数据
        .Range("A1").Formula = wb.Sheets("Sheet1").Range("D8").Formula
        .Range("A2").Formula = wb.Sheets("Sheet1").Range("E8").Formula
        .Range("A3").Formula = wb.Sheets("Sheet1").Range("F8").Formula

    'wb.Sheets("表1").Range("A1").Copy .Range("A1") '复制
    End With
    wb.Close False '关闭打开的源数据工作簿且不保存任何变化
    Set wb = Nothing '释放内存
    Application.ScreenUpdating = True
End Sub

Desktop.rar

20.2 KB, 下载次数: 2

回复

使用道具 举报

 楼主| 发表于 2022-6-8 14:24 | 显示全部楼层
sam-wang 发表于 2022-6-8 13:27
沒有檔案,看你提供圖片我猜多了 " . ",
請先試看看,如無法解決附上檔案,謝謝

我把点去掉,还是没有复制过来内容,但是感觉目的地单元格有被选中跳了一下,但是没有内容
回复

使用道具 举报

 楼主| 发表于 2022-6-8 14:25 | 显示全部楼层
hasyh2008 发表于 2022-6-8 14:22
Sub GetData()
    Dim wb As Workbook
    Dim mp As String

谢谢老师, 我试一下看看,谢谢啦
回复

使用道具 举报

发表于 2022-6-8 14:27 | 显示全部楼层
gaiety1974 发表于 2022-6-8 14:05
您好,麻烦您了,帮我看下, 原文件内容太多,我把表内容都删了, 代码就在表里,帮我看下,谢谢



不太了解您的需求,測試是沒問題,開啟的檔案D8,E8,F8是空白,
請確認且說明一下需求為何,謝謝

回复

使用道具 举报

发表于 2022-6-8 14:30 | 显示全部楼层
工作簿地址写的不对
回复

使用道具 举报

 楼主| 发表于 2022-6-8 14:45 | 显示全部楼层
hasyh2008 发表于 2022-6-8 14:22
Sub GetData()
    Dim wb As Workbook
    Dim mp As String

谢谢,可以了,看了你的文件我搞明白了
回复

使用道具 举报

发表于 2022-6-8 14:46 | 显示全部楼层
gaiety1974 发表于 2022-6-8 14:45
谢谢,可以了,看了你的文件我搞明白了

原来的代码也没问题
回复

使用道具 举报

 楼主| 发表于 2022-6-8 15:00 | 显示全部楼层
hasyh2008 发表于 2022-6-8 14:22
Sub GetData()
    Dim wb As Workbook
    Dim mp As String

.Range("A1").Formula = wb.Sheets("Sheet1").Range("D8").Formula
老师我再请教一下我只要复制文本,或者纯数字,不要公式怎么改,谢谢
回复

使用道具 举报

发表于 2022-6-8 15:01 | 显示全部楼层
.Range("A1").value = wb.Sheets("Sheet1").Range("D8").value
回复

使用道具 举报

 楼主| 发表于 2022-6-8 15:17 | 显示全部楼层
hasyh2008 发表于 2022-6-8 15:01
.Range("A1").value = wb.Sheets("Sheet1").Range("D8").value

老师谢谢指导,可以了。
另外可以的话帮忙再问下,如果我的数据这个文件在目录下面有几个,文件名后缀不同,比如数据1,数据2等,我要分别复制这些表格中的数据,代码需要怎么修改,谢谢

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-7 16:52 , Processed in 0.346251 second(s), 9 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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