Vba эсийн өнгийг олж мэдээрэй. VBA Excel. Нүдний өнгө (бөглөх, дэвсгэр). Тоон өнгөт утгын талаархи мессежүүдийг харуулж байна

Нүдийг өнгөөр ​​дүүргэх VBA Excel. Нүдний дэвсгэр. Properties.Interior.Color ба.Interior.ColorIndex. Өнгөт загвар RGB. 56 өнгөний стандарт палитр.

Range объектын.Interior.Color шинж чанар

Excel 2007 программаас эхлэн муж эсвэл тусдаа нүдийг өнгөөр ​​дүүргэх (будах, нэмэх, дэвсгэрийг өөрчлөх) үндсэн арга бол Range объектын.Interior.Color шинж чанарыг ашиглан өнгөт утгыг аравтын бутархай тоо болгон өгөх явдал юм. 0-ээс 16777215 хүртэл (нийт 16777216 өнгө).

VBA Excel дээр нүдийг өнгөөр ​​дүүргэх

Кодын жишээ 1:

Дэд өнгөт тест1()

Range("A1").Интерьер.Өнгө = 31569

Хүрээ("A4:D8").Интерьер.Өнгө = 4569325

Range("C12:D17").Cells(4).Interior.Color = 568569

Нүд(3, 6).Дотоод.Өнгө = 12659

Жишээ кодыг өөрийн хэсэгт байрлуул програм хангамжийн модуль"Run Sub" хэрэгслийн самбар эсвэл "F5" гар дээрх товчлуурыг дарахад курсор ажиллаж байгаа програмын дотор байх ёстой. Идэвхтэй байна Excel хуудасКодод сонгосон нүднүүд болон мужууд тохирох өнгөөр ​​гарч ирнэ.

Нэг сонирхолтой нюанс байна:эд хөрөнгөд хуваарилагдсан бол .Интерьер.Өнгө-16777215-аас -1 хүртэл сөрөг утгатай бол өнгө нь нийлбэртэй тэнцүү утгатай тохирно. хамгийн их утгапалитр (16777215) болон томилогдсон сөрөг утга. Жишээлбэл, гүйцэтгэсний дараа бүх гурван нүдийг дүүргэх дараах кодижил байх болно:

Мессежийг харуулахын оронд та урт гэж зарлаж хувьсагчдад тоон өнгөний утгыг оноож болно.

Урьдчилан тодорхойлсон тогтмолуудыг ашиглах

VBA Excel нь нүд дүүргэх өнгөний хувьд урьдчилан тодорхойлсон тогтмолуудыг агуулдаг.

Өнгө нь тоон утгатай адилаар VBA Excel-д урьдчилан тодорхойлсон тогтмолтой нүдэнд оноогдсон байна:

Кодын жишээ 3:

Range("A1").Interior.Color = vbGreen

RGB өнгөт загвар

RGB өнгөт систем нь улаан, ногоон, цэнхэр гэсэн янз бүрийн эрчимтэй гурван үндсэн өнгөний хослол юм. Тэд 0-ээс 255 хүртэлх утгыг авч болно. Хэрэв бүх утга 0 байвал хар, 255 бол цагаан байна.

Та Excel палитрыг ашиглан өнгө сонгож, RGB утгыг нь олж мэдэх боломжтой.

Шинэ цонхонд нээгдэнэ

RGB утгыг ашиглан нүд эсвэл мужид өнгө оноохын өмнө тэдгээрийг хөрвүүлэх шаардлагатай аравтын тоо, өнгийг илтгэнэ. Үүнд зориулсан VBA Excel функц байдаг бөгөөд үүнийг RGB гэж нэрлэдэг.

Кодын жишээ 4:

Хүрээ("A1").Интерьер.Өнгө = RGB(100, 150, 200)

Range объектын Property.Interior.ColorIndex

Excel 2007 гарч ирэхээс өмнө 56 өнгөнөөс бүрдсэн арын дэвсгэр бүхий нүдийг дүүргэх хязгаарлагдмал палитр байсан бөгөөд өнөөг хүртэл хадгалагдан үлджээ. Энэ палитр дахь өнгө бүрд 1-ээс 56 хүртэлх индекс оноогдсон. Та нүдэнд индексээр нь өнгө өгөх эсвэл.Interior.ColorIndex шинж чанарыг ашиглан энэ тухай мессежийг харуулах боломжтой.

Текстийн дэд процедур_1() "Үүсгэх санамсаргүй хандалт санах ойкомпьютерийн "нэрлэсэн хэсэг - массив "myColor". "Массив нь дараахаас бүрдэнэ гурван мөрба хоёр багана. "Хэрэв та гурваас дээш үг хайх шаардлагатай бол энд "мөрийн тоог" өөрчлөх хэрэгтэй: үүнийг 1-ээс 3 хүртэл биш, харин жишээлбэл 1-ээс 4-р болгоно. "Багануудын тоог өөрчлөх шаардлагагүй. Dim myColor(1-ээс 3, 1-ээс 2) String As Dim rngSearch As Excel.Range Dim rngFind As Excel.Range, myAddress as String Dim i As Long "1. Эхний массив дахь "myColor"-г байрлуул баганын текст, "үүнийг Excel нүднүүдээс хайх болно. "Хоёр дахь баганад бид "хэрэглэх" шаардлагатай өнгөний дугаарыг байрлуулна. "Өнгөний дугаарыг дараах байдлаар олж болно: "1) Excel руу оч; "2) өнгийг нь мэдэхийг хүссэн нүдээ идэвхжүүлэх; "3) VBA руу очих; "4) Харах - Шууд цонх. Цонх нээгдэнэ. Энэ цонхонд "энэ кодыг оруулаад "Enter" товчийг дарна уу. Өнгөний дугаар гарна. "activecell.Interior.Color хэвлэх" 5) Мөн "ColorIndex" байдаг. Тодорхой өнгийг өгсөн " тодорхой тоо. VBA (Excel 2010) дээрх тусламжийн баруун дээд буланд "ColorIndex" гэсэн бичвэр оруулаад "Enter" товчийг дарвал нийтлэлүүдийн жагсаалт гарч ирнэ. ""ColorIndex Property" гэсэн өгүүллийг сонгоно уу. Энэ нь "ямар өнгө ямар дугаартай болохыг харуулж байна. "Би массивад "Текст" өгөгдлийн төрлийг өгсөн учраас би тоонуудыг хашилтанд оруулсан. 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. Код бичихэд хялбар болгох үүднээс бид "нүдүүдийг будах шаардлагатай" нүднүүдэд "rngSearch" гэсэн нэрийг өгдөг. Set rngSearch = ActiveSheet.Range("A1:D25") ""i"-тэй давталтыг ашигласнаар бид "myColor" массивын бүх мөрийг дамжуулдаг. "UBound(myColor, 1) нь серийн дугаар"myColor" массивын сүүлчийн эгнээ. For i = 1 To UBound(myColor, 1) 1-р алхам "3. Энэ нь нүд бүрийг харахын оронд хайлт хийхэд илүү хурдан байдаг. "LookAt:=xlWhole - бүрэн тохирохыг хайдаг. rngFind = rngSearch.Find(What:=myColor(i, 1), LookIn:=xlValues, _ LookAt:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, _ MatchCase:=False, SearchFormat) ":=F тохируулна уу. Хэрэв олдвол олсон текстийг агуулсан нүдэнд "rngFind" гэсэн нэр өгнө. Мөн энэ нэрээр дамжуулан та нүдэнд нэвтэрч болно. "Хэрэв олдохгүй бол "rngFind" хувьсагч нь "Юу ч биш" гэсэн текстийг агуулна. Хэрэв rngFind юу ч биш бол "4. Хэрэв олдохгүй бол дараагийн текстийг хайж эхэлнэ үү. GoTo шошго Төгсгөл "Хэрэв олдвол."5. Эхнийх нь байсан үүрний хаягийг бид санаж байна удаа олдсон, "Дараа нь хайлтыг зогсоохын тулд. myAddress = rngFind.Address "Do ... Loop" циклийг ашиглан бид хайлтаа үргэлжлүүлнэ. "6 хийх. Хүссэн өнгөөр ​​нүдийг будна. "Бид тоог текст хэлбэрээр агуулна. "CLng"-г ашиглан бид тоог тоо болгодог. rngFind.Interior.Color = CLng(myColor(i, 2)) "7. Бид хайлтаа үргэлжлүүлж байна. rngFind.Address байхад rngFind = rngSearch.FindNext(rngFind) давталтыг тохируулна уу.<>myAddress tag: Next i "8. Код дууссан тухай мессеж. MsgBox "Код дууссан!", vbInformation End Sub

Microsoft дахь нүдний дэвсгэр өнгө Office ExcelЭнэ нүдний дотоод объектын ColorIndex шинж чанараар тодорхойлогддог.

Жишээлбэл, A1 нүдний өнгийг дараах байдлаар тохируулж болно: Cells(1, 1).Interior.ColorIndex = 6 (шаргал өнгөтэй)
Үүний дагуу нүдний өнгийг дараах байдлаар тооцоолох боломжтой: ColorVar = Cells(1, 1).Interior.ColorIndex

Энэ жишээг ойлгох үйлдлүүдийн хамгийн нийтлэг дараалал нь дараах байдалтай байна.

1. Excel програмыг нээнэ үү.

2. Alt + F11 товчийг дарна уу

3. Баруун талд дараах кодыг оруулна уу.

Хувийн дэд ажлын хуудас-Идэвхжүүлэх()
Cells(1, 1).Interior.ColorIndex = 6
Төгсгөлийн дэд

4. Excel рүү буцаж шилжинэ.

5. 2-р хуудас руу, дараа нь 1-р хуудас руу шилжинэ. Үүний үр дүнд эхний хуудсан дээрх эхний нүдний дэвсгэр өнгө нь шаргал өнгөтэй болно.

Текстийн өнгийг ямар ч форматаар (RGB, CMYK гэх мэт) заагаагүй боловч Excel-ийн өнгөний схемд байгаа тоогоор нь зааж өгсөн болно. Нийтдээ мужид 55 өнгө байгаа бөгөөд автомат цэцэглэлтийн нэг утгыг өгдөг. Нийтдээ ColorIndex() шинж чанарыг ашиглан 56 өнгөний утгыг тохируулах боломжтой. Эдгээр 55 өнгө нь ActiveWorkbook объектын Өнгөний цуглуулгад байгаа тул та хүсвэл тэдгээрийг өөрчлөх боломжтой.

Заримдаа хуулж авах нүдний өнгийг өөрчлөх, тодорхой хэсгийг будах, улмаар өгөгдлийн хүснэгтэд өвөрмөц, илэрхийлэлтэй шинж чанарыг өгөх шаардлагатай болдог.

Энэ нийтлэлд бид нүдний өнгийг гараар хэрхэн өөрчлөх, мөн VBA дахь олон тооны нүд эсвэл сонгосон нэг нүдний өнгийг хэрхэн өөрчлөх талаар авч үзэх болно.

Энгийн зүйлээс эхэлцгээе. Туузны үндсэн хэрэгслийн самбар дээр Format Cells самбар байна:

Нүдний өнгийг (нүдний муж) өөрчлөхийн тулд бид үүнийг сонгоод дараа нь Хэрэгслийн самбараас шаардлагатай өнгийг сонгох хэрэгтэй. Та мөн бусад өнгийг палитраас сонгон тохируулж болно. Хэрэгслийн самбар нь текстийн өнгө, үсгийн хэмжээ, нүдний хүрээний форматыг өөрчилдөг.

Одоо нүдний форматыг ашиглан тохируулцгаая контекст цэс, яагаад товш баруун товшино уунүдэн дээр хулганаа дараад нээгдэх жагсаалтаас "Нүдний форматыг" сонгоно уу:

Бөглөх таб дээрээс та дэвсгэр өнгө, хэв маягийг сонгох боломжтой.

Бага зэрэг өөр нөхцөл байдлыг авч үзье. Та одоо байгаа нэгээс нүдний өнгийг (болон форматыг) хуулж, нүднүүдэд хэрэглэхийг хүсч байна гэж бодъё. Үндсэн самбар дээрх "Дээжээр форматлах" товчийг ашиглана уу.

Тиймээс форматыг хуулахын тулд бид сонирхож буй нүдээ сонгоод "сахлаа" дээр товшоод форматыг тохируулахыг хүссэн нүдэн дээр дарах хэрэгтэй.

Үүнтэй төстэй үйлдлүүдийг макрост дүрсэлж болно. Хэрэв кодонд нүдний формат өөрчлөгдөх эсвэл нүднүүдийг нэгтгэх нөхцөл оруулах шаардлагатай бол тодорхой өнгөэсвэл фонт, дараа нь форматыг хуулж, макро бичсэний дараа та дараахийг харж болно:

Нүдний өнгийг тохируулах (A1 нь шар өнгөтэй):

Sub Macro2() Range("A1").Select with Selection.Interior .Color = 65535 End with End Sub

Нүдний форматыг хуулах (A1 форматыг A3 руу хуулсан):

Sub Macro1() Range("A1").Select Selection.Copy Range("A3").Select Selection.PasteSpecial Application.CutCopyMode = False End Sub

Одоо форматыг нөхцөлт операторуудтай хослуулснаар өнгөний нөхцөл дээр үндэслэн тооцоолол (жишээлбэл, нийлбэр) бичиж болно.

Хэрэв та дарвал бид талархах болно +1 ба/эсвэл би дуртайЭнэ нийтлэлийн доод хэсэгт байгаа эсвэл доорх товчлууруудыг ашиглан найзуудтайгаа хуваалцаарай.