Hirdetés
- sziku69: Szólánc.
- sziku69: Fűzzük össze a szavakat :)
- Luck Dragon: Asszociációs játék. :)
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- Sub-ZeRo: Euro Truck Simulator 2 & American Truck Simulator 1 (esetleg 2 majd, ha lesz) :)
- eBay-es kütyük kis pénzért
- GoodSpeed: Márkaváltás sok-sok év után
- D@reeo: Pi-hole és a Telekom Sagemcom F@st 5670 DNS beállítása
- N€T0X|N: Poloskahegy
- bb0t: Ikea PAX gardrób és a pokol logisztikája
-
LOGOUT
A Microsoft Excel topic célja segítséget kérni és nyújtani Excellel kapcsolatos problémákra.
Kérdés felvetése előtt olvasd el, ha még nem tetted.
Új hozzászólás Aktív témák
-
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értViszont 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
-
VGYke
addikt
válasz
Delila_1
#13120
üzenetére
lapa Delila_1, köszönöm! Bennem van a hiba, nem fogalmaztam meg a kérdésem világosan.
Tehát függetlenül az exceltől (bár onnan származnak az adatok, de immár ez lényegtelen), van egy T(i)=értékeket tartalmazó adathalmazom, ahol i=1-től véges egészig tart.
Pl. T(i1)=5, T(i2)=3, T(i3)=6, T(i4)=5, T(i5)=3, T(i6)=100, T(i7)=5, T(i8)=9
Helyes sorrend: T(i1)=5, T(i2)=3, T(i3)=6, T(i4)=100, T(i5)=9.
Tehát VB-ben, erre keresnék egy egyszerű for-next, while-wend, mit tudom én ciklust, mert ahogy én megírtam az nevetséges. -
lapa
veterán
válasz
Delila_1
#13005
üzenetére
csak egy megjegyzés, mert láttam az oldal tetején és nemrég volt hasonlóm: én óvakodnék az ékezetektől meg spec magyar karakterektől minden szinten. jelenleg csak sejtésünk van róla, hogy nálunk egy egész komoly access program pölö ilyenek miatt nem működik bizonyos accessekben, más accessekben meg igen (az access verziók és nyelvek kb random működnek vagy nem - van hogy tökugyanaz az access verzió másik gépen elhal meg ilyenek, és nem szeku vagy trust beállítás).
persze lehet, hogy soha semmi baj nincs belőle, de ténykérdés, hogy ezek angolra vannak hitelesítve, jobb szárazon tartani a puskaport.
Új hozzászólás Aktív témák
- AMD Navi Radeon™ RX 9xxx sorozat
- Otthoni hálózat és internet megosztás
- PlayStation 5
- Elektromos autók - motorok
- Vírusirtó topic
- Milyen asztali (teljes vagy fél-) gépet vegyek?
- Battlefield 6
- A fociról könnyedén, egy baráti társaságban
- Vezetékes FEJhallgatók
- AliExpress tapasztalatok
- További aktív témák...
- Xiaomi Redmi Note 13 512GB, Kártyafüggetlen, 1 Év Garanciával
- Microsoft Surface Go 2 m3-8100Y 8GB 128GB 1 év garancia
- HIBÁTLAN iPhone 13 Pro 128GB Alphine Green -1 ÉV GARANCIA - Kártyafüggetlen, MS3024, 100% Akksi
- Bomba ár! Lenovo IdeaPad V130-15IKB: i5-7G I 8GB I 256SSD I 15,6" FHD I Cam I W11 I Garancia!
- AKCIÓ! Acer KG251QF 24 144Hz FHD TN 1ms monitor garanciával hibátlan működéssel
Állásajánlatok
Cég: BroadBit Hungary Kft.
Város: Budakeszi
Cég: ATW Internet Kft.
Város: Budapest




Nincsen ötletem.







Így is jó! Köszi!



amint lehet kipróbálom.
Fferi50
