Hirdetés
- AMD Ryzen 9 / 7 / 5 9***(X) "Zen 5" (AM5)
- Gaming notebook topik
- AMD Navi Radeon™ RX 9xxx sorozat
- Videós, mozgóképes topik
- Máris elfogytak az idei évre szánt HDD-k a Western Digitalnál
- Hobby elektronika
- Kormányok / autós szimulátorok topikja
- Home server / házi szerver építése
- PC-k milliói kerülhetnek veszélybe idén
- Azonnali VGA-s kérdések órája
-
PROHARDVER!
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
EmberXY
#32626
üzenetére
Szia!
Némi munkával és egy kis makróval megoldható a dolog.
A makró futásához elég sok előkészület kell, de szerintem megéri.
1. lépés: Ha nem kimutatások vannak a lapon, akkor minden "táblázatot" célszerű átalakítani Táblázattá a beszúrás táblázat menüpontban, a nevüket használjuk majd. Ha csak kimutatások vannak, akkor azok neve használható. Ha nem szeretnéd táblázat formában használni, akkor is minden részterületnek adj nevet légy szíves. Mindhárom esetet nevezzük most táblának.
2. lépés: Kinevezel egy cellát, amelyben a kiválasztott tábla nevét fogjuk megadni. Ezt természetesen elrejtheted, lényeg, hogy a használandó területen kívül legyen. Ez nálam az AQ68 cella volt.
3. lépés: Minden táblára egyenként feltételes formázást csinálsz az alábbiak szerint:
A formázandó cellák kijelölése képlettel, A képlet pedig:
=$A$68="Táblanév" formátumnak kijelölöd amit szeretnél látni pl. kitöltés zöld, érvényesség =Táblanév
Ha táblázattá alakítottad, vagy kimutatás, akkor a bővítésnél automatikusan bővül a terület.
4. lépés: A munkalap kódlapjára bemásolod az alábbi makrót (lapfül - jobb egérgomb - kód megjelenítése)Private Sub Worksheet_SelectionChange(ByVal Target As Range)
dim tbl as Variant
Application.EnableEvents = False
Range("AQ68").Value = 0' ide annak a cellának a címét írod, ahová a feltételes formázás jelzőjét tetted
On Error Resume Next
For Each tbl In ActiveSheet.ListObjects ' ha kimutatások vannak akkor Pivottables
If Not Intersect(Target, Range(tbl)) Is Nothing Then
If Err = 0 Then Range("AQ68") = tbl.Name: Exit For
Err = 0
End If
Next
Application.EnableEvents = True
End SubHa van kimutatás és általad átalakított táblázat is, akkor két ciklus kell egymás után, egy a ListObjects, egy másik pedig a Pivottables objektumokra. Ha még neveid is vannak(nem alakítottad táblázattá a tartományt, csak névvel láttad el, akkor az is külön ciklus és ott a névvel variálni kell, nem lesz jó rá a fenti sor).
Ha több munkalapodon is van hasonlóra szükség, akkor a névadást és a formázást minden lapon el kell végezned, a makrót viszont akkor a Thisworkbook kódlapjára kell beírni a következő két sor közé:
Alt+F11 - VBA projectet kibontod, ott a Thisworkbook -ra dupla katt - bal oldali lenyílóból Workbook - jobb oldali lenyílóból SheetSelectionChange, megjelenik az alábbi két sor.
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)End Sub
A makró és a megelőző munkád eredménye:
A hivatkozásra kattintva a megfelelő tábla átszíneződik a feltételes formázásnak megfelelően (ezért egy színűre, de akár különböző színűre is formázhatod a táblákat), ha a táblán belül kattint, vagy másik cellára lép, marad a formázás. Ha másik táblára kattint, akkor a másik tábla formázódik át, az előző formázása megszűnik. Ha táblán kívülre kattint, akkor megszűnik a formázás. Értelemszerűen akkor is megszűnik a formázás, ha visszaugrik a hivatkozás oszlopokra.Ezután nincs más hátra, mint makróbarát munkafüzetként elmenteni az egészet - kipróbálni és remélhetőleg örülni.
Remélem, sikerül megoldani. Ha bármi gondod lenne, csak írj lsz.
Üdv.
Új hozzászólás Aktív témák
- AMD Ryzen 9 / 7 / 5 9***(X) "Zen 5" (AM5)
- Gaming notebook topik
- Samsung Galaxy S25 - végre van kicsi!
- Kerékpárosok, bringások ide!
- Elektromos autók - motorok
- iPhone topik
- exHWSW - Értünk mindenhez IS
- Autós topik
- AMD Navi Radeon™ RX 9xxx sorozat
- Debrecen és környéke adok-veszek-beszélgetek
- További aktív témák...
- iPhone X silver 64Gb akku:100%
- BESZÁMÍTÁS! Sapphire Pulse Radeon RX 7900 XTX 24GB videokártya garanciával hibátlan működéssel
- BESZÁMÍTÁS! Gigabyte Vision OC RTX 3080 10GB videokártya garanciával hibátlan működéssel
- Honor 90 256GB, Kártyafüggetlen, 1 Év Garanciával
- Keresünk Galaxy S21/S21+/S21 Ultra/S21Fe
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Fferi50
