返回列表 上一主題 發帖

[發問] VBA 表格內某格數值等於其他EXCEL檔

回復 3# toxin
應該是你兩個檔案分別使用2個Excel應用程式開啟所致
我想你這個程序應該是在含有Sheets("製造單")的活頁簿中某一工作表的按鈕程序
試試以下程式碼
  1. Private Sub CommandButton1_Click()
  2.     Dim a As Integer, i As Integer
  3.     Dim b As Integer
  4.     Dim c As Variant
  5.     Dim d As Variant
  6.     Dim E As Variant
  7.     Dim WB As Workbook, IA As Integer, IB As Integer, IC As Integer
  8.     IA = 7000
  9.     IB = 3
  10.     IC = 10
  11.     Set WB = Workbooks.Open("d:\test.xls")  '開啟活頁簿: 客戶工作表所在的活頁簿
  12.     Do
  13.         If WB.Sheets("製造單").Range("E" & IB) <> "" Then
  14.             IB = IB + 1
  15.         End If
  16.     Loop While Sheets("製造單").Range("E" & IB) <> ""
  17. AGO:
  18.     IC = IC + 1
  19.     Do
  20.         d = Sheets("製造單").Range("D" & IB)
  21.         Set c = WB.Sheets("客戶").Range("B11:B" & IC).Find(What:=d, LookIn:=xlFormulas, _
  22.          LookAt:=1, SearchOrder:=2, SearchDirection:=xlNext, _
  23.          MatchCase:=False, MatchByte:=False, SearchFormat:=True)
  24.         If IC = IA Then
  25.             Sheets("製造單").Range("E" & IB) = "未命名"
  26.             GoTo STAR
  27.         End If
  28.         If c Is Nothing Then
  29.             GoTo AGO
  30.         Else
  31.         '    IA = IC - 1
  32.             Sheets("製造單").Range("E" & IB) = WB.Sheets("客戶").Range("H" & IC)
  33.         End If
  34. STAR:
  35.         IB = IB + 1
  36.         IC = 11
  37.     Loop While Sheets("製造單").Range("D" & IB) <> ""
  38. WB.Close
  39. End Sub
複製代碼
學海無涯_不恥下問

TOP

回復 5# toxin


    所謂不開啟只是視覺上的關係,如果要取得某檔案內容,都必須開啟該檔案
就算是資料庫查詢,實質上還是在背景作業中開啟該檔案作為資料庫連線
你的問題最好將2個檔案同時附上,才知道問題出在哪裡
學海無涯_不恥下問

TOP

        靜思自在 : 【時間成就一切】時間可以造就人格,可以成就事業,也可以儲積功德。
返回列表 上一主題