Textový podProcedúra_1() "Vytvoriť v Náhodný vstup do pamäťe počítač "pomenovaný región - pole "myColor". "Pole pozostáva z tri riadky a dva stĺpce. "Ak potrebujete hľadať viac ako tri slová, potom musíte zmeniť "počet riadkov tu: nie 1 až 3, ale napríklad 1 až 4." Počet stĺpcov nie je potrebné meniť. Dim myColor(1 to 3, 1 to 2) As String Dim rngSearch As Excel.Range Dim rngFind As Excel.Range, myAddress As String Dim i As Long "1. Do prvého vložíme pole "myColor". text stĺpca, "ktorá sa bude hľadať v bunkách Excelu. "Do druhého stĺpca uvedieme číslo farby, ktorú chcete"použiť." "Číslo farby zistíte takto:" 1) prejdite do Excelu; "2) aktivujte bunku, v ktorej chcete poznať farbu; "3) prejdite do VBA; "4) Zobraziť - okamžité okno. Otvorí sa okno. Do tohto okna vložte „tento kód a stlačte kláves „Enter“. Získa sa číslo farby. „print activecell.Interior.Color“5) Je tam aj „ColorIndex“. určité farby sú dané " určité čísla. V pomocníkovi vo VBA (Excel 2010) ak „v pravom hornom rohu vložíte text „ColorIndex“ a stlačíte kláves „Enter“, zobrazí sa zoznam článkov. "Vyberte článok "Vlastnosť ColorIndex". V ňom je uvedené, "aká farba, ktoré číslo je priradené." "Čísla uzatváram do úvodzoviek, pretože som dal poliu dátový typ "Text". myColor(1, 1) = "GR": myColor(1, 2) = "5287936" myColor(2, 1) = "RD" : myColor(2, 2) = "255" myColor(3, 1) = "Y" : myColor(3, 2) = "65535" "2. Pre uľahčenie písania kódu dávame rozsahu buniek názov „rngSearch“, kde „bunky je potrebné premaľovať. Prostredníctvom tohto názvu budeme odkazovať“ na požadovaný rozsah buniek. Nastaviť rngSearch = ActiveSheet.Range("A1:D25") "Prechádzať cez "i" cez všetky riadky v poli "myColor". "UBound(myColor, 1) je sériové číslo posledný riadok v poli "myColor". Pre i = 1 To UBound(myColor, 1) Krok 1 "3. Je rýchlejšie nepozerať sa na každú bunku, ale hľadať rýchlejšie. "LookAt:=xlWhole - hľadá sa úplná zhoda. Nastaviť rngFind = rngSearch.Find(What:=myColor(i, 1), LookIn:=xlValues, _ LookAt:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, _ MatchCase:=False, SearchFormat:=False) Ak sa nájde, bunka obsahujúca nájdený text bude mať názov "rngFind". A prostredníctvom tohto názvu môžete odkazovať na bunku. "Ak sa nenájde, potom premenná 'rngFind' bude obsahovať text 'Nič'. Ak rngFind nie je nič, potom "4. Ak sa nenájde, pokračujte v hľadaní ďalšieho textu. GoTo label End If "If found."5. Pamätáme si adresu bunky, kde bola prvýkrát nájdená, "aby sme vyhľadávanie neskôr zastavili. mojaAddress = rngFind.Address "Pokračujeme v hľadaní pomocou slučky "Do ... Loop". Urobte "6. Vyfarbite bunku požadovanou farbou." Máme číslo ako text. Pomocou "CLng" "urobte z čísla číslo. rngFind.Interior.Color = CLng(myColor(i, 2)) "7. Pokračujeme v pátraní. Nastaviť rngFind = rngSearch.FindNext(rngFind) Slučka pri rngFind.Address<>myAddress metka: Ďalej i "8. Správa, že kód sa skončil. MsgBox "Kód sa skončil!", vbInformation End Sub
Vyplňte bunku farbou VBA Excel. Pozadie bunky. Vlastnosti.Interior.Color a.Interior.ColorIndex. farba RGB model. Štandardná paleta 56 farieb. preddefinované konštanty.
Vlastnosť.Interior.Color objektu Range
Počnúc Excelom 2007 je primárnym spôsobom, ako vyplniť rozsah alebo samostatnú bunku farbou (vykreslenie, pridanie, zmena pozadia), použiť vlastnosť .Interior.Color objektu Range priradením hodnoty farby vo forme desatinné číslo od 0 do 16777215 (celkovo 16777216 farieb).
Vyplňte bunku farbou vo VBA Excel
Príklad kódu 1:
Sub ColorTest1() Range("A1").Interior.Color = 31569 Range("A4:D8").Interior.Color = 4569325 Range("C12:D17").Cells(4).Interior.Color = 568569 buniek (3, 6). Farba interiéru = 12659 End Sub
Vložte vzorový kód do svojho softvérový modul a stlačte tlačidlo na paneli nástrojov "Run Sub" alebo na klávesnici "F5", kurzor by mal byť vo vnútri práve vykonávaného programu. Na aktívnom hárku Excel bunky a rozsah vybraný v kóde bude zafarbený zodpovedajúcimi farbami.
Je tam jedna zaujímavá nuansa: ak priradíte vlastnosť .Interiér.Farba záporná hodnota od -16777215 do -1, potom bude farba zodpovedať hodnote rovnajúcej sa súčtu maximálna hodnota paleta (16777215) a priradená záporná hodnota. Napríklad vyplnenie všetkých troch buniek po vykonaní nasledujúci kód bude to isté:
Sub ColorTest11() Cells(1, 1).Interior.Color = -12207890 Cells(2, 1).Interior.Color = 16777215 + (-12207890) Cells(3, 1).Interior.Color = 4569325 End Sub
Overené v Exceli 2016.
Zobrazovanie správ o číselných hodnotách farieb
Nie je možné zapamätať si číselné hodnoty farieb, takže často vzniká otázka, ako zistiť číselnú hodnotu pozadia bunky. Nasledujúci kód VBA Excel zobrazuje správy o číselných hodnotách predtým priradených farieb.
Príklad kódu 2:
Sub ColorTest2() Rozsah MsgBox("A1").Interior.Color MsgBox Range("A4:D8").Interior.Color MsgBox Range("C12:D17").Cells(4).Interior.Color MsgBox Cells(3 .6).Interiér.Farba Koniec Sub
Namiesto zobrazovania správ môžete priradiť číselné hodnoty farby na premenné tak, že ich deklarujete ako Long.
Použitie preddefinovaných konštánt
VBA Excel má preddefinované konštanty pre bežne používané farby výplne buniek:
Farba je bunke priradená preddefinovanou konštantou v Excel VBA rovnakým spôsobom ako číselná hodnota:
Príklad kódu 3:
Rozsah("A1").Interiér.Farba = vbZelená
RGB farebný model
Farebný systém RGB je kombináciou troch základných farieb rôznej intenzity: červenej, zelenej a modrej. Môžu nadobúdať hodnoty od 0 do 255. Ak sú všetky hodnoty 0, je čierna, ak sú všetky hodnoty 255, je biela.
Vyberte si farbu a spoznajte ju RGB hodnoty Môžete použiť paletu Excel:
Aby bolo možné bunke alebo rozsahu priradiť farbu pomocou hodnôt RGB, musia byť prevedené na desatinné číslo označujúci farbu. Pre toto existuje Funkcia VBA Excel, ktorý sa nazýva RGB.
Príklad kódu 4:
Rozsah("A1").Interiér.Farba = RGB(100, 150, 200)
Vlastnosť.Interior.ColorIndex objektu Range
Pred príchodom Excelu 2007 existovala len obmedzená paleta na vyplnenie buniek pozadím, pozostávajúca z 56 farieb, ktorá sa zachovala dodnes. Každá farba v tejto palete má priradený index od 1 do 56. Bunke môžete priradiť farbu podľa indexu alebo zobraziť správu o nej pomocou vlastnosti.Interior.ColorIndex:
Príklad kódu 5:
Rozsah("A1").Interior.ColorIndex = 8 Rozsah MsgBox("A1").Interior.ColorIndex
Obmedzenú paletu na vyplnenie buniek pozadím môžete zobraziť spustením vo VBA Excel je najjednoduchší makro:
Príklad kódu 6:
Sub ColorIndex() Dim i As Byte For i = 1 až 56 Cells(i, 1).Interior.ColorIndex = i Next End Sub
Čísla riadkov aktívneho hárku od 1 do 56 budú zodpovedať indexu farieb a bunka v prvom stĺpci bude vyplnená pozadím zodpovedajúcim indexu.
Môžete vidieť hotovú štandardnú paletu 56 farieb.
Vyplnenie bunky farbou vo VBA Excel. Pozadie bunky. Vlastnosti.Interior.Color a.Interior.ColorIndex. RGB farebný model. Štandardná paleta 56 farieb.
Vlastnosť.Interior.Color objektu Range
Počnúc Excelom 2007 je primárnym spôsobom, ako vyplniť rozsah alebo samostatnú bunku farbou (vykreslenie, pridanie, zmena pozadia), použiť vlastnosť .Interior.Color objektu Range priradením hodnoty farby vo forme desatinné číslo od 0 do 16777215 (celkovo 16777216 farieb).
Vyplňte bunku farbou vo VBA Excel
Príklad kódu 1:
SubColorTest1() Rozsah("A1").Interior.Color = 31569 Rozsah("A4:D8").Interior.Color = 4569325 Rozsah("C12:D17").Cells(4).Interior.Color = 568569 Bunky (3, 6). Farba interiéru = 12659 |
Umiestnite vzorový kód do svojho programového modulu a stlačte tlačidlo na paneli nástrojov "Run Sub" alebo na klávesnici "F5", kurzor by mal byť vo vnútri vykonávaného programu. Na aktívnom strana v Exceli bunky a rozsah vybrané v kóde budú podľa toho zafarbené.
Existuje jedna zaujímavá nuansa: ak priradíte vlastnosť .Interiér.Farba zápornú hodnotu od -16777215 do -1, potom bude farba zodpovedať hodnote rovnajúcej sa súčtu maximálnej hodnoty palety (16777215) a priradenej zápornej hodnoty. Napríklad vyplnenie všetkých troch buniek po vykonaní nasledujúceho kódu bude rovnaké:
Namiesto zobrazovania správ môžete premenným priradiť číselné farebné hodnoty tak, že ich deklarujete ako dlhé.
Použitie preddefinovaných konštánt
VBA Excel má preddefinované konštanty pre bežne používané farby výplne buniek:
Farba je bunke priradená preddefinovanou konštantou v Excel VBA rovnakým spôsobom ako číselná hodnota:
Príklad kódu 3:
Rozsah("A1").Interiér.Farba = vbZelená |
RGB farebný model
Farebný systém RGB je kombináciou troch základných farieb rôznej intenzity: červenej, zelenej a modrej. Môžu nadobúdať hodnoty od 0 do 255. Ak sú všetky hodnoty 0, je čierna, ak sú všetky hodnoty 255, je biela.
Môžete si vybrať farbu a zistiť jej hodnoty RGB pomocou palety Excel:
Otvorí sa v novom oknePredtým, ako budete môcť bunke alebo rozsahu priradiť farbu pomocou hodnôt RGB, je potrebné ich previesť na desatinné číslo predstavujúce farbu. Na tento účel existuje funkcia VBA Excel, ktorá sa nazýva RGB.
Príklad kódu 4:
Rozsah("A1").Interiér.Farba = RGB(100, 150, 200) |
Vlastnosť.Interior.ColorIndex objektu Range
Pred príchodom Excelu 2007 existovala len obmedzená paleta na vyplnenie buniek pozadím, pozostávajúca z 56 farieb, ktorá sa zachovala dodnes. Každá farba v tejto palete má priradený index od 1 do 56. Bunke môžete priradiť farbu podľa indexu alebo zobraziť správu o nej pomocou vlastnosti.Interior.ColorIndex.
Rozmýšľame, ako obnoviť Skype na prenosnom počítači
Fixies masters plná verzia Fixies hra plná verzia stiahnutá do vášho počítača
Inštalácia alebo aktualizácia, oprava chýb Net framework 3
Virtuálne meny a virtuálne burzy vo svete
Zlaté čísla Ako predať krásne telefónne číslo