如何在VB一段程序中打开两个EXCEL

AwayHence 2017-03-31 04:17:43
Dim excel_App As Excel.Application
Dim excel_Book As Excel.Workbook
Dim excel_sheet As Excel.Worksheet





Set excel_App = CreateObject("Excel.Application")

excel_App.Visible = False
Set excel_Book = excel_App.Workbooks.Open("C:\Users\WR\Desktop\A文件.xlsx")
Set excel_sheet = excel_Book.Worksheets("Sheet1")

这是我打开A文件需要写的代码,那么如果我还需要打开B文件,还需要重新定义么?还需要重新SET么。
比如A和B格式一模一样,我需要将A中的第(2,3)号格子的数字赋值给a(2,3)
再将B的(2,3)的数字赋值给b(2,3)最后进行比较。但是如果我打开了两个文件,怎么分别赋值给a和b而不搞混呢?
求大神教我怎么写,这段代码我写出来一直有问题。
...全文
791 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
AwayHence 2017-04-10
  • 打赏
  • 举报
回复
引用 2 楼 Chen8013 的回复:
你需要定义的是另外的Excel.Workbook、Excel.Worksheet变量。 用你“已经有的”excel_App 直接打开新的工作簿文件就行了。 别说打开两个,就是你想打开20个都行。
另外我还有一个问题,如果我对A表格的数据进行改变 比如

a(i,j)=excel_sheet.cells(i,j)
a(i,j)=2a(i,j)
excel_sheet.cell(i,j)=a(i,j)
如果再读取一次c(i,j)=excel_sheet(i,j) 那么 c(i,j)是原来的值还是乘以了2倍的值啊
vansoft 2017-04-02
  • 打赏
  • 举报
回复
引用 1 楼 bakw 的回复:

Dim excel_App As Excel.Application
Dim excel_Book_A As Excel.Workbook
Dim excel_sheet_A As Excel.Worksheet
 
Dim excel_Book_B As Excel.Workbook
Dim excel_sheet_B As Excel.Worksheet
 
Set excel_App = CreateObject("Excel.Application")
 
excel_App.Visible = False
Set excel_Book_A = excel_App.Workbooks.Open("C:\Users\WR\Desktop\A文件.xlsx")
Set excel_Book_B = excel_App.Workbooks.Open("C:\Users\WR\Desktop\B文件.xlsx")
Set excel_sheet_A = excel_Book_A.Worksheets("Sheet1")
Set excel_sheet_B = excel_Book_B.Worksheets("Sheet1")
好像是这样子,自己试试不就知道了?
正解。受内存限制,打开多少都无所谓。
AwayHence 2017-03-31
  • 打赏
  • 举报
回复
引用 3 楼 hjgsh221 的回复:
[quote=引用 1 楼 bakw 的回复:]

Dim excel_App As Excel.Application
Dim excel_Book_A As Excel.Workbook
Dim excel_sheet_A As Excel.Worksheet
 
Dim excel_Book_B As Excel.Workbook
Dim excel_sheet_B As Excel.Worksheet
 
Set excel_App = CreateObject("Excel.Application")
 
excel_App.Visible = False
Set excel_Book_A = excel_App.Workbooks.Open("C:\Users\WR\Desktop\A文件.xlsx")
Set excel_Book_B = excel_App.Workbooks.Open("C:\Users\WR\Desktop\B文件.xlsx")
Set excel_sheet_A = excel_Book_A.Worksheets("Sheet1")
Set excel_sheet_B = excel_Book_B.Worksheets("Sheet1")
好像是这样子,自己试试不就知道了?
这样之后如何分别赋值给a和b呢[/quote] 哦我知道了,我去试一试
AwayHence 2017-03-31
  • 打赏
  • 举报
回复
引用 1 楼 bakw 的回复:

Dim excel_App As Excel.Application
Dim excel_Book_A As Excel.Workbook
Dim excel_sheet_A As Excel.Worksheet
 
Dim excel_Book_B As Excel.Workbook
Dim excel_sheet_B As Excel.Worksheet
 
Set excel_App = CreateObject("Excel.Application")
 
excel_App.Visible = False
Set excel_Book_A = excel_App.Workbooks.Open("C:\Users\WR\Desktop\A文件.xlsx")
Set excel_Book_B = excel_App.Workbooks.Open("C:\Users\WR\Desktop\B文件.xlsx")
Set excel_sheet_A = excel_Book_A.Worksheets("Sheet1")
Set excel_sheet_B = excel_Book_B.Worksheets("Sheet1")
好像是这样子,自己试试不就知道了?
这样之后如何分别赋值给a和b呢
舉杯邀明月 2017-03-31
  • 打赏
  • 举报
回复
你需要定义的是另外的Excel.Workbook、Excel.Worksheet变量。 用你“已经有的”excel_App 直接打开新的工作簿文件就行了。 别说打开两个,就是你想打开20个都行。
笨狗先飞 2017-03-31
  • 打赏
  • 举报
回复

Dim excel_App As Excel.Application
Dim excel_Book_A As Excel.Workbook
Dim excel_sheet_A As Excel.Worksheet
 
Dim excel_Book_B As Excel.Workbook
Dim excel_sheet_B As Excel.Worksheet
 
Set excel_App = CreateObject("Excel.Application")
 
excel_App.Visible = False
Set excel_Book_A = excel_App.Workbooks.Open("C:\Users\WR\Desktop\A文件.xlsx")
Set excel_Book_B = excel_App.Workbooks.Open("C:\Users\WR\Desktop\B文件.xlsx")
Set excel_sheet_A = excel_Book_A.Worksheets("Sheet1")
Set excel_sheet_B = excel_Book_B.Worksheets("Sheet1")
好像是这样子,自己试试不就知道了?

7,785

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧