-
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
-
KaliJoe
csendes tag
Tisztelt Szakértők és / vagy Fórumozók
Az alábbi problémában keresem a megoldást és kérem a segítségeteket. Excel tábla egyik oszlopa folyamatosan tartalmazza a dátumokat (2014-12-01, 2014-12-02, 2014-12-03). Minden dátumhoz tartozik egy napi "munkaidő". Ezeket szeretném havi szinten összegezni. Egy oszlopban csak akkor akarom megjeleníteni, a számítást, ha éppen hóvége van vagy a legutolsó hóvégi összesítéstől még nem telt el egész hónap (törthónap összesítő). Ezt a problémát már megoldottam. Avval is tudok majd kezdeni valamit, ha még nincs minimum 28 napnyi információ.
Viszont sehogy sem boldogulok, az összegzéssel. Nem tudom megkeresni a hónap elejét (ami ????-??-01 lenne minden esetben), de sosem tudhatom, h hol van a táblában. Nem tudom ugyanis a dátumértéket, amelyet a fenti formátumban jelenítek meg megkeresni, illetve annak a 01-es napját.)
Lehet, hogy nem túl jól tudtam elmagyarázni, de elég bonyolult az ügy. FKERES, HOL.VAN és egyéb kereső függvényekkel próbálkoztam, de mindig ugyanabba a problémába ütközöm: a dátumértékre nem tudok keresni..., annak szöveges átalakítása után sem találja meg...Frazeológiám: Az ember nem kávéra, nem is kávéházra vágyik, az ember lelke barátra vágyik, a kávé csupán ürügy... :-) ;)
-
KaliJoe
csendes tag
válasz slashing #24682 üzenetére
Azt gondolom, h legjobb, ha megmutatok két részletet a táblából.
Tehát a probléma az, hogy a B oszlopban "látható" dátum, csak megjelenítés szempontjából ilyen, mivel normálisan dátumérték.
Frazeológiám: Az ember nem kávéra, nem is kávéházra vágyik, az ember lelke barátra vágyik, a kávé csupán ürügy... :-) ;)
-
KaliJoe
csendes tag
válasz slashing #24686 üzenetére
Nem teljesen látom a választ... kérlek kicsit részletezd.
Másrészről: A képletben nem tudok konkrét dátumot megadni. A képletemben az előző 31 nap (31 sor) közül kell megtalálnom a hónap elsejét... bármi -01-et --> ????-??-01-et!
Frazeológiám: Az ember nem kávéra, nem is kávéházra vágyik, az ember lelke barátra vágyik, a kávé csupán ürügy... :-) ;)
-
KaliJoe
csendes tag
válasz KaliJoe #24687 üzenetére
Kipróbáltam... Jónak tűnik..., de... még mindig nem tudom, hogyan adjam meg a DÁTUM függvényben, h tetszőleges év, tetszőleges hónap, elseje legyen.
Erre van ötlet?
Frazeológiám: Az ember nem kávéra, nem is kávéházra vágyik, az ember lelke barátra vágyik, a kávé csupán ürügy... :-) ;)
-
KaliJoe
csendes tag
válasz slashing #24690 üzenetére
Igen. Amit leírtál az igaz. Hiszen így állítottam be, h a hónap napjain üres legyen a mező, kivéve a végét.
Azonban sajnos, ez nem a teljes megoldás. Mivel a hónapok változó hosszúak és 28 naptól 31 napig bármilyen hosszúságúak lehetnek, mindig meg kell tudom adni a hónap elejét, h onnan kezdődjön az összegzés... anélkül, hogy tudnám, éppen milyen hónap van, 28-as, 29-es, 30-as, vagy 31-es?
Hát a probléma tulajdonképpen ez. Nem tudom mihez kötni, és megtalálni a hónap elejét.
Frazeológiám: Az ember nem kávéra, nem is kávéházra vágyik, az ember lelke barátra vágyik, a kávé csupán ürügy... :-) ;)
-
KaliJoe
csendes tag
válasz slashing #24692 üzenetére
Tisztelt Slashing,
Köszönöm a megoldást. Azonban Delila megoldása (meg közben a sajátom) jobbnak tűnik és eddig nem is találtam benne hibát.
Rövidesen közreadom a saját megoldásom.
Frazeológiám: Az ember nem kávéra, nem is kávéházra vágyik, az ember lelke barátra vágyik, a kávé csupán ürügy... :-) ;)
-
KaliJoe
csendes tag
válasz Delila_1 #24695 üzenetére
Kedves Delila_1,
Szuper a megoldásod. Tetszik. Igazán.
Azonban ezen a nyomon elindulva nekem olyan kell, ahol segédoszlopokat sem kell használnom.
Épp azon dolgozom, h olyan általános megoldás legyen, amely akkor is - #HIV - hiba nélkül működik, ha még a rekordok száma nem érte el a 31-et, mert ennél kevesebb adatnál a direkt címzés gondot okoz.
Addig is ide írom azt a megoldást, ami 31 sornál és annál többre már kitűnő:=HA(VAGY(ÜRES(A32);B31=HÓNAP.UTOLSÓ.NAP(B31;0));SZUMHATÖBB(H1:H31;B131;">=" & DÁTUM(ÉV(B31);HÓNAP(B31);1);B131;"<=" & DÁTUM(ÉV(B31);HÓNAP(B31);NAP(B31)));"")
Frazeológiám: Az ember nem kávéra, nem is kávéházra vágyik, az ember lelke barátra vágyik, a kávé csupán ürügy... :-) ;)
-
KaliJoe
csendes tag
válasz Delila_1 #24700 üzenetére
Programkód :-)
Akkor még egyszer konvertálatlanul:
=HA(VAGY(ÜRES(A35);B34=HÓNAP.UTOLSÓ.NAP(B34;0));SZUMHATÖBB(H4:H34;B4:B34;">=" & DÁTUM(ÉV(B34);HÓNAP(B34);1);B4:B34;"<=" & DÁTUM(ÉV(B34);HÓNAP(B34);NAP(B34)));"")
Frazeológiám: Az ember nem kávéra, nem is kávéházra vágyik, az ember lelke barátra vágyik, a kávé csupán ürügy... :-) ;)
-
KaliJoe
csendes tag
válasz Delila_1 #24705 üzenetére
Nem. A DÁTUM függvény 3 paramétert vár, DÁTUM(év;hónap;nap) formában.
Most azzal küzdök, h tömbhivatkozást hozzak létre az INDIREKT függvénnyel, de valamit nem úgy csinálok, ahogy elvárja.
=CÍM(4;8;1;1) - OK
=CÍM(SOR(B33);8;1;1) - OK
=INDIREKT(CÍM(4;8;4;1)&":"&CÍM(SOR(B33);8;4;1);IGAZ) - Nem OK. #ÉRTÉK! hibát ad.Ötlet?
Frazeológiám: Az ember nem kávéra, nem is kávéházra vágyik, az ember lelke barátra vágyik, a kávé csupán ürügy... :-) ;)
-
KaliJoe
csendes tag
válasz KaliJoe #24706 üzenetére
A kész és teljes megoldás, amely bármelyik sorban, bármennyi adatsor esetén alkalmazható:
=HA(VAGY(ÜRES(A5);B4=HÓNAP.UTOLSÓ.NAP(B4;0));SZUMHATÖBB(INDIREKT(CÍM(4;8;4;1);IGAZ):INDIREKT(CÍM(SOR(B4);8;4;1);IGAZ);INDIREKT(CÍM(4;2;4;1);IGAZ):INDIREKT(CÍM(SOR(B4);2;4;1);IGAZ);">=" & DÁTUM(ÉV(B4);HÓNAP(B4);1);INDIREKT(CÍM(4;2;4;1);IGAZ):INDIREKT(CÍM(SOR(B4);2;4;1);IGAZ);"<=" & DÁTUM(ÉV(B4);HÓNAP(B4);NAP(B4)));"")
Köszönöm a segítségeteket... Nélkületek nem ment volna!
Kellemes Karácsonyi Ünnepeket kívánok!
Frazeológiám: Az ember nem kávéra, nem is kávéházra vágyik, az ember lelke barátra vágyik, a kávé csupán ürügy... :-) ;)
-
KaliJoe
csendes tag
válasz slashing #24703 üzenetére
Tisztelt Slashing,
Nekem olyan képlet kellett, amely korlátlanul bővíthető. Makróból soronként / blokkonként bővítem az adatbázist adatokkal, így az alkalmas megoldásban nem lehetett manuálisan beírandó rész, vagy olyan, aminek előbb utóbb elfogy a hatóköre.
Frazeológiám: Az ember nem kávéra, nem is kávéházra vágyik, az ember lelke barátra vágyik, a kávé csupán ürügy... :-) ;)
-
KaliJoe
csendes tag
válasz slashing #24709 üzenetére
Egy még pontosabb verzió:
=HA(VAGY(ÜRES(A5);B4=HÓNAP.UTOLSÓ.NAP(B4;0));SZUMHATÖBB(INDIREKT(CÍM(HA(SOR(B4)>35;SOR(B4)-31;4);8;4;1);IGAZ):INDIREKT(CÍM(SOR(B4);8;4;1);IGAZ);INDIREKT(CÍM(HA(SOR(B4)>35;SOR(B4)-31;4);2;4;1);IGAZ):INDIREKT(CÍM(SOR(B4);2;4;1);IGAZ);">=" & DÁTUM(ÉV(B4);HÓNAP(B4);1);INDIREKT(CÍM(HA(SOR(B4)>35;SOR(B4)-31;4);2;4;1);IGAZ):INDIREKT(CÍM(SOR(B4);2;4;1);IGAZ);"<=" & DÁTUM(ÉV(B4);HÓNAP(B4);NAP(B4)));"")
Frazeológiám: Az ember nem kávéra, nem is kávéházra vágyik, az ember lelke barátra vágyik, a kávé csupán ürügy... :-) ;)
-
KaliJoe
csendes tag
válasz Delila_1 #24712 üzenetére
Kedves Delila_1,
Köszönöm, kipróbáltam az Általad ajánlott verziót is. Működik és jó, de nekem akkor is "meg kell szólaljon" az összegzés, és akkor is csak az utolsó hónapra nézve, ha az utolsó rekord van éppen az adatbázisban. Tehát a teljes hónapokon túl, az éppen aktuális hónap törtrészét is megjeleníti.
Ezért igazítottam úgy a képletet, h max 31 nappal előtti időktől kezdve kezdje a feltételes összegzést.Frazeológiám: Az ember nem kávéra, nem is kávéházra vágyik, az ember lelke barátra vágyik, a kávé csupán ürügy... :-) ;)
-
KaliJoe
csendes tag
válasz tgumis #24731 üzenetére
Szia TGumis,
Igen tudja az Excel, csak kicsit trükközni kell. Először is biztosnak kell lenned benne, h az adataid (ahol a keresést végzed sorba rendezettek - ez az FKERES, VKERES függvény miatt fontos). Azon felül, meg ha megtaláltad az első adatot, annak sorát (oszlopát) felhasználva Attól kezdve kell "újraindítani" a keresést. Így makró nélkül is meg tudsz keresni több adatot.
Frazeológiám: Az ember nem kávéra, nem is kávéházra vágyik, az ember lelke barátra vágyik, a kávé csupán ürügy... :-) ;)
-
KaliJoe
csendes tag
válasz tgumis #24735 üzenetére
Szia TGumis,
Igen úgy is lehet. Viszont mutatok egy másik megoldást is. Ahol INDEX és HOL.VAN függvények segítségével áll elő a megoldás:
L3 tartalma: =INDEX($A$1:$F$84;HOL.VAN($M3;N$3:N$15;0)*7-5;2)
L4 tartalma: =INDEX($A$1:$F$84;HA(M4<>M3;HOL.VAN($M4;N$3:N$15;0)*7-5;(HOL.VAN($M3;N$3:N$15;0)+HOL.VAN($M4;INDIREKT(CÍM(3+HOL.VAN($M3;N$3:N$15;0);14;2;IGAZ)&":N$15");0))*7-5);2)
L5 tartalma: =INDEX($A$1:$F$84;HA(M5<>M4;HOL.VAN($M5;N$3:N$15;0)*7-5;(HOL.VAN($M4;N$3$15;0)+HOL.VAN($M5;INDIREKT(CÍM(3+HOL.VAN($M4;N$3$15;0);14;2;IGAZ)&"$15");0))*7-5);2)
M3 tartalma: =NAGY(N$3:N$14;1)
M4 tartalma: =NAGY(N$3:N$14;2)
M5 tartalma: =NAGY(N$3:N$14;3)Csatolom a megoldásom képét is segítségül, hogy könnyebb legyen érteni, hogyan ismétlődnek az értékeim. A hivatkozott cellákban és tartományokban a sorba rendezett adatok vannak.
Frazeológiám: Az ember nem kávéra, nem is kávéházra vágyik, az ember lelke barátra vágyik, a kávé csupán ürügy... :-) ;)
-
KaliJoe
csendes tag
válasz Fferi50 #24738 üzenetére
Tisztelt Fferi50,
A véleményednek ellentmondani látszik a Microsoft által az Excel FKERES függvényéhez kiadott leírás. Idézem:
Szintaxis
VLOOKUP(lookup_value, table_array, col_index_num, [range_lookup])Az FKERES függvény szintaxisa az alábbi argumentumokat (argumentum: Érték, amely egy művelethez, eseményhez, metódushoz, tulajdonsághoz, függvényhez vagy eljáráshoz biztosít információt.) foglalja magában:keresési_érték: Kötelező megadni. A táblázat vagy tartomány első oszlopában keresendő érték. A keresési_érték érték vagy hivatkozás is lehet. Ha a keresési_érték kisebb, mint a tábla első oszlopának legkisebb értéke, akkor az FKERES a #HIÁNYZIK hibaértéket adja eredményül.
Tábla: Kötelező megadni. Az adatokat tartalmazó cellatartomány. A tábla argumentum lehet tartomány (például A28) vagy egy tartomány neve. A tábla első oszlopában lévő értékek a keresési_érték argumentum szerint keresett értékek. Ezek az értékek lehetnek szövegek, számok vagy logikai értékek. A függvény a kis- és nagybetűk között nem tesz különbséget.
Oszlop_szám: Kötelező megadni. A tábla azon oszlopának a táblán belüli sorszáma, amelyből az eredményt meg kívánja kapni. Ha az oszlop_szám értéke 1, akkor a tábla első oszlopában lévő értéket kapja eredményül, ha az oszlop_szám értéke 2, akkor a tábla második oszlopában lévő értéket, és így tovább.
Ha az oszlop_szám értéke:Egynél kevesebb, az FKERES függvény az #ÉRTÉK! hibaértéket adja eredményül.
Nagyobb, mint a tábla argumentum szerint az oszlopok száma, akkor az FKERES a #HIV! hibaértéket adja eredményül.
Tartományban_keres: Logikai érték, amellyel az FKERES függvényhez pontos vagy közelítő keresést írhat elő:
Ha a tartományban_keres értéke IGAZ vagy hiányzik, akkor a visszaadott érték közelítő lehet, azaz ha pontos egyezést nem talált a függvény, akkor a következő legnagyobb, de a keresési_érték argumentumnál kisebb értéket adja vissza.
Fontos: Ha a tartományban_keres értéke IGAZ vagy hiányzik, a tábla első oszlopában lévő értékeknek növekvő sorrendben kell elhelyezkedniük, különben az FKERES hibás eredményt adhat.További tudnivalókat az Adatok rendezése tartományban vagy táblázatban című témakör tartalmaz.
stb. stb...Frazeológiám: Az ember nem kávéra, nem is kávéházra vágyik, az ember lelke barátra vágyik, a kávé csupán ürügy... :-) ;)
-
KaliJoe
csendes tag
válasz slashing #24741 üzenetére
Sziasztok Fferi50 és Slashing,
Az eredeti kérdés arról szólt, h több egyezést keres a kérdező... Így ha evvel a függvénnyel akarná megkeresni - még pontos egyezésre is - tapasztalatom szerint, érdemes sorba rendezett adatokkal dolgoznia.
Én az eredeti feladatból indultam ki.
Frazeológiám: Az ember nem kávéra, nem is kávéházra vágyik, az ember lelke barátra vágyik, a kávé csupán ürügy... :-) ;)
-
KaliJoe
csendes tag
válasz DrojDtroll #24753 üzenetére
Szia DrojDtroll,
Ehhez a témához egy kérdés: Sima ügy felosztom - függőleges osztóval - a nagyméretű táblámat. Szeretném A-tól J-ig a baloldalon görgetni (függőleges irányba), míg K-tól szeretném, ha a tetején (vagy egy tetszőleges ponton) hagyni. Nekem viszont nem görgeti külön, hanem EGYÜTT. Megőrjít. Kell még azon kívül tenni valamit, h felosztom?
Frazeológiám: Az ember nem kávéra, nem is kávéházra vágyik, az ember lelke barátra vágyik, a kávé csupán ürügy... :-) ;)
-
KaliJoe
csendes tag
válasz slashing #24756 üzenetére
Szia Slashing,
Jah, de akkor meg váltogatni kell két ablak között. Nem jó megoldás. Olyan kell, h egy ablakon belül külön görgethető két nézet...
De, ha Neked sem megy, akkor meg vagyok nyugodva... h nem én nem csináltam meg valamit, amit meg kellene, h úgy működjön.Jó éjszakát...
Frazeológiám: Az ember nem kávéra, nem is kávéházra vágyik, az ember lelke barátra vágyik, a kávé csupán ürügy... :-) ;)
-
KaliJoe
csendes tag
válasz felora:) #24759 üzenetére
Szia felora ,
A B oszlopba csinálj Választéklistát, az Adatok érvényesítése segítségével. Ott válaszd a listából opciót, és a munkalap egy megfelelő részén hozd létre a kételemű listádat (Igen / Nem) elemekkel.
[ Szerkesztve ]
Frazeológiám: Az ember nem kávéra, nem is kávéházra vágyik, az ember lelke barátra vágyik, a kávé csupán ürügy... :-) ;)
-
KaliJoe
csendes tag
Sziasztok,
Kinek milyen ötlete van arról, h valamit az Excel megcsinál normál cellás képletben, és ugyanazt nem teszi VBE-ben?
Mutatom a kódsorokat:
Cellás: =MARADÉK((MOST()-CSONK(MOST();0))*24;1)*60 , ami kitűnően kiszámolja egy adott időpillanatban a percek számát.
VBE-s:
byt_ElemÉrkÓra = Fix((Now - Fix(Now)) * 24)
byt_ElemÉrkPerc = (((Now - Fix(Now)) * 24) Mod 1) * 60
byt_ElemTávÓra = Fix((Now - Fix(Now)) * 24 + 1 / 3)
byt_ElemTávPerc = (((Now - Fix(Now)) * 24) Mod 1) * 60
ebben a kódrészletben azonban nem hajlandó a perceket helyesen számolni. Az órák rendben, a percek viszont nullázódnak, mivel a MOD osztás eredménye eleve 0 lesz. Utána már hiába szorzom 60-nal.Ötleteket kérek. Ha nincs ötlet, h miért különbözik a megoldás, akkor áthidaló, vagy megkerülő ötleteket várok!
Köszönöm.[ Szerkesztve ]
Frazeológiám: Az ember nem kávéra, nem is kávéházra vágyik, az ember lelke barátra vágyik, a kávé csupán ürügy... :-) ;)
-
KaliJoe
csendes tag
válasz slashing #24790 üzenetére
Szia Slashing,
Mert egyébként Egy Combobox Value tagjának kell átadnom az értéket. Szóval számolni kell, és VBE-n belül.
Az Excelles verziót a képlet kidolgozásához segédeszközül használtam.Frazeológiám: Az ember nem kávéra, nem is kávéházra vágyik, az ember lelke barátra vágyik, a kávé csupán ürügy... :-) ;)
-
KaliJoe
csendes tag
Sziasztok,
Tudtok jó megoldást arra, hogy hogyan lehet ciklusból megcímezni 24 különböző CheckBoxot, amelyek neve csak egy sorszámban tér el? A CheckBoxok egy Frame-ben belül vannak.
A cél, h egy cellákban adott listából feltöltsem a CheckBoxNN.Caption tulajdonságát.Ahová be akarom tölteni programból:
Vagy csak manuálisan lehet az értékeket megadni? Emigyen:
ChboxNév01.Caption = Worksheets("Személylap").Cells(byt_AktuálisSor, "B").Value ,
helyett
ChboxNév01.Caption = Worksheets("Személylap").Cells(2, "B").Value
ChboxNév02.Caption = Worksheets("Személylap").Cells(3, "B").Value
ChboxNévNN.Caption = Worksheets("Személylap").Cells(xx, "B").Value[ Szerkesztve ]
Frazeológiám: Az ember nem kávéra, nem is kávéházra vágyik, az ember lelke barátra vágyik, a kávé csupán ürügy... :-) ;)
-
KaliJoe
csendes tag
Kedves Blogozók,
Én még csak újonc vagyok itt és éppen csak néhány napja csatlakoztam Hozzátok, de nagyon meglepett az a kedves hozzáállás, amivel egymás (köztük az én) problémái(m) iránt viseltettek. Magam is ilyen gondolkodásúnak tartom magam, úgyhogy nagyon örülök, hogy köztetek lehetek!
Evvel az üzenettel és képpel kívánok Boldog Új Esztendőt, és köszönöm meg értékes segítségeteket.
Frazeológiám: Az ember nem kávéra, nem is kávéházra vágyik, az ember lelke barátra vágyik, a kávé csupán ürügy... :-) ;)
-
KaliJoe
csendes tag
Sziasztok,
Van egy felsorolásom, amelyik a hét napjait tartalmazza, magyarul.
Van egy űrlapon két Combobox-om, amelyek .Value paraméteit a felhasználó állítgatja, természetesen a hét számát választja ki az egyikkel és a hét napját a másikkal.A problémám akkor keletkezik, amikor vissza akarom fejteni ezeket az adatokat újra dátummá, vagy dátumértékké, emígyen:
dat_BeírandóDátum = DateAdd("n", (CBox_Hét.Value - 1) * 7 + CBox_NapNeve.Value, Date)
vagy emígyen:
dat_BeírandóDátum = DateAdd("n", (CBox_Hét.Value - 1) * 7 + enu_HétNapja = CBox_NapNeve.Value, Date)
Miközben enu_HétNapja tökéletesen tudja (és értéket is rendel a hét napjaihoz), hogy mennyit ér mondjuk 'péntek', ahogy ezt az alábbi kép is mutatja:Persze, arra is rájöttem, h enu_HétNapja = CBox_NapNeve.Value összefüggésre max. egy False válaszra méltat az Interpreter... mivel:
... és közben CBox_NapNeve.Value típusa karakterlánc (magától értetődően), amikor nekem számot kellene az összeadásba adnom... :-(
Tehát a kérdésem az, h hogyan kellene helyesen megfogalmazni a fentiekben Látható sort VBE módra, hogy az összefüggés helyesen adja az éven belül eltelt napok függvényében a dátumot?[ Szerkesztve ]
Frazeológiám: Az ember nem kávéra, nem is kávéházra vágyik, az ember lelke barátra vágyik, a kávé csupán ürügy... :-) ;)
-
KaliJoe
csendes tag
Sziasztok,
Írok egy jelenléti ív programot. Oda jutottam, hogy egy újabb vizsgálatnál ki akarom íratni a dolgozó teljes nevét. Ehhez most éppen a rövid név áll rendelkezésemre, ami egyezik a dolgozó jelenléti adatait nyilvántartó Munkalap nevével. Viszont a beírt VBE sor hibára fut. Megnéztem előtte sima képlettel ott rendben van. Az adatok:
Az Excel sor: =INDEX(Személylap!B2:K25;HOL.VAN("KalinaJL_1";Személylap!K2:K25;0);1)
A VBE sor kiemelve a kódrészlettel:
For Each wsh_DolgozóRövidNév In Worksheets
If dat_BeírandóDátum <= Worksheets(wsh_DolgozóRövidNév.Name).Cells(Worksheets(wsh_DolgozóRövidNév.Name).Cells(1, 1).Value, const_DolgozóNévOszlop).Value Then
int_Válasz = MsgBox("A kiválasztott" & Chr(10) & Chr(13) & _
Chr(9) & WorksheetFunction.Index(const_SzemélylapAdatbázis, WorksheetFunction.Match(wsh_DolgozóRövidNév.Name, const_SzemélylapRövidNévOszlop, 0), 1) & Chr(10) & Chr(13) & _
"nevű dolgozó adatbázisában későbbi időpont az utolsó bejegyzés, mint az Általad választott dátum. Akarod felülírni az űrlapon megadott információkkal az adatbázisban lévőt illetve beszúrni, ha nem létezik bejegyzés erre a dátumra?", _
vbQuestion + vbYesNo + vbDefaultButton2, "Felülírás-Beszúrás?")
If int_Válasz = vbYes Then
bol_Beszúrás = True
ElseIf int_Válasz = vbNo Then
Exit Sub
Else
'Úgy vesszük, mintha Nemet mondott volna = Visszalépés az űrlaphoz, hogy módosíthasson
Exit Sub
End If
End If
Next wsh_DolgozóRövidNévA piros rész dob hibát, miközben, az értékeket rendesen tudja:
A hibaüzenet:
Kinek, mi az ötlete, mi lehet a gond? És, főleg, mi lehet a megoldás?
Frazeológiám: Az ember nem kávéra, nem is kávéházra vágyik, az ember lelke barátra vágyik, a kávé csupán ürügy... :-) ;)
-
KaliJoe
csendes tag
Sziasztok,
Ki tudja, hogyan lehet érvényes formában speciális karaktereket bevinni makróba, úgy, hogy végül képletté lehessen átadni. Valahogy így:
...
str_COszlop = "=SZÖVEG(B" & Trim(str(lng_AktuálisSor)) & ";""nnnn"")"
...
Worksheets(str_DolgozóRövidNév).Range("C" & Trim(str(lng_AktuálisSor))).Formula = str_COszlop
...
vagy
str_HOszlop = "=HA(VAGY(E" & Trim(str(lng_AktuálisSor)) & "=0;D" & Trim(str(lng_AktuálisSor)) & "=0);0;(E" & Trim(str(lng_AktuálisSor)) & "-D" & Trim(str(lng_AktuálisSor)) & ")-G" & Trim(str(lng_AktuálisSor)) & ")"
...
Worksheets(str_DolgozóRövidNév).Range("H" & Trim(str(lng_AktuálisSor))).Formula = str_HOszlop
...
Az első példa tartalmaz olyan részletet, ahol " idézőjelet kellene bevinnem. Nem tudom, az helyes-e így, mindenesetre szintaktikailag nem minősíti hibának, evvel még elindul.
A második példa nem tartalmaz speciális karaktert... mégis azonos az eredmény, futás közbeni hibára fut, miszerint "Application-defined or object-defined error"...Szóval, ki-mit-tud képletbevitel témában?
Ui.: Csak string képletek beírásával van bajom, a számokat tartalmazó képlet hibátlanul átmegy.
Frazeológiám: Az ember nem kávéra, nem is kávéházra vágyik, az ember lelke barátra vágyik, a kávé csupán ürügy... :-) ;)
-
KaliJoe
csendes tag
Sziasztok,
Tud valaki trükköt vagy konkrét parancsot, amivel egy VBE makróban kijelölt (pl. Bármi.Select - tel kiválasztott) és / vagy beillesztett cellamegjelöléseket le lehet venni a cellákról? Vagyis olyan mintha ki lenne jelölve, aztán ESC gombot nyomna a felhasználó...
Ötlet? Parancs? Trükk?
[ Szerkesztve ]
Frazeológiám: Az ember nem kávéra, nem is kávéházra vágyik, az ember lelke barátra vágyik, a kávé csupán ürügy... :-) ;)
-
KaliJoe
csendes tag
válasz Delila_1 #24902 üzenetére
Szia Delila_1,
Köszönöm. Azt hiszem erre gondoltam... Viszont, nem csak a Copy kijelölést kellene levenni, hanem a beillesztés kijelölését is!
Erre mi a helyes parancs?
Frazeológiám: Az ember nem kávéra, nem is kávéházra vágyik, az ember lelke barátra vágyik, a kávé csupán ürügy... :-) ;)
-
KaliJoe
csendes tag
Szia kymco,
Ha a verbális erőszakot nem akarod, akkor próbálkozhatsz a fizikaival is. Lehet gyorsabb megoldás!
Képletben:
...
For Each str_Dolgozó as wsh_DolgozókNeve
If "verbális erőszak"<>"Eredmény" then
Do
Üt=Üt+1
Loop "verbális erőszak"<> "Eredmény"
End if
Next str_Dolgozó
...Frazeológiám: Az ember nem kávéra, nem is kávéházra vágyik, az ember lelke barátra vágyik, a kávé csupán ürügy... :-) ;)
-
KaliJoe
csendes tag
Sziasztok,
Van arra valakinek valami ötlete, hogy hogyan lehetne egy képlet - tehát nem makró! - részeként leellenőrizni, h egy bizonyos nevű munkalap létezik-e a Munkafüzetben?
Frazeológiám: Az ember nem kávéra, nem is kávéházra vágyik, az ember lelke barátra vágyik, a kávé csupán ürügy... :-) ;)
-
KaliJoe
csendes tag
Sziasztok,
Tud valaki megoldást arra, hogy egy űrlap textboxának kitöltése közben meg tudjuk határozni, h éppen mi volt az utolsó felhasználói billentyűnyomás?
A Like operandussal sokat ki tudok szűrni, de nekem vezérlőkaraktereket kellene megfigyelnem, úgy mint Backspace, Delete, kurzormozgató nyilak... Ötlet? Módszer?
Frazeológiám: Az ember nem kávéra, nem is kávéházra vágyik, az ember lelke barátra vágyik, a kávé csupán ürügy... :-) ;)
-
KaliJoe
csendes tag
válasz slashing #24968 üzenetére
Szia slashing,
Sajnos, ez nem jó... ennek pont az ellentéte kell. Amit ott leírtak, az arra jó, ha én (vagy a felhasználó) akar elküldeni egy billentyűnyomást, vagy billentyűkombinációt az éppen futó Makró számára.
Nekem az kell, hogy a felhasználó éppen mit nyomott meg utoljára... Ebben nagyon sokat segít a Like (mert ki lehet vele szűrni rengeteg nem kellő bevitelt... de nem tudom, hogy kezeli-e a speciális / vezérlőkaraktereket. Ha erre tudsz valami linket...
[ Szerkesztve ]
Frazeológiám: Az ember nem kávéra, nem is kávéházra vágyik, az ember lelke barátra vágyik, a kávé csupán ürügy... :-) ;)
-
KaliJoe
csendes tag
válasz Fferi50 #24969 üzenetére
Szia Fferi50,
Sajnos, ez sem az amit kerestem... Mert nekem egy TextBox_Neve_Change eseményen belül kellene megmondanom, h mi volt a karakter...
Az a módszer sem jó, h leválasztom az utolsó karakterét, mert pl. egy Backspace rögtön el is vesz egy karaktert a TextBox_Neve.Value tartalmából...
Szóval, azt kellene megmondanom, h pl. a Backspace-e az utolsó billentűnyomás, kb. még az előtt, h kivonná a TextBox_Neve.Value értékéből az utolsó karaktert.Frazeológiám: Az ember nem kávéra, nem is kávéházra vágyik, az ember lelke barátra vágyik, a kávé csupán ürügy... :-) ;)
-
KaliJoe
csendes tag
válasz Fferi50 #24969 üzenetére
Szia Fferi50,
Megpróbáltam azért... már majdnem nagyon örültem, h ez mégiscsak megoldás lesz, mert valóban ez megmondta a billentyűnyomást... egy Integer formában vissza is adta... ... kivéve éppen a keresett Backspace-t , meg társait, mert ezekket megnyomva a TextBox végrehajtja a műveletet, de a TextBox_Neve_KeyPress (ByVal KeyANSI As MSForms.ReturnInteger) nem hívódik meg...
Namármost, ha tudtok olyan beállítást, amely ezekben az esetekben is meghívja a eseményvezérelt rutint, akkor helyben vagyok!
[ Szerkesztve ]
Frazeológiám: Az ember nem kávéra, nem is kávéházra vágyik, az ember lelke barátra vágyik, a kávé csupán ürügy... :-) ;)
-
KaliJoe
csendes tag
válasz Fferi50 #24973 üzenetére
Szia Fferi50, és Szia Mindenki,
Végül visszatértem a Change eseményre, mert a karakter most sem volt kiolvasható rendesen... noha még konstansok is vannak...
A problémát megoldottam - nagyjából - még egy változó segítségével, amely azt figyeli, h éppen rövidül-e (backspace, delete) vagy növekszik a TextBox.Value sztring hossza.
Viszont keletkezett egy új gondom... Change esemény akkor is bekövetkezik, ha éppen inicializálom a szövegdobozt és / vagy valamit - a felhasználó beavatkozásán kívül - magam írok hozzá a karakterlánchoz (pl. telefonszámban a tagolást, (, ), jeleket és szóközt) ... így gyakorta többször is meghívja önmagát a Change, nem várt eredményeket hozva.Próbáltam kikapcsolni az eseményfigyelést a
Application.EnableEvents = False és
... esemény programkódja ...
Application.EnableEvents = True
utasításpárossal, de mintha rá se hederítene... Mit kell még átállítani, hogy ne következzen be esemény, vagy hogy lehet megkerülni?Frazeológiám: Az ember nem kávéra, nem is kávéházra vágyik, az ember lelke barátra vágyik, a kávé csupán ürügy... :-) ;)
-
KaliJoe
csendes tag
válasz Fferi50 #24979 üzenetére
Szia Fferri50,
Néztem. Át is írtam a kódomat a KeyDown-ra... aztán a tesztelésnél jött ki, h nem jelzi a Backspace-t. Mivel ott voltak a konstansok, azt hittem sínen vagyok...
Igaz nekem nem
"Private Sub object_KeyDown( ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As fmShiftState)" -dal hívta meg az eseményt, hanem
"Private Sub object_KeyDown( ByVal KeyAscii As MSForms.ReturnInteger)" vagy
"Private Sub object_KeyDown( ByVal KeyANSI As MSForms.ReturnInteger)" formában. Ez lehetett baj?Azért, ha tudod, a Change esemény figyelés megoldását leírnád érthetőbben? Kérlek... :-)
Frazeológiám: Az ember nem kávéra, nem is kávéházra vágyik, az ember lelke barátra vágyik, a kávé csupán ürügy... :-) ;)
-
KaliJoe
csendes tag
válasz Fferi50 #24981 üzenetére
Szia Fferi50,
Office 2010.
A bajom a Change vezérlés ki-be kapcsolásával, az az, hogy odáig értem, h legyen egy változó, ami "vezérli", hogy működhet-e a Change rész... (bár ez sem teljesen világos előttem), hogy hogyan?... de a problémám az elméletben ott van, hogyha egyszer kikapcsoltam, mi fogja visszakapcsolni, engedélyezni, h a Change rész lefusson, lefuthasson?
Frazeológiám: Az ember nem kávéra, nem is kávéházra vágyik, az ember lelke barátra vágyik, a kávé csupán ürügy... :-) ;)
-
KaliJoe
csendes tag
Sziasztok,
A Jelenléti ív programom adatainak megjelenítéséhez - egy új munkalapon - "Űrlap Nyomtatáshoz"-t készítek, vagyis egy űrlap mezőkkel kiegészített munkalapot.
A kérdés az, hogy hogyan tudom meg, pl. egy választódoboznak éppen mi az aktuális értéke? Vagyis, h melyik értéket választotta a felhasználó? Itt mi a hivatkozás módja? (A VBA-ban már tudom, de itt megakadtam, és a help sem segített. :-( )
[ Szerkesztve ]
Frazeológiám: Az ember nem kávéra, nem is kávéházra vágyik, az ember lelke barátra vágyik, a kávé csupán ürügy... :-) ;)
-
KaliJoe
csendes tag
Sziasztok,
Ki tudja, h milyen VBA sorral lehetne meghívni a "nyomtatási nézetet"... és aztán hagyni a felhasználót, h elmolyoljon (kvázi beállítsa a számára megfelelő nyomtatási paramétereket), és ha sikeres a nyomtatás akkor valahol a táblában lökjön egyet egy számlálón.
Ez az utolsó rész, miszerint hogy lökjön egyet a számlálón sima liba, de nekem most mindenképp lök rajta... ha a saját magam által készített (nem eredeti Excel) "Nyomtatás" feliratú gombját megnyomja. Emögött lévő makró utolsó sora elvégzi a számláló növelést, de függetlenül attól, h készült-e nyomat.Frazeológiám: Az ember nem kávéra, nem is kávéházra vágyik, az ember lelke barátra vágyik, a kávé csupán ürügy... :-) ;)
-
KaliJoe
csendes tag
válasz Polllen #25117 üzenetére
Szia Pollen és Delila_1,
Azt hiszem az irány jó, de makacsul dobja a hibaüzeneteket, arra hivatkozva, h definiáljak változót. Készítettem Variant típusút, értékét az aktuális munkalapra irányítottam... de az nem érdekli, csak követel...
...
Dim wsh_Űrlap As Variant
wsh_Űrlap = Worksheets("Űrlap Nyomtatáshoz")
...
If ActiveWindow.SelectedSheets.PrintPreview(wsh_Űrlap) = True Then
Worksheets("Alapértékek").Select
ActiveSheet.Unprotect
Worksheets("Alapértékek").Cells(4, "J").Value = Worksheets("Űrlap Nyomtatáshoz").Cells(2, "M").Value + 1
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
End If
...Frazeológiám: Az ember nem kávéra, nem is kávéházra vágyik, az ember lelke barátra vágyik, a kávé csupán ürügy... :-) ;)
-
KaliJoe
csendes tag
Sziasztok,
A tény: AZ egyik űrlapomon képeket használok, amelyeket a felhasználó viselkedésétől függően jelenítek meg. Ez jól működik is.
A kérdés: Az alábbiakban látható módon egy konstanst használok, hogy bárhol a modulban elérhető legyen a mappa bejárási útvonala. Viszont a konstanst nem engedi csak explicit módon megadni, nem lehet úgy, h egy Alapértékeket tartalmazó munkalap egy cellájában legyen.
Ti hogyan oldanátok meg?Const const_KépKönyvtár As String = "D:\CentrumNet WorldWide Kft\Programozás\Jelenléti ív\"
'Const const_KépKönyvtár As String = Worksheets("Alapértékek").Cells(7, 1)Frazeológiám: Az ember nem kávéra, nem is kávéházra vágyik, az ember lelke barátra vágyik, a kávé csupán ürügy... :-) ;)
-
KaliJoe
csendes tag
válasz Delila_1 #25121 üzenetére
Szia Delila_1,
Próbáltam... :-) Üres makrót eredményez... a nyomtatás ablak előhívása nem vált ki programsor rögzítést, viszont ha elküldöm a nyomtatást, akkor egy egészen másik parancsot hoz. Nevezetesen ez:
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, IgnorePrintAreas:=False
Frazeológiám: Az ember nem kávéra, nem is kávéházra vágyik, az ember lelke barátra vágyik, a kávé csupán ürügy... :-) ;)
Új hozzászólás Aktív témák
- Milyen NAS-t vegyek?
- Spórolós topik
- Netfone
- Kínai, és egyéb olcsó órák topikja
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- Samsung Galaxy S23 Ultra - non plus ultra
- Skoda, VW, Audi, Seat topik
- Bivalyerős lett a Poco F6 és F6 Pro
- Intel Core i5 / i7 / i9 "Alder Lake-Raptor Lake/Refresh" (LGA1700)
- Azonnali informatikai kérdések órája
- További aktív témák...
Állásajánlatok
Cég: Ozeki Kft.
Város: Debrecen
Cég: Alpha Laptopszerviz Kft.
Város: Pécs