我想再一个excel文件中通过宏读取另外一个excel文件的内容到本excel文件中。
当我再写数据的时候,总是对两个文件同时写,请问如何解决这个问题啊,我应该如何指定当前的sheet?

解决方案 »

  1.   

    Set excelApp = CreateObject("Excel.Application")
    excelApp.Visible = True
    Set a1 = excelApp.Workbooks.Open "c:\1.xls"
    Set a2 = excelApp.Workbooks.Open "c:\2.xls"
    要读1.xls的时候就让
    a1.Activate
    要读2.xls的时候让
    a2.Activate
      

  2.   

    用workbooks.open 打开一个文件
    那么再宏里,thisworkbook这个对象只的是哪个excel呢?一点关闭excel文件,总是所有的excel都关闭,这说明什么呢?
    是不是说明当前打开的所以的excel文件都是再一个workbook中呢?
    请指点.
      

  3.   

    dim exlA as new Excel.Application
    dim exlB as new Excel.Application
    dim WsheetA as Excel.Worksheets
    dim WsheetB as Excel.Worksheets
    exlA.Workbooks.open "第一个excel路径.xls" '打开excel文件
    set WsheetA = exlA.ActiveWorkbooks.WorkSheets(1) 
    exlB.Workbooks.open "第二个excel路径.xls" '打开excel文件
    set WsheetB = exlB.ActiveWorkbooks.WorkSheets(1)WsheetA.Cells.Copy
    WsheetB.Cells.Paster
    '把第一个excel文件的所有单元格的值写到第二个excel文件的单元格' 或者用:
    WsheetB.cells(1,1)=WsheetA.cells(1,1) '把第一个excel文件的第一个单元格的值写到第二个excel文件的第一个单元格
    ...
      WsheetB.Rang("B1")= WsheetA.Rang("D2")= '把第一个excel文件的D2单元格的值写到第二个excel文件的B1单元格
    ....
    exlA.quit 
    exlB.quit 
    set exlA=nothing
    set exlB=nothing
      

  4.   

    录制宏,打开两个book(book1,book2),把以下动作记录即可用,在book1的sheet1标题上单击右键(或者在编辑菜单找到类似项),选择移动或复制工作表,选择book2,选择复制,即可把book1.sheet1复制到book2内