Excel 2010 VBA 入门 066 读取其他工作簿的数据

目录

示例

实现代码

打开关闭的工作簿


示例

    如图所示,在“数据库.xlsx”工作簿中存有“销售数据”,在相同目录下的工作簿  希望能够将该工作簿中该工作表中的数据读入以便进行下一步操作。该如何用VBA完成?
Excel 2010 VBA 入门 066 读取其他工作簿的数据Excel 2010 VBA 入门 066 读取其他工作簿的数据

销售经理 区域 销售数量
张万斌 崇州区 960
张万斌 大丰区 960
张万斌 新繁区 160
马秉局 天河区 160
王建华 崇州区 960
王建华 彭州区 1600
欧阳才镛 武侯区 1280
欧阳才镛 天河区 100
欧阳才镛 大丰区 1600
何月 大丰区 720
张一 大丰区 400
何月 天河区 143
王建华 大丰区 1040
张一 武候区 1280

实现代码

Option Explicit

Sub 跨工作薄读取数据()
    Dim wbkThis As Workbook
    Dim wbkOpen As Workbook
    
    Set wbkThis = thisbook
    Set wbkOpen = Workbooks.Open(wbkthisbook.Path & "\数据库.xlsx")
    
    '把打开的工作薄中的第1个工作表的内容复制到当前工作薄中
    wbkOpen.Worksheets(1).Cells.Copy wbkThis.Worksheets(1).Range("A1")
    '关闭工作蔳且不保存
    wbkOpen.Close False
End Sub

打开关闭的工作簿

当工作簿关闭时,可以利用Workbooks的Open方法打开,其语法为:

Workbooks.Open(
    FileName,
    UpdateLinks,
    ReadOnly,
    Format,
    Password,
    WriteResPassword,
    IgnoreReadOnlyRecommended,
    Origin,
    Delimiter,
    Editable, 
    Notify,
    Converter,
    AddToMru, 
    Local,
    CorruptLoad)


该方法可以返回一个工作簿对象(Workbook)。

  •     参数FileName为必选参数,可以输入一个文本,表示需要打开的工作簿完整路径。该完整路径应包括完整的盘符、路径和文件名。
  •     可选参数UpdateLinks表示是否更新外部数据。当其省略时,则在打开工作簿时Excel会提示用户是否更新。该参数可以指定值为0(不更新外部链接)或者3(更新外部链接)。
  •     可选参数ReadOnly表示以只读方式打开工作簿,当其为True时,表示以只读方式打开工作簿。
  •     可选参数Format表示当打开的文件为文本文件时,该文件以何种标点作为分隔符。该参数可以为表中的任意值。

                       WorkBooks集合Open方法Format参数

    值

    分隔符

1

制表符

2

逗号

3

空格

4

分号

5

6

自定义分隔符(可以设置Delimiter参数)

  • 可选参数Password为文本,表示工作簿打开的密码(最长不超过15位)。
  • 可选参数WriteResPas sword为文本,表示工作簿写保护的密码。当设置了该参数后,打开文件时必须提供密码才可以编辑,否则文件为只读。
  • 可选参数IgnoreReadOnlyRecommended为逻辑值,当为True时,则在打开文件时会有忽略只读建议的提示框。
  • 可选参数Origin表示当打开文本文件时,其适用的操作系统,可以为xIMacintosh、xIWindows或者xIMSDOS。
  • 可选参数Delimiter表不当打开固定分隔符的文本文件时,若指定Format参数为6(用户自定义)时所选用的分隔符,则可以是长度为1的一个文本。
  • 可选参数Editable表示打开加载宏文件或者模板文件时是否可见,当为True时表示可见。
  • 可选参数Notify为True时,表示当Excel无法以读写模式打开文件时会将文件加入提示列表并发出警告提示。
  • 可选参数Converter表示是否转换文件格式。
  • 可选参数AddToMru表不是否加入最近的文件列表,当为True时表示加入。
  • 可选参数Local为逻辑值,表示存储文件的语言设置,当为True时,表示按照控制面板中的设置保存,当为False时,表示按照VBA工程的语言设置保存。
  • 可选参数CorruptLoad表示打开文件的模式,可以为xINormaILoad(普通)、xIRepairFile(修复文件)或者xIExtractData(数据压缩模式)。

    一般情况下,打开工作簿只需设置工作簿的完整路径即可。在打开工作簿后,由于Open方法可以返回一个工作簿对象。因而一般将Open方法的返回值赋值给一个工作簿对象变量,以便进行下一步操作。
    当需要跨工作簿复制工作表中单元格的内容时,则必须使用单元格的完整表示,以描述所要访问的单元格属于哪个工作表或哪个工作簿。否则,程序将会认为缺省的描述部分为当前工作簿或当前工作表。
 

 

上一篇:使用VBA在Office中输入特殊字符(续)


下一篇:VBA操作Excel