Hirdetés
- Kalandor: Kihúzható kijelzős laptop (2010 körül)
- GoodSpeed: Te hány éves vagy?
- Kalandor: Muti, mekkora a havad?!
- sziku69: Fűzzük össze a szavakat :)
- f(x)=exp(x): A laposföld elmebaj: Vissza a jövőbe!
- Luck Dragon: Asszociációs játék. :)
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- Brogyi: CTEK akkumulátor töltő és másolatai
- leslieke: leslieke farmerzsebe
- Klaus Duran: Minden drágul. Vajon a fizetések 2026-ban követi minimálisan?
-
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
-
TillaT
tag
válasz
Fferi50
#51005
üzenetére
Szia, köszönöm szépen.
"A nem rögzített sor miatt a szabályban levő függvény "mozog" a formázott területtel együtt."
Igen, ez világos. Az értetlenkedésem inkább amiatt van/volt, hogy amíg a "normál Excel munkalapon" a cellákba írt képletek más cellákba történő átmásolásakor a fogadó cellákban 'testre szabódnak", azaz a célcellákban látható képletekben is megjelennek az adott célcella azonosítói (amennyiben nem rögzítettek az oszlop és sorazonosítók), addig a feltételes formázás céltartományba történő átmásolásakor a formázási képletek csak a céltartomány első cellájában veszik fel a cella azonosítókat, és a tartomány többi cellájában is az első célcella azonosítóit tartalmazó képletek lesznek.Nekem -tudatlannak- az lenne a logikus, hogy a céltartomány minden cellájában vegyék fel a célcellák saját azonosítóit a bemásolt formázási képletek, és az érvényesség csak mindig az adott célcellára vonatkozzon.

Persze -elfogadás és megszokás után- azzal sincs bajom, hogy ez nem így van, hanem a képletek célcellákra történő testreszabása helyett a formázási tartomány megadásával van lehetőség a képlet érvényességének kiterjesztésére.
Ha nem lennék olyan merev, biztosan nem értetlenkednék és akadnék fel ezen.
"Szerintem érdemes a hivatkozások magyarázatát átnézni az Excelben."
Így teszek. -
TillaT
tag
válasz
TillaT
#51003
üzenetére
A logikáját nem értem.
Számomra az lenne a logikus, hogy az 'A6' formátumának a többi cellába való bemásolása után a formázó képletek mindig az adott cellára vonatkoznának.
Tehát az 'A7' cella formátumának beállítása -képlet szerint is- az 'AT7', 'CQ7', 'CL7' cellák tartalmától tartalmától függ. És így tovább az 'A' oszlopbelim cellák formázása mindig az azonos sorban lévő 'AT', 'CQ', 'CL' oszlopokban lévő cellák tartalmától.
Tehát, ha a képletek a bemásolás után mindig az utolsó két kép szerint alakulnának.Azt nehéz felfognom, hogy a 2. kép szerinti bemásolás esetén minden cellában ugyanaz a képlet, és a hatást (formázást) az érvényesség kiterjesztésével éri el a program.
Az is segítség nekem, ha ajánlotok a témában valami releváns szakirodalmat.
Előre is köszönöm! -
TillaT
tag
... és még mindig feltételes formázás. ... és még mindig kínok.
Az 'A6' cella formázottsága a 'AT6', 'CQ6', 'CL6', tartalmától függ.
Az 'A7' cella formázottsága a 'AT7', 'CQ7', 'CL7', tartalmától függ.
...
Az 'A10' cella formázottsága a 'AT10', 'CQ10', 'CL10', tartalmától függ.
...
...
Az 'A100' cella formázottsága a 'AT100', 'CQ100', 'CL100', tartalmától függ.- Az 'A6' cellában beállítok néhány feltételt az 'A6' cella formázására.

- Majd a formázás másoló ikonra 1x kattintva másolom az 'A6' cella formázottságát, és beillesztem az 'A7:A10' tartományba. Ezután az 'A7:A10' bármelyik cellájára kattintva a feltételes formázás menü választása esetén az alábbi beállítást látom.

- Ha a formázás másolását és beillesztését úgy oldom meg, hogy az 'A6' cellán állva 2x kattintok a formázás másolására, majd egyesével illesztem be a formátumot az 'A7', 'A8', 'A9', 'A10' cellákba, akkor pedig az alábbi állapotokat kapom.


Mindegyik esetben az elvártak szerint működik a feltételes formázás. MIÉRT?
-
TillaT
tag
Változatlanul a "feltételes formázás" rögös útján bandukolok.
Az "A1" cella tartalma szöveg, ami vagy 1db vagy 3db karakter.
(Három karakter esetén a középső karakter mindig egy vessző: "A,B")Azt szeretném -makrómentesen- feltételes formázással megoldani, hogy amennyiben a cellában 3 karakter van, akkor az utolsó karakter színe legyen más (pl. kék).
Makróval meg tudom oldani, de örülnék, ha feltételes formázással is menne.
Tudtok ebben segíteni? Köszönöm előre is.
(Azt gyanítom, hogy feltételes formázással csak a cella teljes tartalma formázható, de örülnék, ha tévednék.) -
TillaT
tag
válasz
TillaT
#50986
üzenetére
Az előző kérdésemtől függetlenül más rejtély is van előttem.
Mire való, mikor kell/érdemes használni a "Leállítás, ha igaz" jelölőnégyzeteket az egyes képleteknél? Hogyan működik a szabály, ha bejelölök egy négyzetet, és hogyan, amikor nem? Próbáltam tesztelgetni, de számomra nem világos a dolog.
Köszönöm, ha ezzel kapcsolatban is helyre tesztek.
-
TillaT
tag
Sziasztok!
Megint feltételes formázás témakörben akadtam el. Kérlek, segítsetek!
Az alábbi képlettel szeretném kijelölni a formázandó cellákat.
=ÉS($CA6<>"";INDIREKT(CÍM(1;OSZLOP()))>=$CA6)- A formázandó tartomány $K$6:$AO$6.
- A táblázatom K1:AO1 tartományában minden cellában egy dátum van. (2023. május hónap napjai növekvő sorrendben.)
- Az előzőből adódóan az INDIREKT(CÍM(1;OSZLOP())) függvény eredménye egy dátum.
- A CA6 cella vagy üres vagy pedig egy dátum van benne.
- Az lenne a cél, hogy amennyiben a CA6 cella nem üres, és az INDIREKT() függvény eredményeként adódó dátum nagyobb vagy egyenlő, mint a CA6 cellában lévő dátum, akkor történjen meg a formázás, de sajnos nem működik a fenti képlet szerinti elgondolásom.Ha a formázás képletét csak úgy adnám meg, hogy
=INDIREKT(CÍM(1;OSZLOP()))>=$CA6, és a CA6-ban van dátum, akkor megtörténik az elvárt formázás. De sajnos, ha a CA6-ban nincs dátum, akkor a teljes formázandó tartományon végrehajtódik a formázás, hiszen az INDIREKT() által adódó minden elemre igaz lesz, hogy nagyobb a semminél.
Ezért gondoltam az ÉS() függvény használatára, de így meg nem történik meg a formázás.Szerintetek mit rontottam el, hol a hiba a gondolatmenetemben?
Köszönöm, ha tudtok segíteni.Az lemaradt, hogy két formázási szabállyal meg tudom oldani, de szerettem volna egy képlettel.
1. szabály: =INDIREKT(CÍM(1;OSZLOP()))>=$CA6 --> Ezzel az egyik formázás.
2. szabály: =$CA6="" --> Ezzel a másik formázást. -
TillaT
tag
Igen, köszönöm. Számomra tényleg ez a legegyszerűbb, leggyorsabb megoldás, és tökéletesen működik.
(Amikor lappy hozzászólását olvastam, a "feltételes formázással kiemelni" felvetése bennem -tévesen- az érintett cellák színének megváltoztatását jelentette. Ez meg nem volt cél, mert a színekkel való -feltételekhez kötött- megkülönböztetés más okok miatt már rajta van a cellatartományon.) -
TillaT
tag
Szia!
Nagyon köszönöm, az egyéni számformátumos megoldásod részben jó megoldás a kínomra. Ezt kerestem.
Annyi szépséghibája van, hogy ez a formázás azokba a cellákba is tesz X-et, ahol a cellában lévő képletek eredménye nem tartalmaz X-et. Azaz az üres cellákba is. Ahogyan ezt már Delila is jelezte.Első gondolatra -segédoszlopok használata helyett- most egyszerűbbnek tűnik nekem írni egy eseménykezelő makrót, ami a figyeli a cellák változását és a makróval megvizsgálni a megváltozott cellatartalmat, és csak a nem üres cellákra ráküldeni az általad mutatott egyéni számformátumot.
Köszönöm szépen Mindegyikőtöknek (Delila, lappy, Fferi) a válaszokat, hogy foglalkoztatok a kérdésemmel. Megint tanultam Tőletek.
-
TillaT
tag
válasz
Delila_1
#50933
üzenetére
Szia Delila!
Köszönöm szépen. Sajnos nem jók nekem ezek a képletek.
Közben ráeszméltem, hogy nagyon pongyolán fogalmaztam, s talán félreérthető volt, hogy mit szeretnék.Vegyünk egy 30 oszlopnyi, 100-150 sorból álló cellatartomány. A cellák tartalmának megjelenítését szeretném formázni. A cellák a bennük lévő (összefűz) képletek eredményeként vagy üresek, vagy egy "X" karaktert is tartalmazó szöveges adat van bennük. Olyan szöveges adat, mint mit előzőleg írtam:
" X Szöveg"A "Szöveg"-ként írt rész cellánként eltérő lehet. pl. "CCK", "Bármi", tényleg bármi. Ezeket csak nekem kell ismernem, hogy a makróm dolgozni tudjon velük.
A felhasználónak csak azt kell látnia, ha a cellában van adat. Ezt jelenti számára az "X" karakter.
Valahogy úgy kellene formázni a cellákat, hogy a tartalmukból csak az "X" karakter legyen látható. Lehet, túlgondolom? -
TillaT
tag
Sziasztok!
Egy ideje agyalok már az alábbi problémán, de nem jutok előre. Örülnék, ha tudnátok segíteni.
Az alábbi idézőjelek között lévő szöveget szeretném úgy megjeleníteni a cellában, hogy mindig csak az X látszódjon. A szöveg 5 db szóköz után egy X majd 3 szóköz után további, néhány karakterből álló szövegrész. A felhasználó számára csak az kell látszódjon, hogy az amúgy keskeny cellaoszlopban lévő cellában van-e X vagy nincs. A többi szöveg számára irreleváns." X Szöveg"
Megoldható ez makró nélkül, cellaformázással?
Köszönöm, ha tudtok valamilyen megoldást javasolni. -
TillaT
tag
Sziasztok!
A VBA szerkesztőfelületével kapcsolatban szeretnék segítséget kérni.
Van arra lehetőség kódszerkesztés közben, hogy direktben lehessen navigálni a sorok között, hogy pl. egy ablakba beírva egy sor számát, közvetlenül az általam megadott sorra álljon a kurzor?A menüszalagon van egy ablak, ami mutatja, hogy a kód szerkesztése közben éppen hol (Ln ..., Col ...) van a kurzor, de ez az ablak -nálam- nem kattintható. A menürendszerben sem találtam utalást arra, hogyan lehetne az általam elgondoltak szerint navigálni a sorok között.
-
TillaT
tag
válasz
Delila_1
#50763
üzenetére
Az űrlap alapszíne a standard szürke. A TextBoxok , ComboBoxok háttérszíne halványsárgás, ami halványzöldre vált, ha a felhasználó adatot választ vagy ír beléjük, illetve pirosas színre, ha a beírt adat nem megfelelő. A fontok standard feketék (eddig).
A ComboBoxban választott tartalom sötét kiemelő színe csak a halványsárgához képest tűnt nagyon erősnek, de miután a fókusz más vezérlőre történő áthelyezésével találtam megoldást az eredeti problémámra, azután már nem is zavart annyira ez a kiemelés dolog.
Valószínűleg a végleges verziómban marad a fókusz a ComboBoxon, azaz marad a kiemelés. mert ahogyan írtad is, "jó tájékoztatást ad" a felhasználónak. -
TillaT
tag
válasz
Fferi50
#50756
üzenetére
Kedves Feri és Delila_1!
Nagyon köszönöm, hogy foglalkoztatok a kérdésemmel!
Ahogyan Feri írta, "Ezért úgy gondolom, a kérdező eredeti felvetése pontosításra szorul."
Teljesen igazad van.
Nagyon balga voltam. Valóban csak addig van kiemelés a ComboBoxban megjelenített elemen, amíg a fókusz a ComboBoxon van. Mihelyt elkattintok egy másik vezérlőre, megszűnik a kijelölés.
Én azt szerettem volna elérni, hogy elkattintás nélkül is szűnjön meg a kijelölés.
Végül úgy oldottam meg, hogy a makróban áttettem a fókuszt egy másik vezérlőre.A makró funkcióját tekintve tényleg nem baj ez a kiemelés, csak esztétikailag bántja a szemet, mert az űrlap színvilágához képest nagyon dominál. Még egyszer köszönöm az időtöket!
-
TillaT
tag
Sziasztok!
Egy ComboBox beállítása során ütköztem akadályba. Ebben kérném segítségeteket. Jelenleg a ComboBoxomnak van egy beállított háttérszíne, ami eltér az űrlap háttérszínétől. Amikor a felhasználó kattintja a ComboBoxot, akkor a legördülő lista háttérszíne is felveszi a ComboBoxra beállított háttérszínt. De amikor a felhasználó kiválaszt egy elemet a listából és az a lista becsukódása után megjelenik a ComboBoxban, akkor kap egy háttérszínt, kiemelést. Megmarad a ComboBox beállított háttérszíne, de a benne megjelenő szövegtartalom külön háttérszínt kap. Hogyan lehetne beállítani, hogy a kiválasztott elem (szövegtartalom) háttérszíne azonos legyen a ComboBox háttérszínével? Köszönöm, ha tudtok megoldást javasolni! -
TillaT
tag
Sziasztok!
Milyen módon lehet megadni egy UserFormon elhelyezett Label elem esetében, hogy a Text függőlegesen is középre kerüljön? A "TextAlign" tulajdonsággal csak a vízszintes középre igazítást lehet megoldani. Közvetlen Vertikális igazítási lehetőséget nem látok a tulajdonságok panelen. Ti hogyan szoktátok ezt megoldani?(Az űrlapon történő adatbevitel során előforduló hibákról szeretnék visszajelzést adni a felhasználónak, amikor nem megfelelő adatot ad meg, vagy ha úgy kattint a parancsgombra, hogy nem adott meg minden adatot, stb. Az az elgondolás, hogy ezeket a hibaüzeneteket egy Labelben jelenítem meg, aminek az észlelt hiba függvényében különböző Caption tulajdonságot adok. Ez lehet egy kétszavas üzenet, és lehet több sorból álló szöveg is. Azt szeretném, ha a megjelenített szöveg, mindig a Label elem közepén legyen. Itt akadtam el. Segítenétek?)
-
TillaT
tag
válasz
zoombiee
#50595
üzenetére
Szia!
- Köszönöm a javaslatot. Ezzel már próbálkoztam. Reméltem, hogy az OptionButton és CheckBox elemekhez is lehet saját zoom tulajdonságot rendelni, amivel az űrlap zoom tulajdonságától függetlenül egyénileg is állít(gat)hatók, de sajnos makróban is csak olyan lehetőségeket ismerek, amik nekem nem hozzák, amit szeretnék.
- Igen, a láthatóság lenne a lényeg.
Ezeknek a vezérlőknek a Caption tulajdonságát korrekten lehet változtatni és testre szabni, de a grafikájukat nem. Legalábbis az én ismereteim korlátozottak ezen a téren (is). Trükköznöm kell így egy kicsit velük. -
TillaT
tag
Sziasztok!
Ismertek olyan módszert (VBA kód), amivel az űrlapon (UserForm) használható OptionButton és CheckBox elemek fizikai méretét lehet növelni? Nem a Height és Width tulajdonságok beállításával elérhető lehetőségekre gondolok. Nagyobb gombot és nagyobb négyzetet szeretnék látni az űrlapon. Elakadtam. Köszönöm, ha valaki tovább billent. -
TillaT
tag
válasz
ny.janos
#50530
üzenetére
Szia!
Köszönöm, én is ezzel próbálkoztam, de nekem nem működött, amikor kijelöltem a tartományt. Aztán próbálkoztam úgy is, hogy csak egy sorra jelöltem ki, majd arról ecsettel átmásoltam az egész tartományra. Akkor előfordult, hogy működött. Pedig előtte minden formázást töröltem a munkalapról. Nagyon dühített, ezért gép kikapcsolás, vacsora és újra nekifutottam. Most már úgy működik, ahogy kell.
Egész nap makróztam. valószínűleg az agyam is és a gépem is nagyon lezsibbadt már reggel 5 óta.
Még egyszer köszönöm a választ.
Szép estét és hétvégét!
Üdv -
TillaT
tag
Sziasztok!
Feltételes formázással kapcsolatban szeretnék útba igazítást kérni.
A problémámat legegyszerűbben talán egy táblázatba foglalt öröknaptárral tudnám szemléltetni. Ahol az A1, B1 cellákba lehet beírni a megjeleníteni kívánt naptár évét és hónapját. Az A5:A32 tartományban pedig a napok száma van egymás alatt felsorolva.Azt szeretném, hogy az A1 és B1 cellák által kijelölt év, hónap szerinti szombatra és vasárnapra eső napokon az érintett sorok az A:Q oszloptartományban legyenek valamilyen színűek. Ezt még meg is oldom a "=HÉT.NAPJA(DÁTUM(A1;B1;SOR()-4);2)>=6" képlettel.
Mindez egészen jól működik, amig a táblázatom változatlan. De miért is lenne ilyen egyszerű az élet(em). Mivel előfordulhat, hogy a táblázatomba sorokat kell beszúrni, a képletben alkalmazott Sor() függvény már nem nyújtana kielégítő megoldást. Mivel sorok beszúrása után az "A" oszlop celláiban lévő előre beírt napszámozás nem változik, ahhoz szeretném kötni a formázást.
A fenti képletnél maradva olyan megoldás kellene, ami a Sor() függvény helyett az "A" oszlop adott sorszámú naphoz tartozó cellájában lévő sorszámmal(ból) számol.
Évekkel ezelőtt jól ment nekem ez a feltételes formázás, és szerintem már ilyen problémát is megoldottam, de most csak üresjáratban bámulom a monitort.
Köszönöm, ha tudtok segíteni. -
TillaT
tag
válasz
pero19910606
#50493
üzenetére
Szia!
Bocs' hogy belepofátlankodok, de szerintem korrekten tud működni TheSaint #50491 javaslata.
- Jelöld ki az adott oszlopon belül a cellatartományt, amiben az autós adatok vannak.
- A "Szövegdaraboló varázsló" első ablakában válasz a "Tagolt" lehetőséget.
- A következő ablakban csak a "Határolójeleknél" a "Szóköz" és az "Az egymást közvetlenül követő határolók egynek számítanak" négyzeteket pipáld be.
- A következő ablakban alul, egyesével haladva kattints minden egyes oszloprészre és az "Oszlop adattípusa" lehetőségeknél válaszd a "Szöveg" opciót.
- A "Befejezés" gombra kattintva szét dobja neked az addig egyetlen cellában lévő adatokat, úgy, hogy az eredeti (első) oszlopban lesznek a cellák első szövegdarabjai. Gond nélkül kezeli a helyzetet akkor is, ha az autó neve 2 vagy akár 1 karakterből áll.Ha szükséged van rá, hogy megmaradjon az eredeti oszlop is, mert esetleg a táblázataidon belül máshol hivatkozol a celláira, akkor érdemes beszúrni a szövegdaraboló használata előtt egy plusz oszlopot és az adatok abba való átemelése után végezni el a szövegdarabolós mutatványt.
Mindenképp ragaszkodnál a cellaműveletekkel elérhető megoldáshoz?
Esetleg makró jó lehet? -
TillaT
tag
Sziasztok!
Makróval történő mentés témakörben szeretnék segítséget kérni.
- Mentés Másként funkcióval
- makrómentes fájlként (.xlsx) szeretném menteni a makrót futtató munkafüzetemet úgy,
- hogy a mentés ténylegesen a háttérben történjen meg,
- miközben a makrót tartalmazó és futtató munkafüzet aktív marad.(A mentés a felhasználó kezdeményezésére fog lefutni erre létrehozott parancsgombbal. A mentés megtörténtéről egy üzenetboxban kap visszajelzést a felhasználó.)
Az aláhúzott rész megvalósításával ütköztem akadályba.
Tudtok segíteni? Esetleg van egy bevált makrótok ilyen feladatokra?
Előre is köszönöm. -
TillaT
tag
válasz
Fferi50
#50405
üzenetére
Szia!
Köszönöm. Mielőtt jobban beleásnám magamat inkább egy gyors kérdés.
Jól sejtem, hogy ha pl. e-mailen keresztül elküldök a gépemről egy átalakított menüszalagos munkafüzetet, akkor az a címzett gépén nem az általam testreszabott menüszalaggal jelenik meg, hanem a címzett gépén meglévő Excel beállításoknak megfelelően? -
TillaT
tag
Sziasztok! Megint elakadtam, s hiába kutakodok, nem jutok előrébb.
Hogyan lehet(ne) makrórögzítéssel felvenni egy munkafüzet menüszalagjának testreszabását? Előre is köszönöm, ha valaki jó irányba terel. -
TillaT
tag
Ismertek olyan VBA módszert, amivel vezérlő elemeket (ActiveX - CommandButton) a munkalaptól függetlenül -mintha külön réteg lenne a munkalap felett- lehet megjeleníteni?
Olyan megoldásra lenne szükségem, ami nem reagál a képernyő görgetésre sem és a felhasználó által kezdeményezett nézet nagyítás/kicsinyítés sem befolyásolja a megadott méreteit.Általában az ablaktábla rögzítést használom ilyen helyzetekben, a rögzített területeken elhelyezve a gombokat, de ez csak a görgetés ellen ad megoldást. A nagyítás/kicsinyítés a gomb méretét is megváltoztatja.
Az Execelben ugyan van olyan lehetőség, hogy 'Vezérlő formázása' >>> 'Jellemzők', és itt be lehet állítani, hogy "Az objektum helye és mérete nem változik", de nálam (Excel 2016) ez a beállítás nincs hatással az objektumra. A képernyő görgetésével, nagyítás/kicsinyítésével együtt változik.
Az sem lenne baj, ha lenne olyan megoldás, ami nem csak Excel 2016-nál, hanem más, akár korábbi verzióknál is életképes.
(Kipróbáltam néhány javaslatot az internetről, de nálam nem működnek.) -
TillaT
tag
válasz
istvankeresz
#50374
üzenetére
Ha a cella értéke mellett más adatokra is szükséged lenne a celláról, akkor az alábbi kód is segíthet. Ez az aktív (aktívvá tett) cella adatait (cím, koordináták, érték, típus) adja vissza egy MsgBox-ban. A kódot hozzárendelheted egy billentyűkombinációhoz is és egy általad létrehozott gombhoz is.
Sub Cellrangequery()Dim r As rangeSet r = SelectionMsgBox "Range address: " & r.Address & vbNewLine & _"Range value: " & r.Value & vbNewLine & _"Range row: " & r.Row & vbNewLine & _"Range column: " & r.Column & vbNewLine & _"Range type: " & TypeName(r.Value)End Sub -
TillaT
tag
válasz
TheSaint
#50366
üzenetére
Köszönöm. Nekem úgy tűnik, hogy nem befolyásolja a korábban tapasztaltakat.
Változatlanul nem tudom a sorazonosítókat és az oszlopazonosítókat használni teljes sorok és/vagy teljes oszlopok kijelölésére.
(Ritkán használok billentyűkombinációkat munka közben. Mindig van egy egér a zsebemben.
- Nekem az "rögzült be", hogy ha pl. be szeretnék szúrni 3 új oszlopot a G oszloptól kezdődően, akkor az oszlopazonosítókon (sorfejléc, oszlopfejléc) mozgatva az egeret kijelölöm a G-I oszlopokat, majd jobb egérgomb és a 'Beszúrás' opciót választom.
- Ha ugyanezt a beszúrást egy olyan munkafüzet munkalapján szeretném megtenni, amelyikben a kódom is fut, akkor táblázaton belül a G oszlophoz tartozó bármelyik sorban ki kell jelöljek 3 egymás melletti cellát, majd a szokásos jobb egérgomb és 'Beszúrás' opció választása után a felugró vezérlőpanelen még ki kell választanom a Beszúrás módját.
Azaz a kijelölés szempontjából teljesen használhatatlanok (kattinthatatlanok) a sor- és oszlopazonosítók.)
Ebből leginkább az zavar, hogy nem értem a "Miért"-jét, hogy miért működik így. -
TillaT
tag
válasz
TheSaint
#50363
üzenetére
Köszönöm. Kicsit más úton, a Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range) -el próbálkoztam, és eddig úgy tűnik, hogy jól működik. Azonnal reagál az aktív munkalapon a változásokra. Mindegy, hogy beszúrok vagy törlök sorokat, oszlopokat.
Arra még nem sikerült rájönnöm, hogy a kód hatása alatt miért nem engedi a sorok és/vagy oszlopok kijelölésével az egész sorok/oszlopok beszúrását/törlését; hogy miért csak a táblázaton belüli cellák kijelölésével enged beszúrni és törölni egész sorokat/oszlopokat, ... de ez a működés szempontjából kevésbé zavaró, mint ami az alap problémám volt.
Még egyszer köszönöm a segítséget és az együttgondolkodást.
Dim lastRow As LongDim lastColumn As LongDim scrollArea As RangeDim ActiveSheetNumber As IntegerPrivate Sub Workbook_Open()ThisWorkbook.Sheets(1).ActivateCall ScrollAreaInterpretEnd SubPrivate Sub Workbook_SheetActivate(ByVal Sh As Object)Call ScrollAreaInterpretEnd SubPrivate Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)If Target.Rows.Count > 1 Or Target.Columns.Count > 1 ThenCall ActSheetChangeEnd IfCall ScrollAreaInterpretEnd SubSub ScrollAreaInterpret()lastRow = ActiveSheet.Cells(ActiveSheet.Rows.Count, "A").End(xlUp).RowlastColumn = ActiveSheet.Cells(1, Columns.Count).End(xlToLeft).ColumnSet scrollArea = ActiveSheet.Range("A1").Resize(lastRow, lastColumn)ActiveSheet.scrollArea = scrollArea.AddressEnd SubSub ActSheetChange()ActiveSheetNumber = ActiveSheet.IndexThisWorkbook.Sheets(ActiveSheetNumber + 1).ActivateThisWorkbook.Sheets(ActiveSheetNumber).ActivateEnd Sub -
TillaT
tag
válasz
TheSaint
#50361
üzenetére
Köszönöm, ezt már próbáltam. Sajnos ez is csak részlegesen tesz úgy ahogy én szeretném. Ennél is el kell kattintani, majd vissza arra a munkalapra, amin korábban a sor/oszlopbeszúrást megejtettem.
Esetleg létezhet olyan metódus, amivel a háttérben, a felhasználó által érzékelhetetlen pillanatig aktívvá tehetnék egy másik munkalapot, majd egyből visszatérnék az adott munkalapra? Így utánozva azt, mintha ténylegesen el és visszakattintottam volna.
Mindjárt teszek is egy próbát. -
TillaT
tag
Sziasztok!
Létezik olyan eseménykezelési lehetőség, ami azonnal érzékeli az aktív munkalapon eszközölt sor és/vagy oszlopbeszúrásokat?VBA kóddal szeretném korlátozni egy munkafüzet minden munkalapján a táblázatok görgethetőségét.
- A munkalapok eltérő méretűek.
- Görgethető tartományként minden munkalapon az adott munkalap 'A1' cellája, valamint az 'A' oszlop utolsó nem üres cellája és az utolsó nem üres oszlop metszéspontja által határolt tartományt szeretném kijelölni.A ThisWorkbook szerkesztőfelületébe írt alábbi kódsorokkal szerettem volna megoldani az elgondolásomat, de sajnos nem teljesen az elvártak szerint működik.
1., Ha csak úgy dolgozok a munkalapokon, hogy sehol nem szúrok be sort vagy oszlopot, akkor hibátlanul működik a görgethetőség korlátozása minden munkalapon.
2., De ha egy munkalapon beszúrok sorokat/oszlopokat, akkor ezt csak azután veszi figyelembe az adott munkalap görgethetőségének korlátozásánál, ha előbb elkattintok egy másik munkalapra, majd vissza.3., A kód hatása alatt nem lehet hagyományos módon -sorszámok vagy oszlopnevek kijelölésével- megadni a beszúrandó sorokat/oszlopokat. Csak úgy enged sorokat és oszlopokat beszúrni, hogy a táblázaton belül bárhol ki kell jelölni annyi sort/oszlopot, amennyit be akarok szúrni, majd a felbukkanó Beszúrás módja ablakban az "Egész sor" vagy az "Egész oszlop" opciók közül választva szúrja be, amit szeretnék.
Ki lehet ezt váltani, hogy a kód futása ellenére is hagyományos módon lehessen kijelölni a beszúrandó sorokat/oszlopokat?Dim lastRow As LongDim LastColumn As LongDim scrollArea As RangePrivate Sub Workbook_Open()ThisWorkbook.Sheets(1).ActivateCall ScrollAreaInterpretEnd SubPrivate Sub Workbook_SheetActivate(ByVal Sh As Object)Call ScrollAreaInterpretEnd SubPrivate Sub Worksheet_Change(ByVal Target As Range)Call ScrollAreaInterpretEnd SubSub ScrollAreaInterpret()lastRow = ActiveSheet.Cells(ActiveSheet.Rows.Count, "A").End(xlUp).RowLastColumn = ActiveSheet.Cells(1, Columns.Count).End(xlToLeft).ColumnSet scrollArea = ActiveSheet.Range("A1").Resize(lastRow, LastColumn)ActiveSheet.scrollArea = scrollArea.AddressEnd Sub
Új hozzászólás Aktív témák
- Otthoni hálózat és internet megosztás
- Milyen videókártyát?
- Kerékpárosok, bringások ide!
- Mibe tegyem a megtakarításaimat?
- CES 2026: felcsavarta az AI-t az AMD, de örülhetnek a játékosok is
- LEGO klub
- Samsung Galaxy S25 Ultra - titán keret, acélos teljesítmény
- Kalandor: Kihúzható kijelzős laptop (2010 körül)
- Tanuljunk angolul!
- Okos Otthon / Smart Home
- További aktív témák...
- 10 Darab ÚJ PC Játékszoftver
- MS SQL Server 2016, 2017, 2019
- Játékkulcsok olcsón: Steam, Uplay, GoG, Origin, Xbox, PS stb.
- MEGA AKCIÓ! - Jogtiszta Windows - Office & Vírusirtó licencek- Azonnal - Számlával - Garanciával
- Kaspersky, BitDefender, Avast és egyéb vírusírtó licencek a legolcsóbban, egyenesen a gyártóktól!
Állásajánlatok
Cég: Laptopszaki Kft.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest


