请教大家个问题:如何用vba(或vb)实现从把一个excel文件的内容导入另一个标准格式的excel文件中?

解决方案 »

  1.   

    方法好多,比如:
    全选,复制,然后粘贴
    SQL语句,再分用AOD还是DAO
    逐格读写
    等等
      

  2.   

    由于两个文件的格式是不一样的,所以不能直接全选复制粘贴哦,期待你的“SQL语句,再分用AOD还是DAO
    ”啊,给点源码示例吧,谢谢啊,哈哈。
      

  3.   

    Dim VbExcell As Object
    Dim VbExcell2 As Object
    Dim vbbook As Object
    Dim vbbook2 As Object
    Dim Fname$, Fname2$, i&, j&, Trows&, Tcols&
    Private Sub Command1_Click()
       'On Error Resume Next
       Fname = "c:\aaa.xls"
       Fname2 = "c:\test2.xls"
       If Dir(Fname) = "" Or Dir(Fname2) = "" Then Exit Sub
       Set VbExcell = CreateObject("Excel.Application") '创建第一个excel对象
       VbExcell.Visible = True '对象可见
       Set vbbook = VbExcell.Workbooks.Open(Fname) '打开文件
       If Val(VbExcell.Application.Version) >= 8 Then
          Set vbbook = VbExcell.ActiveSheet
       Else
          Set vbbook = VbExcell
       End If
       Trows = VbExcell.ActiveSheet.UsedRange.Rows.Count
       Tcols = VbExcell.ActiveSheet.UsedRange.Columns.Count
       VbExcell.Sheets("Sheet1").Select
       '*****************************************
       Set VbExcell2 = CreateObject("Excel.Application") '创建第二个excel对象
       VbExcell2.Visible = True '对象可见
       Set vbbook2 = VbExcell2.Workbooks.Open(Fname2) '打开文件
       If Val(VbExcell2.Application.Version) >= 8 Then
          Set vbbook2 = VbExcell2.ActiveSheet
       Else
          Set vbbook2 = VbExcell2
       End If
       '******************************************
       For i = 1 To Trows
          For j = 1 To Tcols
             VbExcell2.Cells(i, j) = VbExcell.Cells(i, j)
          Next j
       Next i
       VbExcell.DisplayAlerts = False '关闭时不提示保存
       VbExcell2.DisplayAlerts = False '关闭时不提示保存
       vbbook2.Saveas (Fname2)
       '******************* Close & Quit
       VbExcell.Quit
       Set vbbook = Nothing
       Set VbExcell = Nothing
       VbExcell2.Quit
       Set vbbook2 = Nothing
       Set VbExcell2 = Nothing
    End Sub
      

  4.   

    由于两个文件的格式是不一样的,呵呵....有谁能知道你的格式 "如何" 不一样 ? 如果没有规则的对应, 只能一个Cell一个Cell来赋值了, 当然是无法用循环的.
      

  5.   

    录个宏,看一下代码就明白了。QQ群 48866293 OFFICE应用挖掘 
    MS OFFICE(ACCESS\EXCE\WORD等应用技术探讨与交流!技术群,请阅群论坛中的《踢人规则》