Kazalo
V velikih podatkovnih zbirkah ste večino časa porabili za delo z razponi in celicami. Včasih morate isto dejanje ponoviti v velikih razponih ali velikem številu celic. To vam hkrati jemlje čas in zmanjšuje učinkovitost. Pametna rešitev te težave je, da zgradite Programska koda VBA ki bo potekal skozi vsako celico v območju in izvedel enako dejanje, ki ste ga naročili. Danes bomo v tem članku razpravljali o tem, kako narediti VBA za vsako celico v območju v Excelu.
Prenesi delovni zvezek za prakso
Prenesite to vadbeno knjigo in med branjem tega članka izvajajte nalogo.
Koda VBA za vsako celico v območju v Excel.xlsx3 primerni načini uporabe VBA za vsako celico v območju v Excelu
S kodo VBA lahko izvedete isto formulo za vsako celico v območju ali stolpcu ali vrstici. V tem razdelku bomo pregledali vse razdelke.
1. Uporaba VBA za vsako celico v območju
Razmislite o primeru, ko morate za vsako celico v določenem območju uporabiti isto kodo VBA ( B3:F12 ). V ta namen bomo izdelali kodo VBA. Navodila so navedena spodaj
Korak 1:
- Najprej bomo vstavili ukazni gumb, da bi poenostavili naše delo. Pojdite v svoj Zavihek Razvijalec , izberite Vstavite in kliknite ukazni gumb, da ga dobite.
- Dobili smo ukazni gumb.
- Z desnim klikom na ukazni gumb odprite možnosti. Izberite in kliknite na Lastnosti za spreminjanje nekaterih možnosti.
- Spremenite napis gumba za ukaz. Tukaj spremenimo ime v " Kliknite tukaj ".
Korak 2:
- Zdaj dvakrat kliknite na ukazni gumb, da odprete program VBA Modul . Tu bomo zapisali kodo VBA za to nalogo.
- Najprej bomo razglasili dve spremenljivki. Predmeta z razponom imenujemo CL in . Rng . Lahko jih poimenujete, kakor želite.
Dim CL kot obseg Dim Rng kot obseg
- S tem ukazom dodelite določeno območje,
Set Rng = Worksheets("VBA1").Range("B3:F12")
- Tukaj je VBA1 ime našega delovnega lista in B3:F12 je naše določeno območje.
- Zdaj bomo s kodo opravili pregled vsake celice v območju. Koda je,
Za vsak CL v Rng CL.Value = 100 Naslednji CL
- Vrednost = 100 se nanaša na to, da bo vrnil 100 za vsako celico v danem območju.
- Tako naša končna koda postane,
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
- Pojdite v glavni delovni list in kliknite ukazni gumb, da zaženete VBA za vsako celico v območju.
Korak 3:
- Podobno kot pri številčnih vrednostih lahko za vsako celico v območju vstavimo tudi besedilne vrednosti. V tem primeru pojdite v okno VBA in namesto vrednosti 100 vstavite besedilno vrednost, ki jo želite preganjati. Spremenjena vrstica je
CL.Value = "ExcelWIKI"
- Kliknite ukazni gumb in koda VBA bo vrnila to vrednost besedila za vsako celico v območju.
4. korak:
- V tem koraku se bomo nekoliko poglobili. Recimo, da želimo označiti vsako prazno celico v našem območju.
- Zato obstoječi kodi dodajte nov pogoj. Nova formula je,
If CL.Value = " " Then CL.Interior.ColorIndex = 3 End If
- Ta nova koda bo prazno celico označila z rdečo barvo,
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
- Rezultat dobite s klikom na gumb za ukaz.
Podobna branja:
- Kako uporabljati objekt Range VBA v Excelu (5 lastnosti)
- Uporaba zamika obsega VBA (11 načinov)
- Kako šteti besedilo v Excelu (7 enostavnih trikov)
2. Vstavite kodo VBA za vsako celico v stolpcu razpona
Kodo VBA lahko zaženemo tudi za vsako celico v stolpcu. Recimo, da imamo stolpec s številkami in da moramo obarvati vrednosti, ki so manjše od 10. Sestavili bomo kodo VBA za vsako celico v stolpcu.
Korak 1:
- Ustvarite ukazni gumb v skladu z navodili, ki smo jih obravnavali.
Korak 2:
- Z dvoklikom na ukazni gumb odprite okno VBA.
- Deklarirali bomo spremenljivko z imenom " c " tipa long. Tu uporabljamo spremenljivko tipa Long, ker imajo spremenljivke Long večjo zmogljivost kot spremenljivke Integer.
Dim c kot Long
- Nato dodajte vrstico kode, ki spremeni barvo pisave vseh celic v našem stolpcu v črno.
Columns(1).Font.Color = vbBlack
- Vstavite zanko za to kodo.
Za c = 1 do vrstic.Count Naslednji c
- V tem koraku bomo vnesli pogoj za obarvanje vrednosti, ki so nižje od vrednosti celice C4 (10). Vnesite to kodo.
If Cells(c, 1).Value <Range("C4").Value And Not IsEmpty(Cells(c, 1).Value) Then Cells(c, 1).Font.Color = vbRed End If
- Končna koda je,
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
- Program VBA se bo zagnal in prikazal rezultate, ko boste kliknili na ukazni gumb.
3. Napišite kodo VBA za vsako celico v vrstici območja
Kodo VBA lahko zaženemo tudi za vsako celico v vrstici. V dani vrstici moramo za vsako celico v vrstici izvesti enako dejanje.
Korak 1:
- Dodajte ukazni gumb in spremenite njegovo ime v " Kliknite tukaj! "
- Z dvoklikom na gumb odprite okno VBA. Zapišite spodnjo kodo VBA.
Private Sub CommandButton1_Click () Dim r As Range Dim MyString As String 'Za vsako celico v vrstici in uporabite rumeno barvno polnilo For Each r In Range("B3:F3").Rows r.Interior.ColorIndex = 6 Next End Sub
- Koda bo pregledala vsako celico vrstice in v vsako celico vnesla rumeno barvo.
- Kliknite na gumb in naš rezultat je tukaj.
Hitre opombe
👉 Če zavihek za razvijalce ni viden, ga lahko aktivirate s tem navodilom.
Prilagojena orodna vrstica za hitri dostop → Več ukazov → Prilagodi trak → Razvijalec → V redu
Zaključek
Pregledali smo tri različne pristope za zagon VBA za vsako celico v območju. Če imate kakršna koli vprašanja ali poizvedbe, vas vabimo, da jih komentirate. Oglejte si tudi naše druge članke, povezane z nalogami Excel!