请问,我有两个工作簿,book1,book2。
目的:把book1-sheet1-A1单元格的数据赋值给book2-sheet1-A1单元格。要求用vba的赋值语句完成,不用“=”函数
(如:[book1.xls]sheet1!$a$1=[book2.xls]sheet1!$a$1)。请教vba代码指点,谢谢!

解决方案 »

  1.   

    book1,book2.为未打开的excel文件。如何操作呢?谢谢指点。
      

  2.   

    Private Sub CommandButton1_Click()
        Dim xlapp1 As Excel.Application
        Dim xlbook1 As Excel.Workbook
        Dim xlsheet1 As Excel.Worksheet
        
        Dim xlapp2 As Excel.Application
        Dim xlbook2 As Excel.Workbook
        Dim xlsheet2 As Excel.Worksheet    Set xlapp1 = CreateObject("Excel.Application")
        Set xlapp2 = CreateObject("Excel.Application")
        
        Set xlbook1 = xlapp1.Workbooks.Open("d:\test1.xls")
        Set xlbook2 = xlapp2.Workbooks.Add
        
        Set xlsheet1 = xlbook1.Worksheets(1)
        Set xlsheet2 = xlbook2.Worksheets(1)
        
        xlsheet2.Cells(1, 1) = xlsheet1.Cells(1, 1)
        
        xlsheet2.SaveAs "d:\test2.xls"
        xlapp2.Quit
        Set xlapp2 = Nothing
        
        
        xlapp1.Quit
        Set xlapp1 = Nothing
        End Sub
      

  3.   

        Sub insDATA()
    Dim xlapp1 As Excel.Application
        Dim xlbook1 As Excel.Workbook
        Dim xlsheet1 As Excel.Worksheet
        
        Dim xlapp2 As Excel.Application
        Dim xlbook2 As Excel.Workbook
        Dim xlsheet2 As Excel.Worksheet    Set xlapp1 = CreateObject("Excel.Application")
        Set xlapp2 = CreateObject("Excel.Application")
        
        Set xlbook1 = xlapp1.Workbooks.Open(app.Path & "\book1.xls")'此处运行错误,说需要对象,不知道错在哪里?
        Set xlbook2 = xlapp2.Workbooks.Open(app.Path & "\book2.xls")
        
        Set xlsheet1 = xlbook1.Worksheets(1)
        Set xlsheet2 = xlbook2.Worksheets(1)
        
        xlsheet2.Cells(1, 1) = xlsheet1.Cells(1, 1)
    end sub'在vba环境中运行出现以上错误。请问为什么?
      

  4.   

    application.path,指的是你excel.exe所在的位置,你的文件是在这儿吗
      

  5.   

    是路径问题。解决了。请问,当前路径如何获取?【比如vba附着的book1的路径】
      

  6.   

    在vba环境中直接msgbox app.path 提示错误,要求对象。不知什么原因。
      

  7.   

    excel

    MsgBox Application.Path
      

  8.   

    application.path 返回的是excel所在程序路径。我需要的是vba附着的book1.xls的路径。谢谢
      

  9.   

        Sub insDATA() 
    Dim xlapp1 As Excel.Application 
        Dim xlbook1 As Excel.Workbook 
        Dim xlsheet1 As Excel.Worksheet 
        
        Dim xlapp2 As Excel.Application 
        Dim xlbook2 As Excel.Workbook 
        Dim xlsheet2 As Excel.Worksheet     Set xlapp1 = CreateObject("Excel.Application") 
        Set xlapp2 = CreateObject("Excel.Application") 
        
        Set xlbook1 = xlapp1.Workbooks.Open(Application.Path & "\book1.xls")'此处运行错误,说需要对象,不知道错在哪里? 
        Set xlbook2 = xlapp2.Workbooks.Open(Application.Path & "\book2.xls") 
        
        Set xlsheet1 = xlbook1.Worksheets(1) 
        Set xlsheet2 = xlbook2.Worksheets(1) 
        
        xlsheet2.Cells(1, 1) = xlsheet1.Cells(1, 1) 
    end sub 
      

  10.   

    Set xlbook1 = xlapp1.Workbooks.Open(Application.Path & "\book1.xls")
    你这么用的意思是你的book1.xls与程序同路径,否则不允许这么用
      

  11.   

    尽管app.path在vba运行环境不好用,我已经自行解决了vba附着的工作簿所在路径的获取。thisworkbook.path最后没办法用它了。
    谢谢各位的帮助!放分!
      

  12.   

    尽管app.path在vba运行环境不好用,我已经自行解决了vba附着的工作簿所在路径的获取。thisworkbook.path最后没办法用它了。
    谢谢各位的帮助!放分!