Hirdetés
- gban: Ingyen kellene, de tegnapra
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- sziku69: Fűzzük össze a szavakat :)
- Brogyi: CTEK akkumulátor töltő és másolatai
- sh4d0w: Kalózkodás. Kalózkodás?
- f(x)=exp(x): A laposföld elmebaj: Vissza a jövőbe!
- ldave: New Game Blitz - 2025
- Luck Dragon: Asszociációs játék. :)
- Parci: Milyen mosógépet vegyek?
- Sub-ZeRo: Euro Truck Simulator 2 & American Truck Simulator 1 (esetleg 2 majd, ha lesz) :)
-
LOGOUT
A Microsoft Excel topic célja segítséget kérni és nyújtani Excellel kapcsolatos problémákra.
Kérdés felvetése előtt olvasd el, ha még nem tetted.
Új hozzászólás Aktív témák
-
Fferi50
Topikgazda
válasz
karlkani
#42069
üzenetére
Szia!
Mivel feltételes formázás van, ezért a DisplayFormat tulajdonságot kell használni, ezt viszont függvényben sajnos nem tudja a VBA (a 2016-os legalábbis). Ezért nem függvényt, hanem Sub-ot kell használni:Public Sub CountColor(pRange1 As Range, pRange2 As Range)Dim rng As Range, xcolor As Long, CountColor As Integerxcolor = pRange2.DisplayFormat.Font.colorFor Each rng In pRange1If rng.DisplayFormat.Font.color = xcolor ThenCountColor = CountColor + 1End IfNextRange("A1").Value = CountColor 'ide azt a cella címet írd, ahová az eredményt szeretnédEnd Sub
Ezt viszont nem lehet felhasználói függvényként meghívni. A két paraméter ugyanaz, mint az általad leírt függvényben, pRange1 amiben keressük a cellákat, pRange2 aminek a színét számoljuk. Azért talán ezzel is tudsz ügyeskedni.
Más ötlet. Talán mégsem a színek szerinti összesítés a nyerő. Feltételezem, hogy a feltételes formázásnak a feltételei valamilyen táblázat alapján működnek (jó kis mondat lett a feltételek halmozásával...
), mivel írtad, hogy pl. ünnepnapok. Ez alapján is lehetne a számolást elvégezni makró nélkül, valamilyen számláló képlettel, ami megvizsgálja, hogy az adott dátum benne van-e a "táblázatban". Szóval én nem vetném el ny.janos ötletét sem.Üdv.
-
ny.janos
tag
válasz
karlkani
#42069
üzenetére
Makróhoz nem értek, így abban majd segítenek a nálam okosabbak, de ehhez nem is feltétlen alkalmaznék makrót.
Beszúrhatsz egy új oszlopot, ahol a feltételes formázás képletét megadod, majd a szorzatösszeg függvénnyel megkapod a kívánt végeredményt. Szorzatösszeg helyett használhatsz szum függvényt is, de azt tömbképletként kell (Ctrl+Shift+Enter) alkalmaznod.
Segédoszlop nélkül is megoldható. Pl. A1:A31 tartomány azon értékeinek összegzése, amelyek nagyobbak 30-nál:=SZORZATÖSSZEG(($A$1:$A$31)*($A$1:$A$31>30))
vagy tömbképletként{=SZUM(($A$1:$A$31)*($A$1:$A$31>30))}
Új hozzászólás Aktív témák
- Lenovo ThinkPad T14 Gen1 Intel i5-10310U
- GYÖNYÖRŰ iPhone 13 128GB Starlight -1 ÉV GARANCIA - Kártyafüggetlen, MS3434
- Bomba ár! Lenovo ThinkPad T490s - i5-8GEN I 8GB I 256SSD I 14" FHD Touch I Cam I W11 I Gari!
- HIBÁTLAN iPhone 12 Mini 64GB Purple -1 ÉV GARANCIA - Kártyafüggetlen, MS3481,96% Akkumulátor
- Eredeti Lenovo 135W töltők (sárga téglalap)
Állásajánlatok
Cég: NetGo.hu Kft.
Város: Gödöllő
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
), mivel írtad, hogy pl. ünnepnapok. Ez alapján is lehetne a számolást elvégezni makró nélkül, valamilyen számláló képlettel, ami megvizsgálja, hogy az adott dátum benne van-e a "táblázatban". Szóval én nem vetném el ny.janos ötletét sem.
Fferi50
