Excel VBA választási tartomány
A VBA-val kapcsolatos alapkitöltések után fontos megérteni, hogyan kell a munkalap számos cellatartalmával dolgozni. Amint gyakorlatilag a legtöbbször elkezdi végrehajtani a kódokat, egy cellatartománnyal kell dolgoznia, ezért fontos megérteni, hogyan kell működni egy cellatartománnyal, és az egyik ilyen fogalom a VBA „Range of Range”. Ebben a cikkben megmutatjuk, hogyan kell működni az Excel VBA „Kiválasztási tartományával”.
A Kiválasztás és a Tartomány két különböző téma, de amikor azt mondjuk, hogy válassza ki a tartományt vagy a tartomány kiválasztását, ez egyetlen fogalom. A RANGE egy objektum, a „Selection” egy tulajdonság, a „Select” pedig egy módszer. Az emberek általában összetévesztik ezeket a kifejezéseket. Fontos ismerni a különbségeket általában.
![](https://cdn.know-base.net/4830615/vba_selection_range_how_to_select_a_range_in_excel_vba_.jpg.webp)
Tartomány kiválasztása az Excel VBA-ban?
1. példa
Tegyük fel például, hogy akkor a munkalapon ki szeretné választani az A1 cellát. Először meg kell adnunk a cella címét egy RANGE objektum használatával, mint az alábbiak.
Kód:
![](https://cdn.know-base.net/4830615/vba_selection_range_how_to_select_a_range_in_excel_vba__2.jpg.webp)
Miután megemlítette a cellát, amelyet ki kell választanunk, tegyen egy pontot a RANGE objektumhoz társított IntelliSense lista megjelenítéséhez.
![](https://cdn.know-base.net/4830615/vba_selection_range_how_to_select_a_range_in_excel_vba__3.jpg.webp)
Alakítsa ki ezt a fajta listát, válassza a „Kiválasztás” módszert.
Kód:
Altartomány_Példa1 () Tartomány ("A1"). Válassza a Vége al lehetőséget
![](https://cdn.know-base.net/4830615/vba_selection_range_how_to_select_a_range_in_excel_vba__4.jpg.webp)
Ez a kód választja ki az aktív cellában az A1 cellát.
![](https://cdn.know-base.net/4830615/vba_selection_range_how_to_select_a_range_in_excel_vba_.gif)
Ha ki akarja jelölni a cellát a különböző munkalapokon, akkor először meg kell határoznunk a munkalapot a neve alapján. A munkalap megadásához a „WORKSHEET” objektumot kell használnunk, és dupla idézőjelbe kell írnunk a munkalap nevét.
Például, ha ki akarja jelölni az A1 cellát az „Adatlap” munkalapon, akkor először adja meg a munkalapot az alábbiakhoz hasonlóan.
Kód:
Altartomány_Példa1 () Munkalapok ("Adatlap") Vége al
Ezután folytassa a kódot, hogy meghatározza, mit kell tennünk ebben a lapban. Az „Adatlap” részben ki kell választanunk az A1 cellát, így a kód RANGE („A1”) lesz. Válassza ki.
Kód:
Altartomány_Példa1 () Munkalapok ("Adatlap"). Tartomány ("A1"). Válassza a Vége al
Amikor megpróbálja végrehajtani ezt a kódot, az alábbi hibát kapjuk.
![](https://cdn.know-base.net/4830615/vba_selection_range_how_to_select_a_range_in_excel_vba__5.jpg.webp)
Ennek oka: "nem tudjuk közvetlenül megadni a tartomány objektumot és a metódus kiválasztását a munkalapok objektumhoz"
Először ki kell választanunk vagy aktiválnunk kell a VBA munkalapot, majd bármit megtehetünk, amit szerettünk volna.
Kód:
Altartomány_Példa1 () Munkalapok ("Adatlap"). Aktiválja a Tartományt ("A1"). Válassza a Vége al lehetőséget
Most ez kiválasztja az A1 cellát az „Adatlap” munkalapon.
![](https://cdn.know-base.net/4830615/vba_selection_range_how_to_select_a_range_in_excel_vba__2.gif)
2. példa - Az aktuálisan kiválasztott tartomány működése
A Kiválasztás más dolog, és a már kiválasztott cellatartománnyal való munka más. Tegyük fel, hogy be akarsz illeszteni egy „Hello VBA” értéket az A1 cellába, akkor ezt kétféleképpen tehetjük meg.
Először közvetlenül átadhatjuk a VBA kódot RANGE (“A1”) néven. Érték = “Hello, VBA.”
Kód:
Sub Range_Példa1 () Range ("A1"). Érték = "Hello VBA" End Sub
Ez a kód csak annyit tesz, hogy csak beilleszti a „Hello VBA” értéket az A1 cellába, függetlenül attól, hogy melyik cella van kijelölve.
![](https://cdn.know-base.net/4830615/vba_selection_range_how_to_select_a_range_in_excel_vba__3.gif)
Nézze meg a kód fenti eredményét. Amikor végrehajtjuk ezt a kódot, beillesztette a „Hello VBA” értéket, annak ellenére, hogy a jelenleg kiválasztott cella B2.
Másodszor a „Selection” tulajdonság segítségével beilleszthetjük az értéket a cellába. Ehhez először ki kell választanunk a cellát, és végre kell hajtanunk a kódot.
Kód:
Altartomány_Példa1 () Selection.Value = "Hello VBA" End Sub
Ez a kód azt fogja tenni, hogy ez beilleszti a „Hello VBA” értéket az aktuálisan kiválasztott cellába. Nézze meg például a végrehajtás alábbi példáját.
![](https://cdn.know-base.net/4830615/vba_selection_range_how_to_select_a_range_in_excel_vba__4.gif)
Amikor végrehajtottam a kódot, az aktuálisan kiválasztott cellám B2 volt, és kódunk ugyanazt az értéket illesztette be az aktuálisan kiválasztott cellába.
Most kiválasztom a B3 cellát és végrehajtom, ott is ugyanazt az értéket kapjuk.
![](https://cdn.know-base.net/4830615/vba_selection_range_how_to_select_a_range_in_excel_vba__6.jpg.webp)
Még egy dolog, amit tehetünk a „választás” tulajdonsággal: több cellába is beilleszthetünk értéket. Például most kiválasztom az A1 és B5 közötti cellatartományt.
![](https://cdn.know-base.net/4830615/vba_selection_range_how_to_select_a_range_in_excel_vba__7.jpg.webp)
Most, ha végrehajtom a kódot, az összes kijelölt cellához az értéket „Hello VBA” -ként kapjuk meg.
![](https://cdn.know-base.net/4830615/vba_selection_range_how_to_select_a_range_in_excel_vba__5.gif)
Tehát a cellacím RANGE objektumonkénti meghatározása és a Selection tulajdonság közötti egyszerű különbség az, hogy a Range objektumkódban értéket ad a kifejezetten megadott cellákhoz.
De a Selection objektumban nem mindegy, hogy melyik cellában tartózkodsz. Ez beilleszti az említett értéket az összes kiválasztott cellába.
Amire itt emlékezni kell
- Nem tudjuk közvetlenül megadni a select metódust a Selection tulajdonság alatt.
- A RANGE objektum, a kiválasztás pedig tulajdonság.
- Tartomány helyett használhatjuk a CELLS tulajdonságot.