Tartalomjegyzék
Ebben a cikkben megmutatom, hogyan állíthat be egy változót egy cella értékére a következővel VBA Excelben. Megtanulja, hogyan állíthat be egy változót egyetlen cella és egy cellatartomány értékére.
Gyakorlati munkafüzet letöltése
Töltse le ezt a gyakorlati munkafüzetet, hogy gyakorolhasson, miközben ezt a cikket olvassa.
Változó beállítása Cell.xlsm-re3 gyors példa a változó Excel-cellaértékre történő beállítására
Itt van egy adathalmazunk, amely tartalmazza a néhány ügyfél neve , a kapcsolati számok , és e-mail címek hatótávolságon belül B3:D13 egy munkalapon.
Célunk, hogy a változókat ebből az adatkészletből származó cellák értékeire állítsuk be a következőkkel VBA .
1. Változó beállítása egyetlen cellaértékre az Excel VBA használatával
Először is megtanuljuk, hogyan állítsunk be egy változót egyetlen cella értékére a következővel VBA .
Például állítsuk be a cella értékét a következő cellában B4 egy változóra, amelynek neve Ügyfél_Név .
Jobb, ha tudod az érték adattípusát, és előbb deklarálod. És aztán beállítod az értéket a változóban.
Például itt a cella B4 tartalmazza a nevet, Borisz Paszternak . Ez egy string-type Ezért használhatja a következőt 2 kódsorok:
Dim Value As String Value = Range("B4")
De az sem baj, ha nem vagy biztos az adattípusban. Ebben az esetben csak a 2. sort írd ki, és a VBA helyesen fogja kiolvasni az értéket.
Value = Range("B4")
Most pedig, hogy ellenőrizze, hogy VBA helyesen olvasta az értéket, vagy sem, írja be a következő sort MsgBox Érték a két kódkészlet valamelyikével, majd futtassa a kódot.
Megjelenik egy üzenőmező, amely megmutatja a cella értékét. B4 , Borisz Paszternak .
2. Egy szomszédos cellatartomány értékeinek beállítása egy változóba az Excel VBA használatával
Most egy szomszédos cellatartomány értékeit fogjuk egy változóba helyezni. Például olvassuk be a következő tartományt B3:D13 a változóba Rng .
Itt a változó adattípusa egy Tartomány Előzetesen is bejelentheted így:
Dim Rng As Range Set Rng = Range("B3:D13")
Vagy közvetlenül hozzárendelheti az értékeket vele.
Set Rng = Range("B3:D13")
Most, hogy elérjük a Range objektum , akkor a sor- és oszlopszámukkal kell elérnie őket egy Cellák objektum .
Például a cellák eléréséhez B4 , akkor a Rng.Cells(2,1) [ Cell B4 a 2. sor és 1. oszlop a tartományban B3:D13 .]
Írja be a sort MsgBox Rng.Cells(2,1) a kódodon belül, és futtasd le. Megmutatja, hogy Borisz Paszternak , a cellában lévő érték B4 .
3. Egy nem szomszédos cellatartomány értékeinek beállítása egy változóba az Excel VBA használatával
Végül egy nem szomszédos cellatartomány értékeit egy változóba helyezzük.
Például próbáljuk meg kiolvasni a következő tartományt B3:B13 és D3:D13 egy változóba, melynek neve Rng .
Ez megint egy adattípus a Tartomány Előzetesen vagy bejelentheti, vagy nem.
Használjuk a Uniós módszer a VBA csatlakozni 2 vagy több nem szomszédos cellatartományt egyetlen tartományba.
Dim Rng As Range Set Range = Union(Range("B3:B13"), Range("D3:D13"))
Most a cellához való hozzáféréshez B4 , ismét be kell írni a sort MsgBox Rng.Cells(1,1). Ezután, ha futtatjuk a kódot, akkor megjeleníti a cellában lévő tartalmat. B4 , Borisz Paszternak .
Emlékezetes dolgok
A fent leírt módszerek csak az aktív munkalapra vonatkoznak. Ha egy nem aktív munkalaphoz szeretne hozzáférni, akkor a tartomány előtt meg kell adnia a munkalap nevét.
Például a tartomány eléréséhez B4 a Sheet1 kell használnia:
Value = Worksheets("Sheet1").Range("B4")