-
Mobilarena
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
-
alexnowan
aktív tag
válasz
Delila_1 #13604 üzenetére
Szia!
Biztos az én hibám de nekem szerintem nem ez kéne....
Másfelől azt megtudtam hogy a 2010-ben a pivot tábla betöltéskor megcsinálja ezt a frissítést.
Azt viszont nem tudom hogy 2007-ben hogyan tudok a pivot táblának más fájlban lévő táblákat megadni...
Ebben esetleg tudtok segíteni? -
ThaBoss
senior tag
válasz
Delila_1 #13590 üzenetére
Találtam már egy képletgyűjteményt, az egész jól elmagyarázza, hogy mikor mit érdemes használni és mindenhez van egy példa is.
Csak most kicsit továbbmennék a makrók felé.
Ha esetleg tudsz olyat, ami hasonló módon példákkal operál, azt szívesen veszem.bugizozi: ha minden kötél szakad, ez a legjobb mindig!
-
ThaBoss
senior tag
válasz
Delila_1 #13586 üzenetére
Köszönöm szépen ismét!
Lemásoltam a táblát, a másolatban már javítva van %-os változó, gondoltam azt majd akkor veszem elő, ha szükséges. Abban is átírtam.
Amúgy nem tudsz valami jó szakirodalmat vagy blogot a makrózásról, amiből tanulgathatnék? Természetesen 0-ról indulok...
-
ThaBoss
senior tag
válasz
Delila_1 #13580 üzenetére
Egyelőre még a régi makrót használom (integer-es), mert most valószínűleg nem lesz dolgom óriási adathalmazokkal, így nincs szükség a módosítottra.
Viszont belefutottam egy apróságba:
Ha A és B oszlop eleme ugyanaz, akkor meghal a makró. Ezen lehet változtatni valahogyan, hogy ilyenkor is rendben legyen?
Töltöm fel a táblát: [link] -
m.zmrzlina
senior tag
válasz
Delila_1 #13566 üzenetére
Amint írtam az adatbázis és a form is bonyolultabb a kép csak illusztráció.
Arra gondoltam, hogy nem lehetne-e bevezetni változót minden adatra (ami akár 50-nél több különböző változót jelentene) Ezt viszonylag könnyen fel lehet tölteni ciklussal, aztán kiirogatni megfelelő helyre a formra.
Nincsen ötletem.
-
m.zmrzlina
senior tag
válasz
Delila_1 #13561 üzenetére
Itt egy végletekig leegyszerűsített illusztráció:
A felső öt sor az adatbázis. A valóságban természetesen sokkal nagyobb sor és oszlop irányban is. A bekeretezett rész a form amit ki kell tölteni. A valóságban külön munkalapon vannak.
A harmadik munkalapon van egy lista ami részhalmaza a az A oszlopban lévő számoknak(azonosítók). MATCH()-csel megkeresem a lista első elemét az adatbázisban majd a hozzá tartozó adatokat beírom a formba majd mentem a formot egy új munkafüzetbe.
Ezután form törlése, a lista második elemének keresése, form kitöltés, mentés stb... amíg van a listában elem.A keresés és a mentés nem gond csak a form kitöltésére keresek egy elegánsabb megoldést mit hogy a:
Worksheets("lista").Range("A" & sor).Copy Worksheets("űrlap").Range("A2")
sort leírjam 50-szer néha többször (természetesen megfelelő cellahivatkozásokkal) a makróba. (a hivatkozásokat ne nézd nem illenek az képhez)
-
motinka
tag
válasz
Delila_1 #13543 üzenetére
köszönöm Delila, megértettem már akkor is, csak tetszett ez az általam eddig nem ismert függvény és elkezdtem vele próbálkozni, hát nem működött nekem sem.
A feladatot úgy oldottam meg ahogy azt tanácsoltad, sikerült is, nagyon jó lett, még egyszer köszönet érte.Akkor sem hagy nyugodni ez a NAGY függvény
-
válasz
Delila_1 #13546 üzenetére
Abban a munkafüzetben úgy is kell, hogy működjön, mivel 1167 rekord van. A =NAGY(E:E,1168) dobna hibát...
Lehet kimaradt valami/nem követtem az eseményeket, csak nem világos, hogy "Meg lehetne oldani makróval, csak kissé lassú lenne a futása, és Neked nem lenne semmi dolgod.", szóval mihez kellene a makró, amikor látszólag jól működik minden.Szerk
visszaolvastam, már világos mihez kellene makró.
-
-
motinka
tag
válasz
Delila_1 #13527 üzenetére
köszönöm Delila, jó felé jársz, az alap adat tábla úgy néz ki mint ahogy megcsináltad, de először is azt nem értem, hogy a C oszlopból hogyan veszed ki bárhová a legtöbbször szereplő kódot, majd alá az következő és így tovább...
Ezt persze lehetne gy másik fülre is rakni mellé hogy abból a fajtából hány darab van összesen majd megvizsgálni 1-2-3-... hetekre -
m.zmrzlina
senior tag
válasz
Delila_1 #13499 üzenetére
Fire és Delila köszönöm a megoldást. Működik.
Eredetileg ugyan nem így (makróval) terveztem hanem a Hivatkozás beszúrása> Dokumentum adott pontja menüpont segítségével de azzal a módszerrel a hivatkozott cella a "kliensterület" jobb alsó sarkába került (vagy máshová de nem a bal felsőbe). Gondolom a trükk a Scroll:=True-ban van de ezt nem lehet közvetlenül használni a munkalapon.
-
Delila_1
veterán
válasz
Delila_1 #13499 üzenetére
Későn vettem észre, hogy ugyanannak a lapnak egy másik cellájára kell ugrani. Természetesen hagyd ki a Sheet(2)-t.
Ha több ilyen elrugaszkodási pontod van, Select Case szerkezetben adhatod meg a kiindulási pontot. A példa szerinti ugrások B1-ből D3-ba, vagy B4-ből G5-be:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Select Case Target.Address
Case "$B$4"
Application.Goto Range("G5"), Scroll:=True
Case "$B$1"
Application.Goto Range("D3"), Scroll:=True
End Select
End Sub -
-
-
-
-
-
-
-
ThaBoss
senior tag
válasz
Delila_1 #13467 üzenetére
Esetleg ki lehetne egészíteni picit?
Mert ez addig tökéletes, amíg nem írok Munka1N3 és O3 cellákba más értéket. A képlet teljesen rendben van, csak nekem van még kb. 20000 sorom, mindegyikben más tartománnyal és velük is szeretném ezt megcsinálni.
Így már megtudnám oldani, csak át kell írnom a képletet. Csak kicsit nagy meló ekkora vagy nagyobb adathalmazzal. -
-
jaszy83
csendes tag
-
-
Mythunderboy
csendes tag
válasz
Delila_1 #13397 üzenetére
Köszönöm a gyors választ! Lehet nem jól fogalmaztam ,de igazándiból úgy gondoltam,hogy nem a dátumot adnám meg ameddig érvényes,hanem azt az időt ahány napig tudja használni.(Ez több emberhez is elkerülne és valaki korábban valaki később nyitja meg először .Az első megnyitáshoz hozzáadná annyi napot ahány napra be van állítva , és addig lenne használható)
Így is megoldható?(A "felold" makro nagyon jó ötlet ,és igen hasznos lett)
-
plaschil
aktív tag
válasz
Delila_1 #13391 üzenetére
Ha jól látom miután készen van, csak a duplikációkat kell kiszednem és ugyanazt kapom mint egy pivotból.
Nagyon szépen köszönöm, eddig nem ismertem ezt a függvényt, nem régóta dolgozom excel-ben, de lehet ezt a függvényt tudom alkalmazni egy másik problémámnál.
Mégegyszer köszönöm!
Ja és ha már itt vagyok, a sok segítségért cserébe:Hogy el ne hervadj!
-
jaszy83
csendes tag
válasz
Delila_1 #13385 üzenetére
Delila, bocsánat úgy látszik túl fáradt voltam hogy sikerüljön világosan fogalmaznom
A képlet az már jó volt úgy köszi neked, a menet a következő:
1. felvittük az adatokat, önsúlyból automatikusan kiszámolja melyik súlykategória,
majd a második makró sorbarendezi őket ahogy kell és átrakja verseny lapra.2. Innentől manuális a kezelése, a belépősúllyal kezd a versenyző, ha elhúzza akkor a sorába beírok egy K-t, ha hibézik akkor H-t. Így megy tovább, sikeres húzás esetén mehet tovább, ha következő választott súlyt kihagyja akkor megint K-t írok a sorába stb, egész addig, amíg az utolsó sikeres húzásra írok be neki K-t , többet már nem bír elhúzni. Legyen ez mondjuk 4000 kiló az egyik versenyzőnél. A sorok végére akartam írni egy olyan függvényt, ami a legnagyobb elhúzott súlyt írja ki adott versenyzőnél, tehát hogy az első sor (ahol a súlyok vannak növekvő sorrendben) azon adatát írja be a függvény mezőbe abból az oszlopból, amelyik a legtöbb elhúzott súly a versenyző sorában, tehát amelyik legjobbra helyezkedik el.
(nálam VERSENY lapon első sor E oszloptól kezdődik 500 kilótól a súly, és tart 100 kilónként BC oszlopig, 5500ig, innen kell kinyerni az adatot abból az oszlopból, ahol a versenyző sorában a verseny végén az utolsó K (sikeresen elhúzott súly) van).
na azt hiszem jól leírtam, remélem így érted mit szerenék.Na erre írtam én a
=INDEX($E$1:BC1;1;MAX(HOL.VAN("k";E11:BC11;0)))
függvényt, ami nem akar működni...
előre is köszi a segítséged! -
jaszy83
csendes tag
válasz
Delila_1 #13376 üzenetére
Delila köszi megint, működik, mostmár látom a végét.
Tehát most a helyzet:
Első sorban feltüntetve növekvő sorrendben a súlyok (pl: 500; 600; 700 stb)
alatta sorokban vannak a versenyzők, nyilvántartva a húzásaikat:
k a sikeres húzás, h a hiba, minusz a kihagyott súly
Tehát például adott versenyző sora így néz ki:- - - K - - K - - H - - K - - H
a feladat az lenne, hogy a legnagyobb elhúzott súlyt függvényként megjelenítsem, tehát lefordítva excelesre, adott sor LEGJOBBRÁBB elhelyezkedő "K" (sikeres húzás) oszlopából az első sor (elhúzott súly) adatát szerepeltesse. Próbálkoztam egy ilyesmivel de valamiért ez nem helyes adatot ad (a legkissebb elhúzott súlyt adja, tehát a legbalrábban lévő "k"-t):
=INDEX($E$1:BC1;1;MAX(HOL.VAN("k";E11:BC11;0)))
(a súlyozás E oszloptól indul, ahogy a rögzítés is, előtte adatok vannak)
mi lehet a baja? a max nem pont hogy a legnagyobbat kéne adja? (ráadásul kipróbálva a MAX helyett MIN-re is ugyanezt a legkisebbet adja) -
Mythunderboy
csendes tag
válasz
Delila_1 #13373 üzenetére
Köszi Delila! Ismét
Az " adatokat megadni ne tudjanak" azt jelentené amit gyakorlatilag csinálni kéne a makrónak ,de ha jól értelmezem akkor pont ezt fogja csinálni tehát pont ilyenre gondoltam....letesztelni vajon hogyan tudnám? mert ha a mai dátumot adom meg hibaüzenetet ad de a holnapival már fut....vagy várjak holnapig -
jaszy83
csendes tag
válasz
Delila_1 #13365 üzenetére
Szia Delila, az X az a sikeres húzás, a H pedig hiba lenne... D oszlopban pedig majd számolja a hibákat
Viszont amit írtál az nekem hibát jelez:
Run-time error '1004':
Method 'Range' of object '_Global' failedés erre a sorra írja:
uoszlop = Range("XFD1").End(xlToLeft).Columnmi lehet a baja?
-
Mythunderboy
csendes tag
válasz
Delila_1 #13370 üzenetére
Köszi Delila!
Lenne két kérdésem:
Egy két makrót már megírtam a segítségeddel de még nem nagyon vágok pár dolgot.
1, A " This Workbook"-hoz hogyan rendelem? (Ez az adott munkalap lenne amin alkalmaznám?)
2,Amit végre akarok hajtani ha nem jár le a dátum, tehát hibátlanul működik, az 5 munkalapon van és egymáshoz kapcsolódnak ezt hogyan kellene megírnom a makróban?Vagyis 5 munkalapot kellene "lezárni" egyszerre ,hogy se beleírni se adatokat megadni ne tudjanak.....
Vagy valamit nem jól csinálok?A makrólevédés az menni fog.
-
jaszy83
csendes tag
válasz
Delila_1 #13350 üzenetére
Delila Köszi, az elsőt használom működik,
a gondom viszont elképesztően banális problémával szenvedek már egy napja.
a felvitel lapomon ahhoz hogy automatikusan kiszámolja a sulykategóriát ez a függvényt használom:
=HA(Rögzítés!A18=(0); "";FKERES(Rögzítés!B18;$G$2:$H$12;2))az általad írt függvényt már egy tiszta lapról használnám ahol csak és kizárólag a három szükséges adat lesz rajta, a súlykategória, a név és a súly. Ehhez a felvitel lapról másolom az értékeket a Munka2 lapra
Sheets("Felvitel").Select
Columns("B:B").Select
Selection.Copy
Sheets("Munka2").Select
Columns("C:C").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=FalseÍgy viszont a fenti HA függvény eredményeként másolja a semmit is, és az összesítésnél lesz néhány ami jó adat, ahol tartalmaz versenyző adatokat, viszont lesz nagyon sok olyan, ami üres adat, de ezt is keretezi és összevonja a semmit.
Valami olyasmi kellene ami csak akkor másol ha nem 0 vagy nem " " vagy nem tudom. Elakadtam.. -
jaszy83
csendes tag
válasz
Delila_1 #13297 üzenetére
Delila, köszönöm,
ez már majdnem tökéletes, annyi a gondom vele, hogy a hol.van függvény
az adott súlykategórián belül így azt veszi kisebbnek, amelyiket hamarabb rögzítettem fel:(pl a négyes sorszámú versenyző hiába nehezebb, 22 kiló, mivel hamarabb rögzítettem mint az adott súlykategórián belüli ötös sorszámú versenyzőt, ami 18 kilós, mégis előrébb van)
Ezen esetleg tudnátok segíteni?
Na meg olyan létezhet, hogy miután besoroltuk, sorba a versenyzőket, automatikusan átformázná az első oszlopot (akár makró segítségével) hogy az azonos súlykategóriákat kijelöli, és összevonja egy mezőbe? remélem értitek mit akarok, hogy a súlykat oszlop a versenylapon így nézzen ki valahogy:
Köszi előre is.
Bocsánat a nagy képért, nem tudom hogy lehet kicsinyiteni..
-
Penty
aktív tag
válasz
Delila_1 #13326 üzenetére
Bocsi a kavarás miatt!
A zárójeles számok voltaképpen hónapokat jelentenek az eredeti táblázatomban, mivel szerettem volna összeadni hónapról-hónapra bizonyos dolgokat, és feltételeztem, hogy a függvény feltételeinek keresésénél ennek komoly szerepe lesz, de végül néhány helyettesítő karakter megoldotta a dolgot. -
válasz
Delila_1 #13322 üzenetére
Nem kell szétválogatni, legalábbis ahogy Penty leírta, az alapján nem kell.
Szeretném, ha pl. a C1 cellában összeadná az A oszlopban lévő azon számokat, amelyek mellett a B oszlopban a banán szó szerepel. Tehát jelen esetben: 123+134+120+110=487
Ha megnézed a korábbi listáját, akkor az összes banán-t összeadta...
-
Swen_N
csendes tag
válasz
Delila_1 #13304 üzenetére
akkor meg leszek nélküle
köszi azért
Viszont van egy másik probléma ami szerintem fejlesztői hülyeség, de elég zavaró.
Most tértem át a 2010-es Office-re (céges, úgyhogy muszáj-ból), és ebben van egy zavaró hiba. A sorbeszúrás eddig a jobb klikk után "s" betűvel lehetséges volt, most viszont egy másik parancs - az elrejtés - is az "s" betűhöz van rendelve. (érdekes módon ugyanez a jobb klikk menü az oszlopok estében nem így van, ott az elrejtés az "e" betű).
Szóval az eddig gyors, jobb klikk + "s" betű helyett, most kénytelen vagyok egérrel rákattintani a beszúrásra, mert az "s" nyomogatására csak ugrál a két parancs között.
Nyilván hülyeség két parancsot egy betűhöz társítani, nincs erre valami megoldás?köszönöm,
Swen
-
-
kokopeti
csendes tag
válasz
Delila_1 #13264 üzenetére
Lenne még 1 gondom :S
Elkezdem beírni a bejárási sorrendet (Tabindex) az adatok kitöltéséhez és folyamatosan felülírja magát és nem akarja "bevenni" azt a sorrendet amit megadok neki.
Maga a kitöltendő oldal így néz ki:
A legelső Textbox-ból lefelé haladva kellene lépkednie a tabulátor nyomásonként.
Tabindexbe elkezdtem megadni: 0-1-2-3-4-5, aztán amikor a 7. Textbox Tabindex értékének beírom a 6-ot, akkor felülírja az előző Textbox értékét 4-re az 5 helyett. Remélem érthetően letudtam írni, hogy mivel is van gondom. Remélem tudsz segíteni. -
gyga
senior tag
válasz
Delila_1 #13264 üzenetére
Szia. Rá érnél egy kicsit segíteni?
Röviden: kereső függvényt kellene kreálni ami a munka1 oldalon beírt összeghez kikeresi a munka2 oldalon az A oszlopban a beírt számtól egyel nagyobb összeget és kiírja a kikeresett szám feletti összeget, (az A oszlopban rendezetlen vannak az adatok, nem szabad módosítani, csak ami törölhető)
pl:
munka 2 A oszlopa így néz ki:
1 1502
2 201452
3 199586 nemfontos adat törölhető
4 2506 nem fontos adat törölhető
5 1905
6
7 1902
8 205654
9 200568 nemfontos adat törölhető
10 2500 nemfontos adat törölhető
11 2000A munka1 lapon ha beírok pl: 203958-at akkor az a8 érték feletti összeget írja ki tehát a keresendő érték csak nagyobb vagy egyenlő lehet mint a beírt összeg. A másik képlet pedig az a8 alatt kettővel lentebbi a11-es értéket írja ki.
-
kokopeti
csendes tag
válasz
Delila_1 #13251 üzenetére
Delila egyszerűen nem bírom megcsinálni...
Private Sub Workbook_Open()
Do
felh_nev = InputBox("Üdvözöllek a BMP CAR Kft. vállalatirányítási rendszerében! A továbblépéshez kérlek írd be a rendszergazdától kapott felhasználónevet!", "Bejelentkezés")
Loop Until felh_nev = "bmpcarkft"
Sheets("Adatok").Select
UserForm1.Show False
MultiPage1.Value = 0
End SubAmikor indítom addig lefut a programom, hogy bejön a bejelentkező oldal, beírom azt a "felhasználónevet" amit előre megadtam. Aztán ezután a program dolga az lenne, hogy nyissa meg nekem az elkészített Userform multipage oldalai közül a legelsőt ami a "Főoldal" nevet viseli. Csak ezzel a MultiPage1.Value = 0 sorral van problémája, de ez már a 10. verzió amit beírtam és halvány fogalmam sincs, hogy hogyan hivatkozhatnék rá, mivel a Főoldalról gombok segítségével is szeretnék hivatkozni a Multipage oldalaihoz külön-külön.
Még dolgozok rajta, de ez megint egy olyan probléma ami egy teljesen egyszerű kis parancs lehet, viszont nem jövök rá, hogy mi az a parancssor amivel hivatkozhatok rá. Amennyiben még nem akasztottalak ki titeket a tudatlanságommal, akkor ismét megköszönném a segítséget.
-
kokopeti
csendes tag
válasz
Delila_1 #13244 üzenetére
Lenne egy kérdésem. Ha létrehoztam egy többoldalas Userformot, aminek az első oldalát nevezzük egy "Főoldalnak". Ezen az oldallal kapcsolatos leírás található illetve pár gomb amik a userformon található másik fülekre hivatkoznak, illetve a munkafüzetben található egyéb munkalapra.
A kérdésem mindössze annyi lenne, hogy mondjuk a CommandButton1-el hogyan tudnék hivatkozni a Userformon található második fülemre, amit akkor nevezzünk "Bevitelnek"?!
Köszönöm a segítséget!
-
kokopeti
csendes tag
válasz
Delila_1 #13243 üzenetére
Beviteli mezőm lesz majd több. Egy olyan űrlapot szeretnék csinálni, ami egy Autószerviz nyilvántartó programja lenne. Szóval tudnia kell a Műszakiztatás adatainak bevitelét, a Szervizelést, Alkatrész beszerzést/eladást, Egyéb költségek, kiadások, bevételek adatbevitelét, illetve ezek megjelenítését és adatbázisba mentését, illetve statisztika készítését. A legtöbb részt megcsinálni egyszerű még számomra is, de azért vannak benne buktatók a kevéske tudásom miatt.
Megpróbálom akkor a UserForm-ot is belefabrikálni, aztán jelentkezem újra. Köszönöm
Új hozzászólás Aktív témák
Hirdetés
- Házimozi belépő szinten
- Kevesebb dolgozó kell az Amazonnak, AI veszi át a rutinfeladatokat
- Milyen processzort vegyek?
- ASZTALI GÉP / ALKATRÉSZ beárazás
- Interactive Brokers társalgó
- Radeon RX 9060 XT: Ezt aztán jól meghúzták
- A fociról könnyedén, egy baráti társaságban
- Gitáros topic
- Motorola Edge 50 Neo - az egyensúly gyengesége
- AMD GPU-k jövője - amit tudni vélünk
- További aktív témák...
- Honor 90 Lite 256GB, Kártyafüggetlen, 1 Év Garanciával
- DELL Universal Dock D6000 dokkolók, RTX Legion Pro laptopok 4 év Lenovo garanciával, licencek
- Telefon felvásárlás!! Honor Magic6 Lite, Honor Magic6 Pro, Honor Magic7 Lite, Honor Magic7 Pro
- BESZÁMÍTÁS! Apple MacBook Pro 14 M4 16GB RAM 512GB SSD garanciával hibátlan működéssel
- BANKMENTES részletfizetés Noblechairs HERO Fekete/Platinafehér Gamer Szék
Állásajánlatok
Cég: Promenade Publishing House Kft.
Város: Budapest
Cég: CAMERA-PRO Hungary Kft
Város: Budapest