Summa pēc krāsas - VBA koda piemēri

Satura rādītājs

Šī funkcija aprēķina visu šūnu kopējo vērtību noteiktā diapazonā, kurām ir noteikta krāsa:

Diemžēl nav SUMIF funkcijas, ko summēt, pamatojoties uz šūnu krāsu. Ja vēlaties summēt pēc krāsas, VBA jāizveido funkcija.
Lai izmantotu šo kodu: atveriet Visual Basic Editor (Alt + F11), ievietojiet jaunu moduli (Insert> Module) un nokopējiet un ielīmējiet vēlamo kodu modulī.

Funkcija Sum pēc krāsas

1234567891011121314151617181920 Funkcija Color_By_Numbers (krāsu_ diapazons kā diapazons, Color_Index kā vesels skaitlis) kā dubultā'Dim Color_By_Numbers kā dubultāDim šūna'Apskatīs šūnas, kas atrodas diapazonā, un ja'krāsu interjera īpašums atbilst nepieciešamajai šūnas krāsai'tad tā būs summa'Loop Through diapazonsKatrai šūnai Color_RangeJa (Cell.Interior.ColorIndex = Color_Index) TadColor_By_Numbers = Color_By_Numbers + Cell.ValueBeigas JaNākamā šūnaBeigu funkcija

Faktiski tas ir “summa pēc krāsas” - tādēļ, ja jūs zināt Excel 56 krāsu paleti un, piemēram, zināt, ka 4. krāsa ir gaiši zaļa, sekojiet šādam zvanam:

Krāsu_skaitļi (“A1: P20”, 4)

summēs vērtības visām šūnām diapazonā A1: P20, kas ir gaiši zaļā krāsā.

Lai atvieglotu funkcijas izmantošanu, šī apakšprogramma aprēķinās kopējo vērtību katrai no Excel 56 krāsām. Tas arī dod visu palat, lai būtu viegli redzēt katras krāsas indeksa numuru.

Apakšprogramma tiek izsaukta 1. lapā un aplūko diapazonu

12345678910111213141516171819202122 Privāta apakškomandaButton1_Click ()“Apskatīs katru krāsu un izveidos kopsavilkuma vērtību tabulu"uz 1. lapas šūnā A1 un uz lejuPašreizējais_krāsas_numurs kā vesels skaitlisDim Color_Total As DoublePašreizējā_krāsu_numurs = 1 līdz 56Color_Total = Color_By_Numbers (lapas ("Sheet2"). Diapazons ("a11: aa64"), Current_Color_Number)Darblapas ("Sheet1"). Diapazons ("A1"). Nobīde (Current_Color_Number, 0) = Current_Color_NumberDarblapas ("Sheet1"). Diapazons ("A1"). Nobīde (Current_Color_Number, 0) .Interior.ColorIndex = Current_Color_NumberJa Color_Total 0# TadDarblapas ("Sheet1"). Diapazons ("a1"). Nobīde (Current_Color_Number, 1). Value = Color_TotalBeigas JaNākamais Current_Color_NumberBeigu apakš

Lai lejupielādētu XLS failu, lūdzu, noklikšķiniet šeit

Jums palīdzēs attīstību vietā, daloties lapu ar draugiem

wave wave wave wave wave