Hirdetés

2024. április 30., kedd

Gyorskeresés

Útvonal

Fórumok  »  OS, alkalmazások  »  Microsoft Excel topic (kiemelt téma)

Téma összefoglaló

Téma összefoglaló

  • Utoljára frissítve: 2023-11-13 08:31:56

LOGOUT.hu

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.

Összefoglaló kinyitása ▼

Hozzászólások

(#24251) zhari


zhari
csendes tag

Ha a munka1 munkalap A oszlopán vannak az adott dátumok, a munka2 munkalap A oszlopán periódus kezdő, B oszlopán a periódus záró dátumai C oszlopán a periódusok nevei. Ha a periódusok fedhetik egymást és egy dátum több periódusban is szerepelhet, hogy gyűjtenétek össze, hogy egyes munka1 A oszlop dátumai mely periódusokba esnek bele. Hozzászólásokat előre köszönöm.

(#24252) Wyll válasza zhari (#24251) üzenetére


Wyll
őstag

A Munka1-be beszúrnék legfelülre egy új üres sort, és ide a B, C, D stb oszlopokba beírnám rendre az 1, 2, 3 stb számokat annak megfelelően, hogy hány periódus van. Így kialakulna egy olyan táblázat, aminek a baloldalán a keresett dátum található, a tetején meg a keresett periódus (Munka2-beli) sora. A többit a vizsgálófüggvény teszi hozzá, a következőképpen:

A táblázat B2 cellájába a következő függvényt írnám:

=HA(ÉS(INDIREKT("Munka2!A"&B$1)<=$A2;$A2<=INDIREKT("Munka2!B"&B$1));INDIREKT("Munka2!C"&B$1);"")

És ezt kitolnám a teljes táblázatra. Így szépen fel lesz írva egy dátum mellé, hogy mely periódusokba esik bele.

Tehát így:

Ez a megoldás viszont nem igazodik automatikusan a periódusok számához.

[ Szerkesztve ]

Megbízhatóságom: http://phmegbizhatosag.atw.hu/phtabla.php?nev=Wyll

(#24253) Wyll válasza Delila_1 (#24236) üzenetére


Wyll
őstag

Úgy sem jó :(

MsgBox ("rel_ev erteke: " & Range(rel_ev))

Erre Application-defined vagy Object-defined error-t dob.

Megbízhatóságom: http://phmegbizhatosag.atw.hu/phtabla.php?nev=Wyll

(#24254) Delila_1 válasza Wyll (#24253) üzenetére


Delila_1
Topikgazda

Sub mm()
Dim y As Long

y = Range("rel_ev").Value
MsgBox y
End Sub

Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.

(#24255) slashing válasza Wyll (#24253) üzenetére


slashing
senior tag

Sub Makró1()
y = Range("rel_ev")
MsgBox "rel érték = " & y
End Sub

Ahol A1 cella nálam rel_ev ként van elnevezve....

[ Szerkesztve ]

(#24256) Delila_1 válasza zhari (#24251) üzenetére


Delila_1
Topikgazda

Makróval gyorsan előállítható.

Sub Periodusok()
Dim sor As Long, sor1 As Long

Munka1.Select
For sor = 1 To Application.WorksheetFunction.CountA(Munka1.Columns(1))
For sor1 = 1 To Application.WorksheetFunction.CountA(Munka2.Columns(1))
If Cells(sor, "A") >= Munka2.Cells(sor1, "A") And Cells(sor, "A") <= Munka2.Cells(sor1, "B") Then
Cells(sor, Cells(sor, Columns.Count).End(xlToLeft).Column + 1) = Munka2.Cells(sor1, "C")
End If
Next
Next
End Sub

Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.

(#24257) Delila_1 válasza slashing (#24255) üzenetére


Delila_1
Topikgazda

Nálam a .Value nélkül hibára futott. :)

Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.

(#24258) slashing válasza Delila_1 (#24257) üzenetére


slashing
senior tag

:F

(#24259) Delila_1 válasza slashing (#24258) üzenetére


Delila_1
Topikgazda

Eltérő verzióban dolgozunk. :N

Próbáld meg, hogy a rel_ev mezőbe képletet írsz, mint az eredeti kérdésben volt. Egy másik cellában lévő dátumnak az év értékét add meg benne.

[ Szerkesztve ]

Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.

(#24260) slashing válasza Delila_1 (#24259) üzenetére


slashing
senior tag

nálam így is lefut A1-ben =ÉV(Munka2!$G19) nem értem

(#24261) katsi


katsi
tag

Sziasztok!

Van egy Excel táblám, segítséget szeretnék kérni rendezésben:
- a tábla első oszlopa egyedi azonosítókat tartalmaz
- a tábla többi oszlopa egyéb adatokat tartalmaz (név, telefonszám, stb)

Most jön a trükk:
- az egész tábla elé beszúrtam egy olyan oszlopot, ami szintén tartalmazza az egyedi azonosítókat, DE egy saját sorrend szerint, ami nem növekvő, csökkenő, hanem egyedi.

Lehetséges úgy rendezni a táblát, hogy az Excel összerendelje az első oszlophoz tartozó ugyanolyan, második oszlophoz tartozó értékeket?

Példa:
1. 2. 3.
ID2, ID3, Béla
ID5, ID2, Józsi
ID3, ID5, Dávid

Ebből lenne:
ID2, ID2, Józsi
ID5, ID5, Dávid
ID3, ID3, Béla

Tehát az első oszlop szerinti egyedi sorrendben rendezné, az lenne a mérvadó.
Hálásan köszönöm előre is, ha van rá módszer!

(#24262) zhari válasza katsi (#24261) üzenetére


zhari
csendes tag

Fkeres függvénnyel meg lehet oldani a problémádat szerintem.) pl. ha A oszlopban az új sorrendben az egyedi azonosítók, B oszlopban a régi sorrendben az egyedi azonosítók C oszlopban a nevek vannak akkor D1-be =fkeres(A1;B: C;2;0) ( C előtt nincs szóköz)

[ Szerkesztve ]

(#24263) zhari válasza Wyll (#24252) üzenetére


zhari
csendes tag

Hasonló módszerrel oldottam meg. köszi

(#24264) LordVader80


LordVader80
senior tag

Sziasztok!

Hogyan tudom feltételesen formázni egy oszlop celláit, aminek értékei számok, növekvő sorrendben: a 0-3 közötti számokat szeretném egyfajta színre festeni, míg a 4-7-ig a következőre, és így tovább, négyesével. Természetesen elég két szín összesen, csak egymás után négyesével különüljenek el.

1-3 kék
4-7 zöld
8-11 kék
12-15 zöld
16-19 kék

stb stb...

:R

May The Force Be With You!

(#24265) m.zmrzlina válasza LordVader80 (#24264) üzenetére


m.zmrzlina
senior tag

Ha folyamatos a táblázatod (egyenként növekednek a számok) ahogy a kérdésben írod akkor nem kell feltételes formázással bajlódnod.

Formázás táblázatként>Új táblázatstílus előhozza a képen lévő ablakot és itt beállíthatod a kívánt stílust.
Az első és második sorsávnál 4-re állítod a sávméretet a formátumnál megadod a színt.

Aztán kijelölöd a táblázatodat majd Formázás táblázatként és a legfelső sorban az Egyéni közt ott lesz az előbb létrehozott stílusod.

Ez a megoldás nem lesz tekintettel a cellaértékekre mint a feltételes formázás.

(#24266) Delila_1 válasza katsi (#24261) üzenetére


Delila_1
Topikgazda

Helyben (C oszlopban) nem tudod megoldani a körkörös hivatkozás miatt, de a kép szerint igen.

Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.

(#24267) LordVader80 válasza m.zmrzlina (#24265) üzenetére


LordVader80
senior tag

Rosszul fogalmaztam, pont a cellaértékre kell, hogy figyeljen, ami változhat. A számok pedig nem soronként növekednek, hanem pl:
1
1
1
2
3
3
4
4
és így tovább. A számok képletekkel jönnek. Az 1-3 számokhoz szeretnék egy színt rendelni, a 4-7-ig egy másikat, és így tovább egészen 197-200-ig. Csak lusta vagyok ennyi feltételes formázást bevinni, meg nem is tudom, 50-et lehet-e egy cellára.

[ Szerkesztve ]

May The Force Be With You!

(#24268) Delila_1 válasza LordVader80 (#24264) üzenetére


Delila_1
Topikgazda

Rossz hírem van, egyenként kell bevinned az 50 formátumot. Könnyebbség, hogy beírod az elsőt, Ctrl+c-vel másolod a képletet, ezután fogadtatod el a formátumot.
Új szabály, a képletet bemásolod Ctrl+v-vel, átírod a 2 számot, és mehet tovább.

[ Szerkesztve ]

Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.

(#24269) LordVader80 válasza Delila_1 (#24268) üzenetére


LordVader80
senior tag

Ettől féltem :Y de nagyon köszönöm a segítséget :R

May The Force Be With You!

(#24270) Delila_1 válasza LordVader80 (#24269) üzenetére


Delila_1
Topikgazda

Szívesen.
Gyorsan megy a másolásos módszerrel, egy-kettőre bevittem 10 feltételt.

Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.

(#24271) m.zmrzlina válasza LordVader80 (#24267) üzenetére


m.zmrzlina
senior tag

Akkor szerintem nem úszod meg.

Feltételes formázás >Cellakijelölési szabályok>Két érték között

Itt megadod a határértékeket és a határokhoz tartozó stílusokat.

(#24272) Wyll válasza Delila_1 (#24268) üzenetére


Wyll
őstag

Én meg ezen gondolkozom itt nagy erőkkel, hogy vajon a feltételes formázás hogyan lesz relatív a létrehozás helyéhez?!
Vagy miért csak a cellaértéken tud alapulni, miért nem tud a cellaértékre alkalmazott függvény eredményén alapulni?

A feltételt már ki is találtam: =MARADÉK(<önmaga>;8)<4
(cella értékének 8-cal vett maradéka kisebb négynél)

LordVader: nem fogalmaztál rosszul, én már elsőre is értettem :))

[ Szerkesztve ]

Megbízhatóságom: http://phmegbizhatosag.atw.hu/phtabla.php?nev=Wyll

(#24273) Delila_1 válasza Wyll (#24272) üzenetére


Delila_1
Topikgazda

2007-től elég lükén oldották meg. Kijelölöd a formázandó tartományt, ez lesz az érvényesség címe.
Megadod a formátumot. Ezután ha az érvényességen belüli cellán állva behívod a feltételes formázást, azt a képletet mutatja, ami az érvényesség bal felső cellájára vonatkozik.

Régebbi verzióban még az adott (aktív) cellára vonatkoztatott képletet látod.

Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.

(#24275) Wyll válasza Delila_1 (#24273) üzenetére


Wyll
őstag

Mégis meg lehet csinálni egyetlen szabállyal!!!!!!!! :Y :K

Egy cellára megcsinálod a szabályt, figyelve hogy az önhivatkozás relaítv legyen (tehát $-ek nélkül), leokézod, majd a formátummásolóval továbbviszed a többi cellára is.

Ahogy te is mondod, a formázáskezelő a bal felsőre vonatkozót fogja mutatni, de mégis működik:

Elnézést, a sorok számai lemaradtak, az 1-es a 17-esben van, az alsó 16-os pedig a 32-esben.
Meg még dupla is lett.

[ Szerkesztve ]

Megbízhatóságom: http://phmegbizhatosag.atw.hu/phtabla.php?nev=Wyll

(#24276) Delila_1 válasza Wyll (#24274) üzenetére


Delila_1
Topikgazda

Sajnos nem nyert. Nálad 2 formátum váltakozik, a kérdező 4-enként többet szeretne. Kár, nagyon frappáns megoldás! :C

[ Szerkesztve ]

Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.

(#24277) Wyll válasza Delila_1 (#24276) üzenetére


Wyll
őstag

[link]: "Természetesen elég két szín összesen, csak egymás után négyesével különüljenek el."

Természetesen lehetséges hogy létre kell hozni még egy - komplementer - feltételt is az előbb említett módon, ha nem jó az alap fehér:
=MARADÉK(V17;8)>=4

Bár elkülönülni enélkül is elkülönül.

megj: Amióta a neveknél felfedeztem, hogy milyen oltári szuper, hogy lehetnek relatívak, azóta már mindenre ezt gondolom, és lám, tényleg :DDD

[ Szerkesztve ]

Megbízhatóságom: http://phmegbizhatosag.atw.hu/phtabla.php?nev=Wyll

(#24278) Delila_1 válasza Wyll (#24277) üzenetére


Delila_1
Topikgazda

Figyelmetlenül olvastam. :(

Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.

(#24279) Wyll válasza Delila_1 (#24254) üzenetére


Wyll
őstag

Erre mit mondasz:

Nagyon nem értem hogy miért nem működik..

[ Szerkesztve ]

Megbízhatóságom: http://phmegbizhatosag.atw.hu/phtabla.php?nev=Wyll

(#24280) LordVader80 válasza Wyll (#24275) üzenetére


LordVader80
senior tag

öÖö ezt most hirtelen nem látom át, pláne miután bevittem az 50 feltételt :DDD :DDD
hogy működik ez?

egyébként ha a háttér is érdekel: adott 4 havi munkaidőkeret, amit a belépés napjától kell megjeleníteni.
A sorok a jövő évi naptári napok egymás alatt, az értékek képlettel kerekítve az az érték, ahány hónapja itt dolgozik az illető, és ehhez kell, hogy 4 havonként lássuk (a belépés dátumához igazodva, ami változhat, ha valaki kilép és új kerül a táblába a helyére), mikor telik le az aktuális munkaidőkeret.

[ Szerkesztve ]

May The Force Be With You!

(#24281) LordVader80 válasza Wyll (#24275) üzenetére


LordVader80
senior tag

ja ez priv akart lenni :W

[ Szerkesztve ]

May The Force Be With You!

(#24282) Delila_1 válasza Wyll (#24279) üzenetére


Delila_1
Topikgazda

Most nálam nem fut hibára .Value-val, és anélkül sem.
Függ az időjárástól? :D

Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.

(#24283) Wyll válasza Delila_1 (#24282) üzenetére


Wyll
őstag

Pedig az MSDN-en is ott van az egyértelmű példa, mégsem megy:

Én már ezt nem értem... :(
Lehet hogy az a baj, hogy relatív a hivatkozás?

Megbízhatóságom: http://phmegbizhatosag.atw.hu/phtabla.php?nev=Wyll

(#24284) LordVader80 válasza Wyll (#24283) üzenetére


LordVader80
senior tag

Közben felhasználtam az általad javasoltat, és szuperül működik. :R :R
Annyit módosítottam, hogy negyedéves ciklust kell nézni, ezért a nyolcból 6, a 4-ből pedig 3 lett. A másik színt, hogy azt is én határozzam meg, ugyanazzal a képlettel, de ellentétes relációval, plusz mellé egy egyenlőség jellel oldottam meg. :B
=MARADÉK(T23;6)>=3 ez lett az egyik szín
=MARADÉK(T23;6)<3 ez lett a másik szín

Szuperül működik, köszönöm még egyszer :R

May The Force Be With You!

(#24285) Mutt válasza LordVader80 (#24269) üzenetére


Mutt
aktív tag

Felteteles formazasban a fuggveny =párose(A1/4)

A tanácsaimat ingyen adom. Ha nem tetszik, akkor kérlek ne kritizáld! / https://github.com/viszi/codes/tree/master/Excel

(#24286) Wyll válasza LordVader80 (#24284) üzenetére


Wyll
őstag

Pont így gondoltam én is! Örülök, hogy sikerült! ;)

Megbízhatóságom: http://phmegbizhatosag.atw.hu/phtabla.php?nev=Wyll

(#24287) Wyll


Wyll
őstag

Tényleg nem mennek Excel 2010 VBA-ban a relatív hivatkozásos nevek:

Most akkor találtam egy bugot?

Megbízhatóságom: http://phmegbizhatosag.atw.hu/phtabla.php?nev=Wyll

(#24288) Fferi50 válasza Wyll (#24287) üzenetére


Fferi50
őstag

Szia!

Kicsit részleteznéd a problémát, mert a képből (nekem legalábbis) nem derül ki, mi a problémád.

Üdv.

(#24289) Wyll válasza Fferi50 (#24288) üzenetére


Wyll
őstag

Az, hogy aosz egy relatív (részben $ nélküli) cellahivatkozás. (A oszlop azonos sorban lévő cellája.)
És cellákban használva jól működik, ahogy az látható is,
viszont VBA-ból szemmel láthatóan más címre oldódik fel, mint a worksheet celláiban. $A7-et kellett volna kapni végeredményül $A$1 helyett.

De mondd, hogy elnézek valamit :P

[ Szerkesztve ]

Megbízhatóságom: http://phmegbizhatosag.atw.hu/phtabla.php?nev=Wyll

(#24290) Fire/SOUL/CD válasza Wyll (#24287) üzenetére


Fire/SOUL/CD
félisten

A képeden annyi "hiba" van, hogy ha az A1 cellát elnevezted aosz tartománynak, akkor az az F7 cellában nem 33-nak kellene lennie, hanem valami-nek

Mindenki tudja, hogy bizonyos dolgokat nem lehet megvalósítani, mígnem jön valaki, aki erről nem tud, és megvalósítja. (Albert Einstein)

(#24291) Wyll válasza Fire/SOUL/CD (#24290) üzenetére


Wyll
őstag

Csakhogy nem neveztem el sem A1-et, sem $A$1-et semminek.

$A$3-at elneveztem aoszlop-nak, ez van a C3:D10-ben,
és $A3-at pedig elneveztem az E3-on állva(!) aosz-nak, ez van az E3:F10-ben.
Látszik, hogy mindkettő működik a cellákban.

Viszont a vba kódot ActiveCell.Address = C7 mellett futtatva $A7-et kellett volna hogy kapjak.

[ Szerkesztve ]

Megbízhatóságom: http://phmegbizhatosag.atw.hu/phtabla.php?nev=Wyll

(#24292) Fire/SOUL/CD válasza Wyll (#24291) üzenetére


Fire/SOUL/CD
félisten

Biztosan nem így van (max így gondolod, hogy kellene lennie) mert a makród MsgBox Range("aosz").Address egyértelműen az A1 cella címét adja meg, mint aosz néven elnevezett tartomány címét. Szóval ebből kell kiindulni.
Ehhez ellenőrizd a tartományokat és elnevezésüket, Képletek/Névkezelő segítségével. 1 tartományt ha többször próbáltál más névvel ellátni(lehet, csak figyelmetlenségből stb), akkor 1 tartományhoz több cím is tartozik és mindig a legutolsó az érvényes(bizonyos műveleteknél), pl legyártottam most direkt egy hibás megközelítés: [link]. Értelem szerűen csak 1 elnevezése lehet 1 tartománynak egyébként keveredés lesz. (Lehet 1 tartománynak több neve is, csak akkor a programozónak szándékosan kell ezt kiviteleznie, és tudnia, hogy ő maga hozott létre több nevet 1 tartományhoz)

[ Szerkesztve ]

Mindenki tudja, hogy bizonyos dolgokat nem lehet megvalósítani, mígnem jön valaki, aki erről nem tud, és megvalósítja. (Albert Einstein)

(#24293) Wyll válasza Fire/SOUL/CD (#24292) üzenetére


Wyll
őstag

De nincs semmilyen átfedés:

Itt ugyanúgy $A$1 lesz a végeredmény.... :U

[ Szerkesztve ]

Megbízhatóságom: http://phmegbizhatosag.atw.hu/phtabla.php?nev=Wyll

(#24294) Fire/SOUL/CD válasza Wyll (#24293) üzenetére


Fire/SOUL/CD
félisten

:DDD Ez egy teljesen új kép... Annak jobban örültem volna, ha a korábbi állapotban(amiről a korábbi képet beraktad) készült névjegyzéket láttam volna, mert itt az újnál már aosz sincs stb...
Maradva akkor ennél az új állapotnál, ha elmented a táblázatot, majd (biztos, ami biztos) nyomsz egy F9-t, azt követően a makró nem írhatja ki az $A$1-t, hanem az $A$7-t, mint a proba tartomány címét.
(Amúgy itt már helyes a címzés, mert az F7 cellában valóban a próba tartomány (ami az A7) értéke jelenik meg, nem mint korábban)

Mindenki tudja, hogy bizonyos dolgokat nem lehet megvalósítani, mígnem jön valaki, aki erről nem tud, és megvalósítja. (Albert Einstein)

(#24295) Wyll válasza Fire/SOUL/CD (#24294) üzenetére


Wyll
őstag

Az előző képet még a melóban csináltam. De nyugodtan elhiheted, hogy ott is csak két név volt :K ;)

Viszont az azért ezen is látható, hogy az E3:F10 cellákban, de legalábbis a képen az F7 cellában proba (aosz-szal azonos) van, és helyesen az A7 értékét adja (illetve E3:F10-en belül A-nak azonos sorában lévő cella értékét adja) eredményül.

És azt gondolom, hogy a VBA Range("proba").Address -nek is ugyanezt kéne visszaadnia, ha ugyanazon a cellán állva futtatom. Az MSDN szerint ez teljesen legális használat. ("Similarly, you can use a named cell instead of A1..."). Bár relatív hivatkozásra ott sincs példa.

Btw. sajnos nem lehet egyszerre láttatni a névjegyzéket, a VBA szerkesztőt meg a messagebox-ot is.

[ Szerkesztve ]

Megbízhatóságom: http://phmegbizhatosag.atw.hu/phtabla.php?nev=Wyll

(#24296) Fferi50 válasza Wyll (#24295) üzenetére


Fferi50
őstag

Szia!

A "relatív" névadás szerintem roppant mód veszélyes dolog - legalábbis a 2010-es excelben biztosan, 2003-as excelben pedig egész egyszerűen körkörös hivatkozást "képes" eredményezni.
Gondolj bele: a relatív hivatkozással "elhúzod" az alapcella címét is, amikor egy új cellába helyezed a képletet (ugyanúgy, mint más képletttel), csak itt "megy vele" a viszonyítási alap is. Erre aztán "el is veszti" a fejét a VBA.
Hogy ez aztán "bug", vagy csak "elfelejtették" megírni, hogy ne adjunk nevet relatív címzéssel azt nem tudom.
Szerintem nem véletlen, hogy a névkezelő állandóan abszolut módon adja meg a címeket.

Üdv.

(#24297) Pampipapi


Pampipapi
tag

Sziasztok!

Azt szeretném megoldani, hogy ha beírok bármit egy cellába, akkor a mellette lévő cellában automatikusan megjelenjen a dátum, ami nem frissül később.
Az ÜRES() és a MOST() függvények felhasználásával próbálkoztam, de minden megnyitáskor az aktuális dátum jelenik meg...

(#24298) Wyll válasza Fferi50 (#24296) üzenetére


Wyll
őstag

Mit értesz az alapcellán és a viszonyítási alapon? Mmint mi a különbség?

Szerintem pont ez a marha jó a relatív nevekben, hogy dinamikusan, bárhol használhatók!
Épp a múlt héten kellett írnom két elég nagy többszörösen összetett függvényt, és 1000x könnyebb volt benne tájékozódni nevekkel, mint cellahivatkozásokkal. Sőt, előre meg tudtam írni notepad-ban, nem kellett a cellákkal foglalkoznom. De egy csomó tutorial is van a neten relatív nevekkel. Nem hinném, hogy ellenjavallt lenne.

Szerintem VBA-ban annyi lesz a gond, hogy a Range() csak így simán object qualifier nélkül az ActiveSheet-re vonatkozik, aminek a bal felső cellája (a viszonyítási pontja) pont az A1. Éppen ezért lehet megadni neki pl ("B3")-at, ami így tényleg a B3-as cellát fogja jelenteni.

De ha "balra mutató" (negatív offset) relatív nevet akarok használni, akkor meg kell adnom, hogy mihez képest.. Mindjárt megnézem. (vagy majd holanp :P )

Megbízhatóságom: http://phmegbizhatosag.atw.hu/phtabla.php?nev=Wyll

(#24299) Fferi50 válasza Pampipapi (#24297) üzenetére


Fferi50
őstag

Szia!

Ehhez így sajnos nem fogsz megfelelő függvényt találni.
Illetve a MOST de inkább a MA az jó a beírás napján,de ahhoz, hogy későbbi napokon ne változzon meg, minden bezárás előtt át kell alakítani értékké:
Másolás - irányított beillesztés érték. Ezután már mindig az adott értéket fogja mutatni a cella. (Ezt természetesen lehet automatizálni makróval - és ekkor makróbarátként kell a füzetet elmenteni és a makró futtatását engedélyezni kell stb...)

Üdv.

(#24300) Fferi50 válasza Wyll (#24298) üzenetére


Fferi50
őstag

Szia!

Neked bizonyára sokkal nagyobb gyakorlatod van a relatív meghatározású nevek használatával, mint nekem, mivelhogy én nem használok ilyeneket. A kérdésed kapcsán próbáltam megnézni a viselkedésüket, illetve visszaemlékeztem pár hasonló próbálkozásomra (de bizonyára rosszul fogtam meg a témát).
Hogy a kérdésedre válaszoljak:
Alapcella - amin álltál, amikor a névkezelőben megadod a nevet. Ehhez a cellához képest a névhez tartozó tartomány (ami lehet egy-vagy több cella) sor és oszlop eltérése a viszonyítási alap a szóhasználatomban.
Tehát, ha a C1-ben állva adsz az A1 cellának nevet (név), majd F1-ben beírod a képletet =név, abban pillanatban a név már nem az A1 cellára fog vonatkozni, hanem az F1-től 2 cellával jobbra levő D1 cellára.
Ha pedig beleállsz az E1 cellába és megnézed a név melyik cellára mutat, meglátod, hogy az - mielőtt bármit is csinálnál vele C1-re hivatkozik.
DE: a VBA már meg is "bolondult", mert nála már az utolsó oszlopok valamelyike az, amihez a név tartozik.
És itt jön be, amit a 24292-ben írt Fire/SOUL/CD : a relatív névből látszólag mindig egy van, a valóságban pedig mindig a legutolsó aktív cellához képest számolja ki a név hivatkozását, tehát "több" név létezik belőle. Ezért nem egyértelmű - pont a dinamizmusa miatt. Szerintem a VBA ezért nem tud vele igazán mit kezdeni.

Ez igaznak látszik a munkalapon generált relatív nevekre. Nem tudom - most nincs már igazán időm rá -, hogy a VBA-ban makróval megadott nevek hogyan viselkednek.

Emiatt az általam korábban már megtapasztalt ellentmondás miatt inkább a VBA objektum hozzárendelést és ahhoz az offset tulajdonságot használom. Pl.

dim alap as range
set alap=range("A1")
msgbox alap.offset(0,2).address ' = $C$1

De persze - mint az már többszörösen bebizonyosodott, ízlések és pofonok különböznek. Így aztán nyilván különféle megoldásai lehetnek ugyanazon feladatoknak.

Üdv.

Útvonal

Fórumok  »  OS, alkalmazások  »  Microsoft Excel topic (kiemelt téma)
Copyright © 2000-2024 PROHARDVER Informatikai Kft.