Pytanie : VBA śródpolny wartość na stół podczas pętla

The blok kod pod import odmianowy worksheets od 3 różny Przodować kartoteka w jeden stół.  Natychmiast po `Year1.xlsx' importować w `tblMaster', I potrzebować the wartość dla tblMaster rejestr pod śródpolny imię `fldYear' w the cel stół (`tblMaster').  

The wartość ono aktualizować być od the formularzowy kontrola "[forma]! [frmName]! [txtYear1]".

Then gdy `Year2.xlsx' importować, `fldYear' aktualizować z wartość spisywać w "[forma]! [frmName]! [txtYear2]".  Wtedy the ten sam kostium podążać gdy importować `Year3.xlsx".

Any wgląd w to?
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
Public Okręt podwodny ImportExcelSheetsfIANL ()
Ciemnawy objXL Przedmiot
Ciemnawy stajenka, xlPath Równie Sznurek, i Integer

Ciemnawy myPath (), j, iCnt Jako Integer
myPath = Szyk ("\ \ serwer \ Year1.xlsx", _
               "\ \ serwer \ Year2.xlsx", _
               "\ \ serwer \ Year3.xlsx")
Dla j = LBound (myPath) UBound (myPath)
    
Jeżeli Dir (myPath (j)) <> "" Wtedy

Ustalony objXL = CreateObject ("Excel.Application")
    objXL.Workbooks.Open myPath (j), Prawdziwy
    Z objXL
        Dla i = (1). Worksheets.Count
            Jeżeli InStr (. Worksheets (i). Imię, "widget") Wtedy
            DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel12, _
             "tblMaster", myPath (j), Prawdziwy. Worksheets (i). Imię &"! A: M "
            Kończyć Jeżeli
        Następnie
    Końcówka Z
    objXL.Quit
    Ustalony objXL = Nic

    Inny
    iCnt = iCnt + (1)
Kończyć Jeżeli
Następnie
Jeżeli iCnt = 3 Wtedy
MsgBox "Worksheets istnieć. Wychodzić teraz! ", vbInformation, "Błąd"
Wyjście Okręt podwodny
Kończyć Jeżeli

Odpowiedź : VBA śródpolny wartość na stół podczas pętla

badać to

(1):
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
Jawny Okręt podwodny ImportExcelSheetsfIANL ()
Ciemnawy objXL Przedmiot
Ciemnawy stajenka, xlPath Równie Sznurek, i Integer

Ciemnawy myPath (), j, iCnt Jako Integer
myPath = Szyk ("\ \ serwer \ Year1.xlsx", _
               "\ \ serwer \ Year2.xlsx", _
               "\ \ serwer \ Year3.xlsx")
Dla j = LBound (myPath) UBound (myPath)
    
Jeżeli Dir (myPath (j))  <> "" Wtedy

Ustalony objXL = CreateObject ("Excel.Application")
    objXL.Workbooks.Open myPath (j), Prawdziwy
    Z objXL
        Dla i = (1). Worksheets.Count
            Jeżeli InStr (. Worksheets (i). Imię, "widget") Wtedy
            DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel12, _
             "tblMaster", myPath (j), Prawdziwy. Worksheets (i). Imię &"! A: M "
            Kończyć Jeżeli
        Następnie
        
    Końcówka Z
    objXL.Quit
    Ustalony objXL = Nic
    Wybrany Skrzynka j
        Skrzynka (0)
        CurrentDb.Execute "aktualizacja tblMaster ustalony fldYear='" & [Forma]! [frmName]! [txtYear1] & "'dokąd fldYear być null"
        Skrzynka (1)
        CurrentDb.Execute "aktualizacja tblMaster ustalony fldYear='" & [Forma]! [frmName]! [txtYear2] & "'dokąd fldYear być null"
        Skrzynka 2
        CurrentDb.Execute "aktualizacja tblMaster ustalony fldYear='" & [Forma]! [frmName]! [txtYear3] & "'dokąd fldYear być null"
        
        
    Końcówka Wybiórka
    Inny
    iCnt = iCnt + (1)
Kończyć Jeżeli
Następnie
Jeżeli iCnt = 3 Wtedy
MsgBox "Worksheets istnieć. Wychodzić teraz! ", vbInformation, "Błąd"
Wyjście Okręt podwodny
Kończyć Jeżeli

Kończyć Okręt podwodny
Inne rozwiązania  
 
programming4us programming4us