-
IT café
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
-
Wyll
őstag
Van egy nagy, anonim közvéleménykutatás táblázatom, a felső sorban a kérdések, alattuk a válaszok (egy sor - egy válaszadó).
Hogy lehet megszámolni, hogy adott kérdés(ek)re adott válasz(okat)t produkáló válaszadóból hány darab van?
Szűréssel nem lehet megcsinálni?
(Hogy összeszámolja, hogy a(z esetleg többszörös) szűrésnek hány eredménye
van. Magyarul ahány sort nem rejt el végül a szűrés.)
Ha szűréssel nem megy, gondolom van erre valami jó bonyolult keresőfüggvény is...Megbízhatóságom: http://phmegbizhatosag.atw.hu/phtabla.php?nev=Wyll
-
Wyll
őstag
Tökkélettes!
Mindenre gondoltam volna, csak erre nem. Igaz, hogy nem is szumma, hanem részösszeg függvényt szúr be így. Nem tom, hogy megtaláltam-e volna, de nagyon köszönöm!
iwu: sajnos csak elvileg... de az előbbi úgyis jobb nekem. köszi!
[Szerkesztve]Megbízhatóságom: http://phmegbizhatosag.atw.hu/phtabla.php?nev=Wyll
-
Wyll
őstag
Sziasztok!
Azt szeretném megcsinálni Excel 2010-ben, hogy ha
- a munkafüzet nincs még elmentve, vagy
- el van már mentve, de a mentés máskéntre kattint a júzer
(tehát magyarul amikor felugrik a mentésablak),akkor ajánljon fel egy általam meghatározott filenevet a mentéshez, ami nem más, mint egy adott cella tartalma+egy énáltalan megadott string ("_jegyzőkönyv"), és kiterjesztésnek pedig a már meglévő .xlsm (makróbarát munkafüzet) kiterjesztés.
Próbálgattam már makrót írni rá innen-onnan összeollózott forrásokból, és erre jutottam:
Sub mentesmaskent2()
' mentesmaskent2 Makró
ActiveWorkbook.SaveAs Filename:=Range("gyariszam") & "_jegyzőkönyv" & ".xlsm"
End SubEz ugyebár nem dob fel mentés ablakot, csak megcsinálja.
Kérdésem, hogy
- ez így korrekt-e, vagy a működőképessége ellenére mindenképpen lenne hozzá javítási javaslatotok?
- meg lehet-e úgy csinálni, hogy egy mentés ablakba írja be előre magától a kért filenevet?Gyakorlatilag egy alapértelmezett mentési nevet kéne megadni. Már ha van ilyen..
[ Szerkesztve ]
Megbízhatóságom: http://phmegbizhatosag.atw.hu/phtabla.php?nev=Wyll
-
Wyll
őstag
-
Wyll
őstag
válasz Fferi50 #23024 üzenetére
Szia!
Először is, nem vagyok vba guru, egyáltalán nem tanultam vba programozást
Ennek ellenére azt hiszem sikerült összehozni:Sub sajatmentes()
Dim fd As FileDialog
Set fd = Application.FileDialog(msoFileDialogSaveAs)
With fd
.InitialFileName = Range("gyariszam") & "_jegyzokonyv"
.FilterIndex = 2 'xlsm, azaz makróbarát munkafüzetként
.Show
.Execute
End With
Set fd = Nothing
End SubHogy tetszik?
Szerinted is jó és megfelelő az eredeti célra?[ Szerkesztve ]
Megbízhatóságom: http://phmegbizhatosag.atw.hu/phtabla.php?nev=Wyll
-
Wyll
őstag
Szaisztok!
Vannak-e az excel vba-nak filekezelő függvényei?
Szeretnék egy makrót, ami:
- leellenőrzi, hogy egy bizonyos nevű file létezik-e már,
- ha igen, akkor megnyitja
- ha nem, akkor ilyen néven hozzon létre egy file-t, és azt nyissa meg
(utóbbi műveletet inkább úgy kéne megvalósítani, hogy egy már biztosan létező alapfile-t nyit meg, amiben kitölt pár értéket, majd mentés másként, pont a megadott néven.)Szóval ezt meg lehet csinálni?
Ha igen, akkor ehhez a fontosabb parancsokat le tudná valaki írni nekem?Megbízhatóságom: http://phmegbizhatosag.atw.hu/phtabla.php?nev=Wyll
-
Wyll
őstag
válasz m.zmrzlina #23412 üzenetére
köszönöm, ezt is megnézem - majd holnap
köszi szépen!Megbízhatóságom: http://phmegbizhatosag.atw.hu/phtabla.php?nev=Wyll
-
Wyll
őstag
Üdv
Hogyan lehet makrobol elindítani egy másik (már megnyitott) file másik makróját?
A következőt szeretném:
a.xlsm fileban elindítom az x makrót. Futása soran ez megnyitja b.xlsm file-t. Ott csinál ezt-azt (aktív a b.xlsm workbook), majd meghívja b.xlsm file y makróját. Y szépen lefut, majd visszaadja a vezérlést x-nek.
Mellesleg ekkor x is befejeződik, es b.xlsm maradjon aktív.Szoval ezt hogyan kellene?
[ Szerkesztve ]
Megbízhatóságom: http://phmegbizhatosag.atw.hu/phtabla.php?nev=Wyll
-
Wyll
őstag
Vajon mi a baj?
Azt akarom, hogy egy userform-on lévő toggle button akkor és csak akkor legyen benyomva (value=1), amikor bizonyos oszlopok nincsenek elrejtve (hidden = false); illetve hogy a be vagy kikapcsolása egyben rejtse is el vagy jelenítse is meg a cellákat.
A rejtés/felfedés funkció működik is szépen, csak az inicializálás nem: ha a cellák el vannak rejtve, akkor sem lesz benyomott állapotú a userform indulásakor.
Private Sub togbutTranslate_Click()
If Range("b_forditocellak").EntireColumn.Hidden = True Then
Range("b_forditocellak").EntireColumn.Hidden = False
Else
Range("b_forditocellak").EntireColumn.Hidden = True
End If
End Sub
Private Sub UserForm_Initialize()
If Range("b_forditocellak").EntireColumn.Hidden = True Then
Me.togbutTranslate.Value = True
End If
Me.labVersion.Caption = "Jegyzőkönyv verziója: " & Worksheets("MAGYAR").Range("N2").Value
End Sub[ Szerkesztve ]
Megbízhatóságom: http://phmegbizhatosag.atw.hu/phtabla.php?nev=Wyll
-
Wyll
őstag
Van egy - szerintem - furmányos kérdésem. Egy ilyen hivatkozást szeretnék kreálni a kontroll.xlsm fájlomban:
='\\szerver\mappa szunettel\[sample.xlsm]Munka1'!definialtnev
Csakhogy konkrétan ez a '\\szerver\mappa szunettel\' út a kontroll.xlsm egy másik munkalapján van egy cellában (konfig!B2). Amire nem mellesleg definiáltam is már egy nevet: eleresiut.
Ezekből hogy lehet kihozni, hogy ugyanazt adja, mint a fenti képlet?Valami ilyesmire gondolok:
='eleresiut'[sample.xlsm]Munka1!definialtnev
[ Szerkesztve ]
Megbízhatóságom: http://phmegbizhatosag.atw.hu/phtabla.php?nev=Wyll
-
Wyll
őstag
válasz Delila_1 #24020 üzenetére
Ááááá, nem jó
Se így:
=INDIREKT("konfig!B5"&"[sample.xlsm]Munka1!B5")
Se így:
=INDIREKT("eleresiut"&"[sample.xlsm]Munka1!B5")
Se így:
=INDIREKT(eleresiut&"[sample.xlsm]Munka1!B5")Az eleresiut cella helyesen \-re végződik, viszont van az elérési útban space. Az nem lehet gond?
Megbízhatóságom: http://phmegbizhatosag.atw.hu/phtabla.php?nev=Wyll
-
Wyll
őstag
válasz Delila_1 #24026 üzenetére
Most jövök rá, hogy a te #24020-as példád is tartalmaz hibát (szerintem):
=indirekt("konfig!B2" & "[sample.xlsm]Munka1!definialtnev")Ugyanis a konfig!B2 tartalmát nem indirekten kell értelmezni (hanem csak majd az annak a tartalmából és a még hozzáfűzött szövegből keletkező egészet), ezért szerintem nem kéne köré idézőjel:
=indirekt(konfig!B2&"[sample.xlsm]Munka1!definialtnev")Itt jön viszont, hogy valóban space is van benne, tehát szerintem így kéne:
=INDIREKT("'"&konfig!B5&"[sample.xlsm]Munka1'!B5")
... csakhogy így sem jó
Mellette egy cellában - teszt céljából - a
='\\eleresiut\[sample.xlsm]Munka1'!B5
viszont működik[ Szerkesztve ]
Megbízhatóságom: http://phmegbizhatosag.atw.hu/phtabla.php?nev=Wyll
-
Wyll
őstag
Ha egy toggle buttonnak vba kódból értéket adok
Me.togbutTranslate.Value = Not (Range("b_forditocellak").EntireColumn.Hidden)
akkor az a baj, hogy végrehajtódik a hozzátartozó _Click() event is, amit én kifejezetten nem szeretnék.
(Ugyanis így pont elcsúszik a gomb benyomottsága és a b_forditocellak rejtettsége közötti szinkron, pedig épp ezt akarom itt beállítani.)Jelenleg így próbálom:
Application.EnableEvents = False
Me.togbutTranslate.Value = Not (Range("b_forditocellak").EntireColumn.Hidden)
Application.EnableEvents = Truede sajnos így is lefut a _Click() event
Ezt mellesleg onnan tudom, hogy debuggolva végigléptetem a folyamatot.Megoldásötlet?
Megbízhatóságom: http://phmegbizhatosag.atw.hu/phtabla.php?nev=Wyll
-
Wyll
őstag
válasz Fferi50 #24148 üzenetére
Ez az egész inicializáláskor van, tehát a gomb állapota ilyenkor még tuti 0.
És azt akarom, hogy az legyen hogy
gomb benyomva <=> látszik az oszlop
gomb felengedve <=> nem látszik az oszlopTe pedig azt mondod most, ha jól értem, hogy az oszlop láthatóságát állítsam a gombhoz (ami ebben az esetben ugye 0, tehát rejtsem el az oszlopot), ne a gombot az oszlopéhoz. Csakhogy pont azt szerettem volna elérni, hogy megnyitáskor a gomb felvegye az oszlop állapotát, az ugyanis megőrződik az elmentett file-ban.
Persze értem, hogy mi a helyzet, hogy mindenképp lefut az eventhandler, így trükközni kellene, pl meg lehet jegyezni valahogy megnyitáskor az oszlop állapotát, utána szinkronizálni a gombbal, majd "visszaállítani" a kezdeti állapotot. Csak ez nem valami elegáns szerintem - de cáfoljatok meg
------------------------------------
Delila_1:
Az én click eseményem:
Private Sub togbutTranslate_Click()
Call AngolCellakOnOff
End Sub
Private Sub AngolCellakOnOff()
Range("b_forditocellak").EntireColumn.Hidden = Not Range("b_forditocellak").EntireColumn.Hidden
End SubHa másik modulban van a sub, az min változtat?
Kérnék szépen egy kis magyarázatot a példádhoz, mert sajnos nem nagyon értem[ Szerkesztve ]
Megbízhatóságom: http://phmegbizhatosag.atw.hu/phtabla.php?nev=Wyll
-
Wyll
őstag
Az oszlopelrejtés <--> togglebutton összehangolás sikerült, köszönöm!
Most visszatérnék a Delila-val az INDIREKT() függvény-es dologra
Kérdésem: ha jól látom az van, ha az INDIREKT() fv argumentuma külső hivatkozás, akkor a hivatkozott fájl meg kell legyen nyitva a (fv lefutásának pillanataiban), hogy működjön, és ne HIV! végeredményt kapjunk.
Na most, ez nekem nem nagyon jó. Pont azt szeretném megvalósítani, hogy egy csomó hálózaton lévő különböző file-ból magától beolvasson egy csomó adatot a linkeken keresztül. Hogyan lehet ezt megcsinálni?
Megbízhatóságom: http://phmegbizhatosag.atw.hu/phtabla.php?nev=Wyll
-
Wyll
őstag
válasz Fferi50 #24189 üzenetére
Igen, ez a "belelátós" módszer a 3D-s névvel (nem tudtam hogy így hívják) valóban működik (és én is pont ezt szeretném, és így is csináltam), de csak amíg be nem zárom a file-t. A legközelebbi megnyitáskor viszont rákérdez, hogy frissítse-e a hivatkozásokat, és ha ekkor nincs megnyitva a hivatkozott file, már HIV! lesz a hivatkozás értéke.
Gondolom pont ezért csinálod, hogy behelyettesíted az értékével.Viszont mi van, ha időközben megváltozott az az érték? Pont ez lenne egy hivatkozás értelme, hogy mindig a aktuális értéket tartalmazza. Pl. minden megnyitáskor újrafrissítem ezeket makróból?
[ Szerkesztve ]
Megbízhatóságom: http://phmegbizhatosag.atw.hu/phtabla.php?nev=Wyll
-
Wyll
őstag
Először is nagyon köszönöm az eddigi segítséget, ami itt kaptam, főleg Delila-tól és Fferi-től, sokat segítettetek!
Most újabb kérdésem volna, vajon miért dob hibát erre a soromra:
y = Range("rel_ev")
y az egy Long, rel_ev pedig egy név, mégpedig relatív:
=ÉV(Munka1!$G19)G19-ben pedig egy dátum van. Azazhogy minden sor G oszlopában egy dátum van.
[ Szerkesztve ]
Megbízhatóságom: http://phmegbizhatosag.atw.hu/phtabla.php?nev=Wyll
-
Wyll
őstag
válasz ritterkrisz #24241 üzenetére
ÖSSZEFŰZ() függvény, vagy az ezzel egyenértékű & operátor.
Megbízhatóságom: http://phmegbizhatosag.atw.hu/phtabla.php?nev=Wyll
-
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
-
Wyll
őstag
válasz Delila_1 #24268 üzenetére
É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
-
Wyll
őstag
válasz Delila_1 #24273 üzenetére
Mégis meg lehet csinálni egyetlen szabállyal!!!!!!!!
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
-
Wyll
őstag
válasz Delila_1 #24276 üzenetére
[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)>=4Bá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
[ Szerkesztve ]
Megbízhatóságom: http://phmegbizhatosag.atw.hu/phtabla.php?nev=Wyll
-
Wyll
őstag
válasz Delila_1 #24282 üzenetére
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
-
Wyll
őstag
válasz LordVader80 #24284 üzenetére
Pont így gondoltam én is! Örülök, hogy sikerült!
Megbízhatóságom: http://phmegbizhatosag.atw.hu/phtabla.php?nev=Wyll
-
Wyll
őstag
válasz Fferi50 #24288 üzenetére
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
[ Szerkesztve ]
Megbízhatóságom: http://phmegbizhatosag.atw.hu/phtabla.php?nev=Wyll
-
Wyll
őstag
válasz Fire/SOUL/CD #24290 üzenetére
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
-
Wyll
őstag
válasz Fire/SOUL/CD #24292 üzenetére
[ Szerkesztve ]
Megbízhatóságom: http://phmegbizhatosag.atw.hu/phtabla.php?nev=Wyll
-
Wyll
őstag
válasz Fire/SOUL/CD #24294 üzenetére
Az előző képet még a melóban csináltam. De nyugodtan elhiheted, hogy ott is csak két név volt
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
-
Wyll
őstag
válasz Fferi50 #24296 üzenetére
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 )
Megbízhatóságom: http://phmegbizhatosag.atw.hu/phtabla.php?nev=Wyll
-
Wyll
őstag
válasz bumlet #24302 üzenetére
Ehhez kelleni fog egy segédoszlop, ugyanis önmagában nem lehet egy cellából (VBA nélkül) kivenni az abban lévő képletet. A formulák csak más formulák eredményeivel tudnak dolgozni, magukkal a más formulákkal nem.
A segédoszlop kezdődjön mondjuk Munka2!A1-ben. Ez tartalmazza a kívánt sor számát (akár képlettel kiszámolva, akár kézzel beírva, nem tudom, hogy hogyan keletkezteted), és innen már adja magát a dolog:
Munka2!A2 képlete: =A1+1
Ezt lehúzhatod, ameddig akarod, egy szép növekvő számsort fogsz kapni A1 értékétől kezdődően.Mellé a B oszlopba meg lehet írni a hivatkozást, ami ezeket a számokat használja fel:
Munka2!B1 képlete: =INDIREKT("Munka1!A"&A1)
Ezt lehúzod az A oszlop mellé, és kész.Ezután az A oszlopot akár el is rejtheted, habár módosítani mindig az A1-et kell majd. De persze ez is kikerülhető, ha a kezdőszámot egy látható cellába teszed, és A1 arra hivatkozik. Ez már csak esztétika.
[ Szerkesztve ]
Megbízhatóságom: http://phmegbizhatosag.atw.hu/phtabla.php?nev=Wyll
-
Wyll
őstag
Ha már volt szó feltételes formázásról, itt van egy érdekes feladat, amire én hirtelen nem tudok megoldást:
Egy kép többet mond ezer szónál:
A lényeg, hogy különböző számban lehetnek egymás alatt azonos tartalmú cellák, és a változó méretű de azonos tartamú "szakaszokat" kéne felváltva színezni, hogy elkülönüljenek egymástól. Ja, és persze VBA nélkül, mert "úgy túl könnyű lenne" - szóval persze sejtem, hogy vba-val meg lehet csinálni, de engem az érdekel, hogy elvileg egy mezei (non-VBA) user is meg tudná-e csinálni.
A hiányosság amúgy szerintem abban áll, hogy a formázásra nem lehet forrást megadni. Ha lehetne, akkor így lehetne okoskodni: "amennyiben a tartalmam egyenlő a felettem lévőével, akkor a formázásom is legyen azonos; ha nem akkor pl. egy megadott mintacelláéval egyezzen meg". A jelen körülmények között annyit lehet szerintem csinálni, hogy a szakaszok első elemét különböző színűvé tudom tenni, de nem az egész szakaszt.
Várom a meglátásokat
[ Szerkesztve ]
Megbízhatóságom: http://phmegbizhatosag.atw.hu/phtabla.php?nev=Wyll
-
Wyll
őstag
Erre az érdekes problémára valakinek ötlet?
Megbízhatóságom: http://phmegbizhatosag.atw.hu/phtabla.php?nev=Wyll
-
Wyll
őstag
válasz m.zmrzlina #24453 üzenetére
Az elnevezett tartományokkal nagyon vigyázz, amennyiben nem kizárólag abszolút ($-os) hivatkozás(oka)t tartalmaznak!
Amúgy semmi különbség nincs ahhoz képest, mint ahogy a saját munkalapon csinálnád:
írod szépen a képletet, majd amikor kell a másik munkafüzet, átkattintasz rá, F3, kijelölöd a nevet, enter, majd visszakattintasz a függvényedhez, és írod szépen tovább.Szintaktikailag ugyanúgy kell írni, mintha egy cellahivatkozás lenne, nem kell idézőjel meg semmi, a másik file neve persze itt is szögletes zárólejben van, ahogy mindig.
Amúgy meg google.[ Szerkesztve ]
Megbízhatóságom: http://phmegbizhatosag.atw.hu/phtabla.php?nev=Wyll
-
Wyll
őstag
válasz m.zmrzlina #24455 üzenetére
Akkor sorry, nem találkoztam még ilyennel, hogy miért tiltódik le a névkezelés...
Megbízhatóságom: http://phmegbizhatosag.atw.hu/phtabla.php?nev=Wyll
-
Wyll
őstag
Beállítok egy változót, hogy a makrómat is tartalmazó, éppen aktív, kiinduló workbook egyik sheet-jére mutasson:
Set mysheet = ActiveSheet
Utána valamivel megnyitok egy másik file-t, innentől persze ez lesz az aktív. A kódnak ebben a részében használhatom-e a mysheet változót (objektumot), és az mire fog mutatni? Csak mert nekem hibát dob, és nem értem miért.. Én azt gondolom/szeretném, hogy a kiinduló file-om megfelelő sheetjére mutasson.
[ Szerkesztve ]
Megbízhatóságom: http://phmegbizhatosag.atw.hu/phtabla.php?nev=Wyll
-
Wyll
őstag
Sziasztok!
Van kezdetben egy főlap munkalapom, és egy BASIC munkalapom.
A főlap segítségével a júzer létre fogja hozni egyenként a BASIC munkalap sok-sok másolatát, mindet egy-egy egyedi névre átnevezve, és a főlapra ezen egyedi lapok bizonyos cellái be lesznek linkelve.
A BASIC lapon elég sok összetett képlet van, így annak másolatain is elég sok összetett képlet lesz.
Továbbá a BASIC laphoz tartozik még egy tonna bonyolultan definiált név is (amiket a képletek használnak), amik Munkalap szintűek, így aztán minden egyes másolathoz is tartozni fog egy-egy tonna, az adott másolatra érvényes név is.
Namost tesztelgetés közben azt vettem észre, hogy már 10 lap körül is igencsak érezhetően belassul egy-egy ilyen másolatnak a létrehozása. Ez nem túl biztató, mivelhogy az a terv, hogy nagyságrendileg 150 ilyen másolatot akar majd a júzer összesen létrehozni...
A file mérete ránézésre nem tűnik vészesnek, 510kB. Viszont a megnyitása már most is tart vagy 20-30 másodpercig.
A kérdésem, hogy mennyire bölcs dolog így ez az egész konstrukció?
Megáll-e a lassulás egy elfogadható szinten, vagy lineárisan, netán exponenciálisan csak romlani fog?Megbízhatóságom: http://phmegbizhatosag.atw.hu/phtabla.php?nev=Wyll
-
Wyll
őstag
Sziasztok!
Elég fontos volna. Hogyan lehet VBA-ban ezt megcsinálni:
Szerintem így:
dstbook.Worksheets(1).Range("KELL").Copy
srcbook.Activate
kitoltendo.Select
ActiveSheet.PasteSpecial link:=True
Application.CutCopyMode = FalseCsakhogy így nekem marhára nem cellahivatkozások jönnek létre. Pedig azt szeretnék.
[ Szerkesztve ]
Megbízhatóságom: http://phmegbizhatosag.atw.hu/phtabla.php?nev=Wyll
-
Wyll
őstag
válasz Fferi50 #24876 üzenetére
Hmm, jó ötlet, nem tudtam, hogy a Range-nek address property-je is van
Valószínűleg csak otthon fogom tudni kipróbálni, ezért addig is egy kérdés:"kitoltendo" és "KELL" ugyanolyan alakú, sokcellás (1sor magas, 25 cella széles) range-ek.
A copy-paste ehhez pont jó, mert a "kitoltendo" összes celláját beállítja, de van egy olyan érzésem, hogy a kitoltendo.formula -ra ez már nem lesz így igaz, hanem egyenként kell beállítanom... Egyetértesz? Ha igen, hogy csinálnád?Amúgy(1): az enyém vajon miért nem működik?
Amúgy(2): itt van egy csávó, aki azt állítja, hogy bármennyire is furcsa, PasteSpecial helyett simán elég volna Paste-t használnom. Nyilván kipróbáltam, de így sem ment... Szerinted (is) hülyeség? Ha igen, akkor megy neki a mínuszpont
[ Szerkesztve ]
Megbízhatóságom: http://phmegbizhatosag.atw.hu/phtabla.php?nev=Wyll