返回列表 上一主題 發帖

[發問] 兩個獨立EXCEL 如何將運算完的資料回傳到主Excel?

本帖最後由 quickfixer 於 2019-3-15 04:18 編輯

回復 16# 502243

你要的不是同一個excel開2個檔互傳,而是2個不同excel.exe互傳資料,對嗎?

參考資料來源
https://www.mobile01.com/topicdetail.php?f=511&t=4737630&p=1
(#244f)
我試過工作管理員不會殘存excel.exe
1.xlsm
  1. Sub test()

  2.     Dim app1 As Object, book1 As Excel.Workbook
  3.     Set app1 = CreateObject("Excel.Application")
  4.     Set book1 = app1.Workbooks.Open(ThisWorkbook.Path & "\" & "2.xlsm")
  5.     app1.Visible = True
  6.    
  7.     Dim sourcedata As Range, targetdata As Range, temp() As Variant
  8.     Set sourcedata = Sheets("a").Range("a1:a5")
  9.     Set targetdata = book1.Sheets("b").Range("a1:a5")
  10.     temp = sourcedata
  11.     targetdata.Value = temp
  12.    
  13.     app1.Run "test"
  14.    
  15.     Set sourcedata = book1.Sheets("b").Range("b1:b5")
  16.     Set targetdata = Sheets("a").Range("c1:c5")
  17.     temp = sourcedata
  18.     targetdata.Value = temp
  19.    
  20.     book1.Close SaveChanges:=False
  21.     app1.Quit
  22.     Set app1 = Nothing
  23.     Set book1 = Nothing
  24.    

  25. End Sub
複製代碼
2.xlsm
  1. Sub test()
  2.    
  3.     For i = 1 To 5
  4.         Sheets("b").Cells(i, 2) = Sheets("b").Cells(i, 1) + Rnd()
  5.     Next i
  6.    
  7. End Sub
複製代碼
excel.zip (24.51 KB)

TOP

回復 20# 502243


    dim 改 public,像 gbkee  #16 那像寫,就可以把關閉放到另一個sub
Public app1 As Object, book1 As Excel.Workbook

TOP

        靜思自在 : 我們最大的敵人不是別人.可能是自己。
返回列表 上一主題