Tartalomjegyzék
A nagy adatbázisokban a legtöbb időt a tartományok és cellák kezelésével töltöd. Néha ugyanazt a műveletet kell megismételned nagy tartományokban vagy nagy számú cellában. Ez egyidejűleg megöli az idődet és csökkenti a hatékonyságodat. Az okos megoldás erre a problémára az, hogy építs egy VBA programozási kód amely végigfut a tartomány minden egyes celláján, és ugyanazt a műveletet hajtja végre, amelyet Ön irányít. Ma ebben a cikkben megvitatjuk, hogyan kell VBA-t végezni az Excel tartomány minden cellájához.
Gyakorlati munkafüzet letöltése
Töltse le ezt a gyakorlókönyvet, hogy gyakorolja a feladatot, miközben ezt a cikket olvassa.
VBA-kód az Excel.xlsx tartomány minden egyes cellájához3 megfelelő módja a VBA alkalmazásának az Excel tartomány minden egyes cellájához
Egy VBA kód segítségével ugyanazt a képletet egy tartomány, oszlop vagy sor minden egyes cellájára elvégezhetjük. Ebben a részben végigmegyünk az összes szakaszon.
1. Alkalmazza a VBA-t a tartomány minden egyes cellájára
Vegyünk egy olyan helyzetet, amikor ugyanazt a VBA-kódot kell alkalmaznunk egy adott tartomány minden cellájára ( B3:F12 ). Ehhez egy VBA kódot fogunk készíteni. Az alábbi utasításokat az alábbiakban találja.
1. lépés:
- Először is, beillesztünk egy parancsgombot, hogy egyszerűsítsük a munkánkat. Menjünk be a Fejlesztő lap , válasszon Beillesztés , és kattintson a parancsgombra, hogy kapjon egyet.
- Megvan a parancsgombunk.
- Kattintson a jobb gombbal a parancsgombra a beállítások megnyitásához. Válassza ki és kattintson a Tulajdonságok hogy módosítson néhány opciót.
- Változtassuk meg a parancsgomb feliratát. Itt a nevet megváltoztatjuk, " Kattintson ide ".
2. lépés:
- Most kattintson duplán a parancsgombra a VBA megnyitásához. Modul Itt fogjuk leírni a feladathoz szükséges VBA kódot.
- Először is, deklarálunk két változót. A tartomány objektumokat úgy hívjuk, hogy CL és Rng Úgy nevezheted el őket, ahogy akarod.
Dim CL As Range Dim Rng As Range
- Ezzel a paranccsal konkrét tartományt rendelhet hozzá,
Set Rng = Worksheets("VBA1").Range("B3:F12")
- Itt a VBA1 a munkalap neve és a B3:F12 a mi meghatározott tartományunk.
- Most a kód segítségével végigmegyünk a tartomány minden egyes celláján. A kód a következő,
For Each CL In Rng CL.Value = 100 Next CL
- Érték = 100 utal arra, hogy visszatér 100 az adott tartomány minden egyes cellájára.
- Így a végső kódunk a következő lesz,
Private Sub CommandButton1_Click () Dim CL As Range Dim Rng As Range Set Rng = Worksheets("VBA1").Range("B3:F12") For Each CL In Rng CL.Value = 100 Next CL End Sub
- Menjen a fő munkalapra, és kattintson a parancs gombra a VBA futtatásához a tartomány minden egyes cellájára.
3. lépés:
- A numerikus értékekhez hasonlóan szöveges értékeket is megadhatunk a tartomány egyes celláihoz. Ebben az esetben menjünk a VBA ablakba, és a 100 helyett illesszük be a kívánt szöveges értéket. A megváltozott sor a következő lesz
CL.Value = "ExcelWIKI"
- Kattintson a parancsgombra, és a VBA-kód a tartomány minden egyes cellájára visszaadja ezt a szövegértéket.
4. lépés:
- Ebben a lépésben egy kicsit mélyebbre ásunk. Tegyük fel, hogy a tartományunk minden üres celláját ki akarjuk emelni.
- Ehhez adjunk hozzá egy új feltételt a meglévő kódhoz. Az új képlet a következő,
If CL.Value = " " Then CL.Interior.ColorIndex = 3 End If
- Ez az új kód piros színnel fogja kiemelni az üres cellát. A teljes kód tehát a következő,
Private Sub CommandButton1_Click () Dim CL As Range Dim Rng As Range Set Rng = Worksheets("VBA1").Range("B3:F12") For Each CL In Rng If CL.Value = " " Then CL.Interior.ColorIndex = 3 End If Next CL End Sub
- Az eredményt a parancs gombra kattintva kapja meg.
Hasonló olvasmányok:
- A VBA tartományobjektum használata az Excelben (5 tulajdonság)
- VBA tartományeltolás használata (11 mód)
- Hogyan számolhat szöveget az Excelben (7 egyszerű trükk)
2. VBA-kód beillesztése egy tartomány oszlopának minden cellájához
VBA kódot futtathatunk egy oszlop minden egyes cellájára is. Tegyük fel, hogy van egy számokat tartalmazó oszlopunk, és ki kell színeznünk a 10-nél kisebb értékeket. Létrehozunk egy VBA kódot az oszlop minden egyes cellájának futtatásához.
1. lépés:
- Hozzon létre egy parancsgombot az általunk tárgyalt utasításokat követve.
2. lépés:
- Kattintson duplán a parancsgombra a VBA ablak megnyitásához.
- Deklarálunk egy változót, melynek neve " c " típusú Long változót használunk, mivel a Long változók kapacitása nagyobb, mint az Integer változóké.
Dim c As Long
- Ezután adjuk hozzá azt a kódsort, amely az oszlopunk összes cellájának betűszínét feketére változtatja.
Columns(1).Font.Color = vbBlack
- Illessze be a kódhoz tartozó hurkot.
For c = 1 To Rows.Count Következő c
- Ebben a lépésben egy olyan feltételt adunk meg, amely kiszínezi azokat az értékeket, amelyek alacsonyabbak a C4 cella értékénél (10). Ehhez írjuk be ezt a kódot.
If Cells(c, 1).Value <Range("C4").Value And Not IsEmpty(Cells(c, 1).Value) Then Cells(c, 1).Font.Color = vbRed End If
- A végső kód tehát a következő,
Private Sub CommandButton1_Click () Dim c As Long Columns(1).Font.Color = vbBlack For c = 1 To Rows.Count If Cells(c, 1).Value <Range("C4").Value And Not IsEmpty(Cells(c, 1).Value) Then Cells(c, 1).Font.Color = vbRed End If Next c End Sub
- A VBA lefut és eredményeket mutat, amikor a parancsgombra kattint.
3. VBA-kód írása egy tartomány sorának minden cellájához
Egy sor minden egyes cellájára is futtathatunk egy VBA kódot. Az adott sorban a sor minden celláján ugyanazt a műveletet kell végrehajtanunk.
1. lépés:
- Adjunk hozzá egy parancsgombot, és változtassuk meg a nevét " Kattintson ide! "
- Kattintson duplán a gombra a VBA ablak megnyitásához. Írja le az alábbi VBA kódot.
Private Sub CommandButton1_Click () Dim r As Range Dim MyString As String 'Minden egyes cellára egy sorban, és alkalmazzunk sárga színű kitöltést For Each r In Range("B3:F3").Rows r.Interior.ColorIndex = 6 Next End Sub
- A kód végigfut a sor minden egyes celláján, és sárga színű kitöltést alkalmaz minden egyes cellára.
- Kattintson a gombra, és máris itt az eredmény.
Gyors megjegyzések
👉 Ha nem látható a fejlesztői lapod, akkor ezzel az utasítással aktiválhatod.
Testreszabott gyorselérési eszköztár → További parancsok → Szalag testreszabása → Fejlesztő → OK
Következtetés
Végigvettünk három különböző megközelítést a VBA futtatására egy tartomány minden egyes cellájára. Szívesen látjuk, ha bármilyen kérdése vagy kérdése van. Nézze meg más, az Excel feladatokkal kapcsolatos cikkeinket is!