Išgaukite specifinį spalvų indeksą naudodami VBA

Anonim

Jei norite nukopijuoti tam tikrą suformatuotą langelį arba spalvotus langelius iš vieno stulpelio į kitą, šis straipsnis skirtas jums. Šiame straipsnyje mes išmoksime kopijuoti spalvotus langelius naudojant VBA kodą.

Toliau pateikiamas mūsų turimų duomenų momentinis vaizdas, ty A stulpelyje yra duomenų su keliomis geltonos spalvos ląstelėmis.

Išgauti tik geltona spalva paryškintus duomenis; turime sukurti UDF, kad spalvos langeliai būtų rodomi tik B stulpelyje

  • Norėdami sukurti vartotojo apibrėžtą funkciją, atliksime šiuos veiksmus:
  • Spustelėkite skirtuką Kūrėjas
  • Kodo grupėje pasirinkite „Visual Basic“

  • Mes privalome nukopijuoti žemiau esantį kodą į standartinį modulį

Funkcija yra geltona (ByRef r As Range)

Jei r.Interior.ColorIndex = 6 Tada

Geltona = r. Vertė

Kitas

Geltona = vbNullString

Pabaiga Jei

Pabaigos funkcija

  • B1 langelyje bus formulė = Geltona (A1)

Aukščiau pateiktas kodas tiksliai atitinka spalvą Nr. 6, kuri skirta tik geltonai spalvai. Taigi udf išskiria tik tas reikšmes, kuriose yra spalva#6.

Jei norime išgauti raudonos spalvos ląsteles, turime patikrinti paskirtą spalvos numerį ir tiesiog pakeisti geltonos spalvos numeriu.

Tokiu būdu mes galime nuskaityti geltonos šrifto spalvos langelius naudodami vba kodą.

Atsisiųskite - išskirkite konkretų spalvų indeksą naudodami VBA - xlsm