Tartalomjegyzék
Természetesen előfordulhat, hogy a fájlt egy másik könyvtárban lévő szülő Excel fájlból kell megnyitnunk a VBA segítségével. Ugyanakkor különböző típusú kritériumokkal rendelkezünk arról is, hogy hogyan szeretnénk megnyitni a munkafüzetet. Ha kíváncsi vagy arra, hogyan lehet megnyitni egy munkafüzetet a változó nevével, akkor ez a cikk hasznos lehet az Ön számára. Ebben a cikkben azt tárgyaljuk, hogyan lehet megnyitni egy munkafüzetet változó névvel.VBA használata Excelben, részletes magyarázatokkal.
Gyakorlati munkafüzet letöltése
Töltse le ezt a gyakorlati munkafüzetet az alábbiakban.
Munkafüzet megnyitása változó névvel VBA.xlsm használatával
Sample.xlsx
4 egyszerű módja annak, hogy a VBA használatával Változó névvel nyissa meg a munkafüzetet az Excelben
A bemutatóhoz az alábbi adatkészletet fogjuk használni. Több termék termékinformációja van az Id azonosítójával.Ez egy mintafájl, amelyet a VBA kóddal fogunk megnyitni.
1. A Workbook.Open tulajdonság használata
A Workbook.Open tulajdonsággal fájlokat nyithatunk meg a könyvtár megadásával, vagy a hely meg nem adásával. A megnyitott fájlt csak olvashatóvá is tehetjük.
1.1 Munkafüzet megnyitása a fájl elérési útvonalának megemlítésével
A következő módszerben a Workbook.Open tulajdonság a fájl közvetlen megnyitásához az említett fájl helyének könyvtárából. Nem számít, hol található a fájl, könnyen megnyithatjuk a fájlt.
Lépések
- Van egy fájlunk a documents mappában, amelyet meg kell nyitnunk.
- A fájlnevet fogjuk változóként használni, majd egy kis VBA makróval megnyitjuk a fájlt.
- A fájl pontos könyvtára a tulajdonságok ablakban alább látható.
- Először menjen a Fejlesztő fülre, és kattintson a Visual Basic . Ha nincs ilyen, akkor meg kell engedélyezze a Fejlesztő lapot Vagy megnyomhatja a ' Alt+F11' a Visual Basic szerkesztő .
- Ezután egy új párbeszédpanel jelenik meg, ebben a párbeszédpanelen kattintson a Beillesztés > Modul .
- Ezután a Modul szerkesztő ablakban írja be a következő kódot:
Sub Open_with_File_Path() Dim Open_File As String: File_path = "C:\Users\User\OneDrive\Documents\Sample" Dim wrkbk As Workbook Set wrkbk = Workbooks.Open(Filename:=File_path) End Sub
- Ezután zárja be a Modul ablak.
- Ezután menjen a A megtekintése tab> Makrók .
- Ezután kattintson a Makrók megtekintése .
- Miután rákattintott Makrók megtekintése, válassza ki az imént létrehozott makrókat. A név itt a következő Open_with_File_Path . Aztán kattintson Fuss .
- Ezután a Minta fájl megnyitásához.
🔎 A kód felbontása
Sub Open_with_File_Path()
⮚ Először is, adunk egy nevet az alprocedúrának, amely a következő Open_with_File_Path .
Dim Open_File As String: File_path = "C:\Users\User\OneDrive\Documents\Sample"
⮚ Ezután a fájl helyét beírjuk a File_Path változó
Dim wrkbk As Workbook
⮚ Ezután deklaráljuk a változónkat. wrkbk , amelynek típusa egy munkafüzet.
Set wrkbk = Workbooks.Open(Filename:=File_path)
⮚ Ezután megnyitjuk a fájl nevű fájlt a File_Path könyvtár változót, és állítsa be a fájlt wrkbk változó.
End Sub
⮚ Végül befejezzük a kód alfolyamatát.
Bővebben: Hogyan nyissa meg a munkafüzetet az Excel VBA segítségével (4 példa)
1.2 Munkafüzet megnyitása a fájl elérési útvonalának megadása nélkül
A következő módszerben megnyitjuk a fájlt a szülőmappából, ahová a főfájlt mentettük. A fájl megnyitható anélkül, hogy a kódban bármilyen helyet megemlítenénk. Ennek a fájlnak csak ugyanabban a mappában kell lennie, mint a szülőmappának.
Lépések
- Van egy másik fájlunk, amelyet ugyanabba a könyvtárba mentünk, ahová most a szülő Excel-fájlt mentettük.
- A fájl neve 1.
- Először menjen a Fejlesztő fülre, és kattintson a Visual Basic . Ha nincs ilyen, akkor meg kell engedélyezze a Fejlesztő lapot Vagy megnyomhatja a ' Alt+F11 ' a Visual Basic szerkesztő .
- Ezután egy új párbeszédpanel jelenik meg, ebben a párbeszédpanelen kattintson a Beillesztés > Modul .
- Ezután a Modul szerkesztő ablakban írja be a következő kódot:
Sub Open_without_File_Path() Dim wrkbk As Workbook Set wrkbk = Workbooks.Open(Filename:="1.xlsx") End Sub
- Ezután zárja be a Modul ablak.
- Ezután menjen a A megtekintése tab> Makrók .
- Ezután kattintson a Makrók megtekintése .
- A Makrók megtekintése gombra kattintás után válassza ki az imént létrehozott makrókat. A név itt a következő Open_without_File_Path Ezután kattintson a Futtatás gombra.
- Miután megnyomta a Fuss , akkor észreveheti, hogy az 1 nevű fájl már meg van nyitva.
- És így nyitjuk meg a munkafüzetet a változó nevével a VBA segítségével az Excelben.
🔎 A kód felbontása
Sub Open_without_File_Path()
⮚ Először is, adunk egy nevet az alprocedúrának, amely a következő Sub Open_without_File_Path()
Dim wrkbk As Workbook
⮚ Kijelentjük wrkbk mint változó a Workbook típusban
Set wrkbk = Workbooks.Open(Filename:="1.xlsx")
⮚ Megnyitunk egy fájlt a szülői könyvtárból, melynek neve 1.xlsx .
End Sub
⮚ Végül befejezzük a kód alfolyamatát.
1.3 Munkafüzet megnyitása csak olvasásként
A módszer nagyon hasonló az első módszerhez, de itt a fájlt csak olvasási módban nyitjuk meg, ami azt jelenti, hogy nem fogjuk tudni módosítani az Excel-fájlban lévő adatokat vagy értékeket.
Lépések
- A megnyitni kívánt fájl a dokumentum mappában van elmentve.
- És ez az a fájl, amelyet csak olvashatóan szeretnénk megnyitni.
- Először menjen a Fejlesztő fülre, és kattintson a Visual Basic . Ha nincs ilyen, akkor meg kell engedélyezze a Fejlesztő lapot Vagy megnyomhatja a ' Alt+F11 ' a Visual Basic szerkesztő megnyitásához.
- Ezután egy új párbeszédpanel jelenik meg, ebben a párbeszédpanelen kattintson a Beillesztés > Modul .
- Ezután a Modul szerkesztő ablakban írja be a következő kódot:
Sub Open_with_File_Read_Only() Dim wrkbk As Workbook Set wrkbk = Workbooks.Open("C:\Users\User\OneDrive\Documents\Sample", ReadOnly:=True) End Sub
- Ezután zárja be a Modul ablak.
- Ezután menjen a A megtekintése tab> Makrók .
- Ezután kattintson a Makrók megtekintése .
- A Makrók megtekintése gombra kattintás után válassza ki az imént létrehozott makrókat. A név itt a következő Open_with_File_Read_Only (Csak_fájlok_olvasásával_megnyitva) . Aztán kattintson Fuss .
- Miután rákattintott Fuss , látni fogjuk, hogy a fájl mostantól csak olvasásra van megnyitva, ahogy a címsorban is látható.
🔎 A kód felbontása
Sub Open_with_File_Read_Only()
⮚ Először is, adunk egy nevet az alprocedúrának, amely a következő Open_with_File_Read_Only()
Dim wrkbk As Workbook
⮚ Kijelentjük wrkbk mint változó a Workbook típusban
Set wrkbk = Workbooks.Open("C:\Users\User\OneDrive\Documents\Sample", ReadOnly:=True)
⮚ A fájl ekkor megnyílik a kijelölt könyvtárból, és a fájl be lesz állítva. csak olvasható az utolsó érvvel.
End Sub
⮚ Végül befejezzük a kód alfolyamatát.
Bővebben: Hogyan nyissa meg a munkafüzetet csak olvashatóan az Excel VBA-val
2. Üzenőmező használata
Szinte hasonlóan az előző módszerhez, a VBA kódon keresztül itt az Excelben is meg tudjuk nyitni a fájlokat, de ebben az esetben egy kis üzenőmezőt fogunk itt beépíteni.
Lépések
- Először menjen a Fejlesztő fülre, és kattintson a Visual Basic . Ha nincs ilyen, akkor meg kell engedélyezze a Fejlesztő lapot Vagy megnyomhatja a ' Alt+F11' a Visual Basic szerkesztő .
- Ezután egy új párbeszédpanel jelenik meg, ebben a párbeszédpanelen kattintson a Beillesztés > Modul .
- Ezután a Modul szerkesztő ablakban írja be a következő kódot:
Sub Open_File_with_Messege_Box() Dim path As String: path = "C:\Users\User\OneDrive\Documents\Sample.xlsx" If Dir(path) "" Then Workbooks.Open (path) MsgBox "A fájl megnyitása sikeres" Else MsgBox "A fájl megnyitása sikertelen" End If End Sub
- Ezután zárja be a Modul ablak.
- Ezután menjen a A megtekintése tab> Makrók .
- Ezután kattintson a Makrók megtekintése .
- Miután rákattintott Makrók megtekintése, válassza ki az imént létrehozott makrókat. A név itt a következő Open_File_with_Messege_Box . Aztán kattintson Fuss .
- Ezután megjelenik a figyelmeztető doboz, ami azt mutatja, hogy A fájl sikeresen megnyílt .
- Ezután kattintson a OK .
- És akkor látni fogjuk, hogy a fájl most már meg van nyitva.
- Aztán megpróbáljuk egy kicsit módosítani a kódot.
- A fájl nevét megváltoztatjuk Minta10 , és valójában nincs olyan fájl, amelynek a neve Minta10 a dokumentumok mappában.
- Akkor mi Fuss a kódot újra, és megjelenik egy üzenőmező, amiben a következőket írja A fájl megnyitása sikertelen .
- Kattintson a címre. OK ezután.
🔎 A kód felbontása
Sub Open_File_with_Messege_Box()
⮚ Először is, adunk egy nevet az alprocedúrának, amely a következő Open_with_File_Read_Only()
Dim path As String:
⮚ Kijelentjük wrkbk mint változó a Munkafüzet típusban
If Dir(path) "" Then Workbooks.Open (path)
MsgBox "A fájl sikeresen megnyílt" Else
⮚ Ez a sor ellenőrzi, hogy a Sample nevű fájl elérhető-e a könyvtárban vagy sem, Ha a fájl ott van, akkor megnyitja a fájlt, és ugyanakkor megjeleníti az üzenetet.
MsgBox "A fájl megnyitása sikertelen"
⮚ Ha nincs olyan fájl, amelynek neve Minta a könyvtárban, akkor ez az üzenet kézbesítésre kerül.
End If
⮚ Végül befejezzük a kód alfolyamatát.
End Sub
⮚ Végül befejezzük a kód alfolyamatát.
Bővebben: Hogyan nyissa meg a munkafüzetet és futtassa a makrót a VBA használatával (4 példa)
3. A párbeszédpanel használata a fájl megnyitásához
A fájl helyét tartalmazó könyvtár kivonása és importálása minden egyes alkalommal a VBA-kódban meglehetősen nehézkes. A probléma megoldása érdekében megmutatjuk, hogyan használhat egy párbeszédpanelt a fájl kiválasztásához bármely könyvtárból.
Lépések
- Most megnyitjuk a fájlt a Fájlkereső párbeszédpanel segítségével.
- Először menjen a Fejlesztő fülre, és kattintson a Visual Basic . Ha nincs ilyen, akkor meg kell engedélyezze a Fejlesztő lapot Vagy megnyomhatja a ' Alt+F11' a Visual Basic szerkesztő .
- Ezután egy új párbeszédpanel jelenik meg, ebben a párbeszédpanelen kattintson a Beillesztés > Modul .
- Ezután a Modul szerkesztő ablakban írja be a következő kódot:
Sub Open_File_with_Dialog_Box() Dim Dbox As FileDialog Dim File_Path As String Dim wrkbk As Workbook Set Dbox = Application.FileDialog(msoFileDialogFilePicker) Dbox.Title = "Choose and Open " & FileType Dbox.Filters.Clear Dbox.Show If Dbox.SelectedItems.Count = 1 Then File_Path = Dbox.SelectedItems(1) End If Set wrkbk = Workbooks.Open(Filename:=File_Path) End Sub
- Ezután zárja be a Modul ablak.
- Ezután menjen a A megtekintése tab> Makrók .
- Ezután kattintson a Makrók megtekintése .
- Miután rákattintott Makrók megtekintése, válassza ki az imént létrehozott makrókat. A név itt a következő Open_File_with_Dialog_Box . Aztán kattintson Fuss .
- Ekkor egy új ablak nyílik meg. A Fájlkereső párbeszédpanelben és válassza ki a Minta és kattintson OK .
- Ezután a Minta kinyílt.
- És így nyitjuk meg a munkafüzetet a változó nevével a VBA segítségével az Excelben.
🔎 A kód felbontása
Sub Open_File_with_Dialog_Box()
⮚ Először is, adunk egy nevet az alprocedúrának, amely a következő Sub Open_File_with_Dialog_Box()
Dim Dbox As FileDialog
⮚ Kijelentjük Dbox mint változó a FileDialog típus
Dim File_Path As String
⮚ Kijelentjük File_Path mint változó a File_Path Mint String típus
Set Dbox = Application.FileDialog(msoFileDialogFilePicker) Dbox.Title = "Choose and Open " & FileType
⮚ Az első sortól kezdve egy párbeszédpanel jelenik meg. A következő sor a párbeszédpanel nevét és a fájltípust jelöli.
⮚ Dbox.Title beállítja a párbeszédpanel címét. és FileType
állítsa be a fájltípust.
Dbox.Filters.Clear
⮚ The Dbox.Filters.Clear töröl minden korábbi szűrőt, amit a diaog mezőben alkalmaztak.
Dbox.Show
⮚ The Dbox.Show a párbeszédpanel megjelenik a fájlban.
⮚ Ez a sor határozza meg, hogy a felhasználó egynél több fájlt választott-e. Ha a felhasználó egynél több fájlt választ ki, az egész eljárás leáll.
End Sub
⮚ Végül befejezzük a kód alfolyamatát.
Bővebben: Hogyan nyissa meg a mappát és válassza ki a fájlt az Excel VBA használatával (4 példa)
4. A Workbook.Add tulajdonság használata
Az előző módszerekkel ellentétben most létrehozunk egy új Excel fájlt egy előre megadott könyvtárban, majd megnyitjuk azt a Munkafüzet. Add ingatlan.
Lépések
- Először menjen a Fejlesztő fülre, és kattintson a Visual Basic . Ha nincs ilyen, akkor meg kell engedélyezze a Fejlesztő lapot Vagy megnyomhatja a ' Alt+F11' a Visual Basic szerkesztő .
- Ezután egy új párbeszédpanel jelenik meg, ebben a párbeszédpanelen kattintson a Beillesztés > Modul .
Ezután a Modul szerkesztő ablakban írja be a következő kódot:
Sub Open_File_with_Add_Property() Dim File_Path As String: File_Path = "C:\Users\User\OneDrive\Documents\Sample.xlsx" Dim wb As Workbook Set wb = Workbooks.Add(File_Path) End Sub
- Ezután zárja be a Modul ablak.
- Ezután menjen a A megtekintése tab> Makrók .
- Ezután kattintson a Makrók megtekintése .
- Miután rákattintott Makrók megtekintése, válassza ki az imént létrehozott makrókat. A név itt a következő Open_File_with_Add_Property (Nyitott_fájl_Add_tulajdonsággal) . Aztán kattintson Fuss .
- Miután rákattintott a Fuss, azt fogja észrevenni, hogy egy új fájl jön létre és nyílik meg.
🔎 A kód felbontása
⮚ Először is, adunk egy nevet az alprocedúrának, amely a következő Sub Open_File_with_Add_Property()
⮚ Ezután kijelentjük a File_Path változó, mint String típus.
Dim File_Path As String: File_Path = "C:\Users\User\OneDrive\Documents\Sample.xlsx"
⮚ And set the File_Path változót a fájl helyére.
Dim wb As Workbook
⮚ Kijelentjük wb mint változó a Munkafüzet típus.
Set wb = Workbooks.Add(File_Path)
⮚ A munkafüzetet ezután hozzáadjuk a könyvtárban tárolt File_Path helyét a Workbook.Add ingatlan.
End Sub
⮚ Végül befejezzük a kód alfolyamatát.
Bővebben: [Javítva!] Az objektum munkafüzetek nyitási módszere sikertelen (4 megoldás)
Következtetés
Összefoglalva, arra a kérdésre, hogy hogyan nyithatunk meg VBA segítségével változó nevű munkafüzeteket, itt 4 különböző példával válaszolunk. A VBA makró módszerhez előzetes VBA-val kapcsolatos tudás, hogy a semmiből megértsük.
Ehhez a feladathoz letölthető egy makróval támogatott munkafüzet, amelyben ezeket a módszereket gyakorolhatja.
Nyugodtan tegyen fel bármilyen kérdést vagy visszajelzést a megjegyzés rovaton keresztül. Bármilyen javaslat a jobbítás érdekében a Exceldemy a közösség nagyra értékelendő lesz