-
Fototrend
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
-
WildBoarTeam
aktív tag
Hát első körben próbálkozz a "makró rögzítéssel". Elindítod, csinálsz valamit a munkalapon (pl. kijelölsz egy részt és törlöd), megállítod amikor befejezted, majd a kapott kódot elemzed. Így jöttem rá én is sok dologra, hogy mi és hogyan működik. Amúgy a súgóban is van néhány hasznos rész, de nem valami sok (a cella hivatkozásokat átnézd, hogy megértsd az S1O1 hivatkozást, amit a rögzített makró készít).
De itt vannak nálam okosabbak, akik biztos tudnak segíteni a bonyolultabb műveletek megismerésében (if, for-next, while, stb.....)blabla
-
Mr.Csizmás
félisten
üdv!
segítséget szeretnék kérni. van egy excel táblázatom, amiben most a 10-től a 45. sorig meg kellene fordítani a sorrendet, tehát a 45-el kezdődne, és így lefelé csökkenne....hogy lehetne megcsinálni? nincs kedvem egyenként átmásolgatni
"Szólítson csak Cirminek." | B&B XI | 3D nyomtatás Bp és környéke |
-
Delila_1
Topikgazda
válasz Mr.Csizmás #7704 üzenetére
Az adataid mellett egy üres oszlopba beírod a számokat 1-től 45-ig.
NE jelöld ki a rendezés előtt az új oszlopot, csak állj benne. Rákattintasz a Z-A ikonra, ami csökkenő sorrendbe rendezi az oszlopot, és viszi magával a többi adatot is.Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
Mr.Csizmás
félisten
válasz Delila_1 #7705 üzenetére
kicsit szűken írtam le a problémámat: ez a táblázat egy útvonal bejárását tartalmazza, utak számával, és szelvényszámokkal, így 1. oszlop útszám, 2. oszlop egyik szelvényszám, 3. oszlop másik szelvényszám, 4. stb. szóval így a komplett sorokat kell fordítgatni.
"Szólítson csak Cirminek." | B&B XI | 3D nyomtatás Bp és környéke |
-
Delila_1
Topikgazda
válasz Mr.Csizmás #7706 üzenetére
Melyik az első üres oszlopod?
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
Delila_1
Topikgazda
válasz Mr.Csizmás #7708 üzenetére
Nem így értettem. Vannak adataid az A oszlopban, a B-ben, a C-ben, stb. Melyik oszlop az utolsó?
Csak az első sorban van a címsorod, vagy esetleg több sorban is?[ 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.
-
Delila_1
Topikgazda
válasz Mr.Csizmás #7710 üzenetére
Akkor az F oszlopba írd a lefelé növekvő sorszámokat. Ha van címsorod, akkor az F1-be ne írj.
A számok bevitele után állj az F oszlop valamelyik celláján, és rendezd az adatokat csökkenő sorrendbe (Z-A ikon).Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
WildBoarTeam
aktív tag
válasz Mr.Csizmás #7706 üzenetére
Csinálhatnál belőle egy printscreent, és látható lenne anmit írsz.
A sorba rendezésnél (amikor több oszlopot kell együtt rendezned), kijelölöd az egész tartományt, amit együtt akarsz sorba rakni. Utána Adatok/sorba rendezés... és kijelölöd melyik alapján akarod sorba rendezni.
Itt egy példa:
Kiinduló adat:
Rendezés után ezt kapod:Delila_1 ugyanezt írja amúgy.
[ Szerkesztve ]
blabla
-
Mr.Csizmás
félisten
válasz WildBoarTeam #7712 üzenetére
[ Szerkesztve ]
"Szólítson csak Cirminek." | B&B XI | 3D nyomtatás Bp és környéke |
-
Delila_1
Topikgazda
válasz Mr.Csizmás #7713 üzenetére
Akkor az AD oszlopba írd a sorszámokat, AD10-től lefelé, ameddig van adatod az A oszlopban.
Mivel üres oszlopok is vannak, valóban ki kell jelölnöd az A10:ADvalahány területet, utána rendezés, ahogy WindBoar írta.Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
Mr.Csizmás
félisten
Delila_1 és WildBoarTeam köszönöm szépen!
sok sz*pástól mentettetek meg! szép napot kívánok!
[ Szerkesztve ]
"Szólítson csak Cirminek." | B&B XI | 3D nyomtatás Bp és környéke |
-
Delila_1
Topikgazda
válasz Mr.Csizmás #7715 üzenetére
Szívesen.
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
föccer
nagyúr
válasz WildBoarTeam #7703 üzenetére
Igen, ennek már nekifeküdtem. A baj csak az vele, hogy így marha sokáig tart és nem igazán leszek "jó" benne. Amit késízteni akarok (hosszabb távon), azért az nem lenne olyan egyszerű dolog, és Nem akarok most is úgy gényolni, mint anno a Dorland-Delphiben tettem.. Ezt most úgymond hülyebiztosra kell megcsinálnom, hogy akár 2-3 év múlva is futtatni tudjam.
ÜDv, föccer
Építésztechnikus. Építőmérnök.
-
WildBoarTeam
aktív tag
Pedig így a legkönnyebb, hogy megértsd a nyelv szemantikáját. Ha a BASICet tudod, akkor meg nem lehet probléma ehhez igazítani. Ha ismersz másik programozási nyelvet akkor a ciklusokat ismered, csak neki kell picit feküdni.
Könyvet én sem találtam még konkrétan makró témában (csak a jó drága tanfolyamokat...)Ha meg megírsz egy makrót, az évek múlva se romlik meg
blabla
-
föccer
nagyúr
válasz WildBoarTeam #7718 üzenetére
Csak kellő mennyiségű szalicil kell hozzá
ON:: lehet olyat csinálni, hogy ha az autoszűrőt egy külön, egyébként ütres sorba teszem, akkor amikor a szűrőveltételt megadom neki, akkor a felétételt kiírja nekem az adott cellába? A dolog arra lenne használva, hogy a nyomtatában megjelenő 39 oszlopból így ránézésre lejhetne látni, hogy melyek azok az oszlopok, amik szerint szűrve lett az adott kimutatás. Akkor nem kellene külö ráírogatni a lapra, hogy a következő 4 pldal az adattáblák azon sorait tartalmazza, ami megfelel ennek, és ennek, és ennek, és ennek a feltételnek. Tipikusan 5-7 feltételekkel fogunk benne szűrni, és úgy nyotatni az eredményeket.
Makró téma:
no, akkor egy kis szájbarágós segítséget kérek. Hogyan tudom elővarázsolni az adott munkalaphoz tartozó küdot (Talán Eszközök-> makró-> visual basic editor??? )?
Hogyan tudok kirakni a munkafüzetre egy nyomógombot?
És hogyan tudok a gomb megnyomásához utasítrásokat hozzárendelni?
Illetve mi a pontos neve a cellákat kezelő objektumnak, és annak milyen főbb tulajdonságai és milyen főbb akciói vannak?
Előre is köszi,
Üdv, föccer
Építésztechnikus. Építőmérnök.
-
Delila_1
Topikgazda
Kicsit sok a kérdés egyszerre.
Kezdem a közepén.Adott laphoz kód elővarázsolása: lapfülön jobb klikk, Kód megjelenítése. Vagy: Alt+F11 (VB editor), bal oldalon lapnévre klikk.
Nyomógomb
Kétféle van, az Űrlapok, vagy a Vezérlők eszközkészlete csoportból. Előcsalásuk: ikonsoron jobb klikk, a felsorolásból kiválasztod a megfelelőt.Nem írom tovább, mert nem tudom, hányas verziót használsz. A fentiek a 2003-ra vonatkoznak.
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
WildBoarTeam
aktív tag
1 részhez szerintem lista kell...Autoszűrő máshol nem igazán használható, csak ha van alatta adat.
"...Hogyan tudom elővarázsolni az adott munkalaphoz tartozó küdot..."
Nyomsz egy ALT+F8-at.
"Hogyan tudok kirakni a munkafüzetre egy nyomógombot?"
Kirakod a Visual Basic, és az Űrlapok eszköztárat (uttóbihoz a makrót rendeled, a VB-be meg "beleírod" ...így egyszerű leírni)"Illetve mi a pontos neve a cellákat kezelő objektumnak, és annak milyen főbb tulajdonságai és milyen főbb akciói vannak?"
Ezt majd Delila_1 vagy Fire elmondja, mert én nem értem mire gondolsz.
Delila_1...gyorsabb voltál...
[ Szerkesztve ]
blabla
-
Delila_1
Topikgazda
A cellákat tartalmazó objektum a lap: Worksheets("Munka1").Select
A főbb akciókat (eseményeket) úgy csalhatod elő, hogy a VBE-ban fent bal oldalon a General-t átváltod Worksheet-re. Jobb oldalon legördítheted az eseményeket.
Cellára hivatkozás: Cells(sorszám, oszlopszám), de pl. az A1 Cells(1), B1 Cells(2), C1 Cells(3).
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
föccer
nagyúr
válasz WildBoarTeam #7721 üzenetére
Alt+F8 a makrók ablakát nyitja meg, és nem a kódot...
1 részhez szerintem lista kell...Autoszűrő máshol nem igazán használható, csak ha van alatta adat.
Van alatta adat bőven. Vagy 5000 sornyi Az érvényesítés-> lista azért nem jó, mert egy-egy oszlopban önmagában nincs sok különböző adat az 5000 sor 15-20 különböző adatból áll össze. Csak van vagy 140 oszlop összesen, és ezek variációjából nagyából nincs 2 teljesen egyforma sor. Namost a listával azt érem el, hogy a legördülő menüben ott figyel mnind az 5000 sornyi adat benne a sok-sok redundáns értékkel. Az autoszűrő ezért jobb, mert ott nincsnek redundáns adatok. Egy érték, csak egyszer szerepel, így nagyon gyorsan lehet benne beállítani a dolgokat.
Objektum orientált programozás lévén minden dolog valamilyen objektumban foglal helyet. az objetumoknak vanna különböző tulajdonságai, mint pl a színe, vagy a mérete, tartalma, és vannak hozzá rendelt akciók, mint pl a kattintás (mi történi, ha rákattintasz), és vannak egyéb események, mint pl amikor törlöd az adott objektumot, vagy létrehozol egyet. stbstb..
üdv, föccer
Építésztechnikus. Építőmérnök.
-
Delila_1
Topikgazda
A Vezérlők készletéből vett gomb hatásköre a lap, amelyiken létrehoztad, de a makrójával meghívhatsz egy másik eljárást, ami a ThisWorkbook-hoz van rendelve, és a füzet minden lapjára érvényes. Ilyenkor a változókat át kell adnod a másik makrónak.
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
Delila_1
Topikgazda
Sub Aut_Filter()
Range("A1").Select
Selection.AutoFilter Field:=1, Criteria1:=Cells(1, 10)
Selection.AutoFilter Field:=2, Criteria1:=Cells(1, 11)
Selection.AutoFilter Field:=5, Criteria1:=Cells(1, 12)
Selection.AutoFilter Field:=6, Criteria1:=Cells(1, 13)
End SubA feltételeket a J1:M1 tartományba írtam.
Az A oszlopot [Field:=1] a J1 szerint szűröm [Criteria1:=Cells(1, 10)]
B-t a K1 szerint, E-t az L1, és F-et az M1 szerint.[ 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.
-
Delila_1
Topikgazda
válasz Delila_1 #7724 üzenetére
Jól elszúrtam, de csak a lényeget.
Ez az igazi, ami a ThisWorkbook-hoz van rendelve:Sub Másik_lap_Makrója(sor, oszlop)
MsgBox Sheets("Munka2").Cells(sor, oszlop)
End SubMég a címe sem megfelelő, inkább MindenLaponMűködőnek kellett volna nevezni.
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
föccer
nagyúr
No, akkor ezeket az infókat most jóóól meg kell emésztenem
köszi,
Üdv, föccer
ps: még egy kérdés: Olyat tudok csinálni, hogy egy esemény akkor fusson, ha rányomok pl a printre? Mert akkor nagyszerűen lehetne töltögetni az autoszűrő alatti cellákat, mielött kimenne printre, és a nyomtatás után meg szépen lehete.
gondolok itt valami Worksheets("munka1").OnPrint eseményre, amibe jól bele lehetne írni az általad előbb vázoltaktat.
Köszi, üdv, föccer
Építésztechnikus. Építőmérnök.
-
Delila_1
Topikgazda
Nem tudok ilyen eseményről, ami nem azt jelenti, hogy nincs is.
Viszont behetesz egy sort az Aut_Filter aljára:
ActiveWindow.SelectedSheets.PrintOut Copies:=1és akkor a gombbal szűrés után nyomtatsz is.
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
Delila_1
Topikgazda
Kitehetsz egy új ikont az eszköztárra (Testreszabás menü, Parancsok fül, Makrók kategória).
A printer gombképét átmásolod rá, és az Aut_Filter makrót rendeled hozzá (ikonon jobb klikkre jönnek elő ezek a lehetőségek, mikor a Testreszabás menü aktív).
Érdemes kicsit módosítani a gombképen, hogy meg lehessen különböztetni az eredetitől.Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
föccer
nagyúr
Na, hős vagyok. Sikerült az első műveletemet végrehajtattni. C6 cella tartalmát gombnyomáűsta átmásolta az A30 cellába
No, már törölni is tudtam...
Kis lépés ez az Excellnek, de hagy hőstett tőlem...
Ez működik?
Cells(A120)
gondolok itt egy A1-től C20 ig történő terület hivatkozásra?
köszi az eddigi segítséget. Asszem nekifekszem a súgónak. Nagon nagy szükségem lenne az objektumok tulajdonsátgaira, eseményeire, és a paraméterezésrs... No meg nem ártana tudni a VBasic szintaktikáját is (lokális változó deklarálása, ciklusok szintaxisa. Valahogy a for i:= 0 to 9 do begin .. end nem nagyon akar működni Hiába no, én csak a pascalt toltam
De még pár óra és ráérzek, és akkor lesz ám nemulass
Üdv, föccer
Építésztechnikus. Építőmérnök.
-
Delila_1
Topikgazda
válasz WildBoarTeam #7732 üzenetére
Hát aki ilyen tündöklő, az lemaradhat.
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
Delila_1
Topikgazda
A Worksheet_Change esemény tud területet kezelni.
sor=Target.Row
oszlop=Target.Column
Msgbox Target.Address (egy kijelölt területre vittél be Ctrl-lel adatokat)For i=0 to 9, vagy For i=0 to 9 step 3, vagy For i=15 to 3 step-1
Elöltesztelős ciklus, pl.:
sor=10
Do While cells(sor,2)<>""
'ciklusmag
sor=sor+1
LoopNyűglődik a gépem, hol van hálózat, hol nincs.
[ 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.
-
föccer
nagyúr
válasz Delila_1 #7735 üzenetére
jahjahjah. A ciklusok megvannak. A gombnyomásra szorzótáblát már megcsináltam (avagy a for ciklus alapjai )
No ,meg kezdem érezni, hogy hol, mit hogyan találok meg. Kezdem látni a builder felépítését. Köszi a sok segítséget, még biztosan jövök kérdezni
üdv, föccer
mod: a for-nál kihagytad a végéről a next-et
üdv, föccer
[ Szerkesztve ]
Építésztechnikus. Építőmérnök.
-
föccer
nagyúr
válasz Delila_1 #7735 üzenetére
Üdv!
Rá tudom valahogy venni a VBasicot, hogy futtassa a már jól begyakorolt, és ismert excell függvényeket? Vagy külön le kell kódolnom mondjuk az fkeres(,,,), vagy az érték() függvéyneket? Ha igen, akkor hogyan? Sokat segítene, ha nem kellene mindent megírnom
Help-ben így hirtelen nem találom
köszi, üdv: föccer
Építésztechnikus. Építőmérnök.
-
Delila_1
Topikgazda
Egyenként meg tudnám mondani, de ezeket legjobb, ha makrórögzítéssel kipróbálod.
Rögzítésnél megtudod az angol megfelelőjüket.
R1C1 hivatkozást ad: az RC[-1] azt jelenti, hogy a sor, amire hivatkozol, nem változik, de az oszlop 1-gyel kevesebb, mint ahova a képletet írtad.
A C oszlop képletében ez azt jelenti, hogy a B oszlop azonos sorában lévő cellára hivatkozol.
Leírva kacifántos, biztos jobban is el lehetne mondani.[ 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.
-
Delila_1
Topikgazda
Az Fkeres-re itt egy példa:
Az G1 képletére a rögzítés ezt adta:
ActiveCell.FormulaR1C1 = "=VLOOKUP(RC[-1],C[-6]:C[-5],2,0)"
Átalakítva:
ActiveCell.Formula = "=VLOOKUP(F2,A:B,2,0)"
Ezt az átalakítottat a G2 cellán állva futtattam.
Ciklusba is beteheted, ott
cells(sor,7).formula= "=VLOOKUP(F" & sor & ",A:B,2,0)"[ 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.
-
föccer
nagyúr
válasz Delila_1 #7739 üzenetére
mint macska az esőt...
ezeken a hivatkozáson még agyalnom kell, mert még nem látom át a logikáját, de a többi megvan. Frankó. Gyakorlatilag, akkor úgy lehet makróból futtatni a már megszokott függvényeket, hogy kiválasztom az adott cellát, majd az aktív cellába beíratom képletként...
[ Szerkesztve ]
Építésztechnikus. Építőmérnök.
-
Delila_1
Topikgazda
A #7740-ben a sor a ciklusváltozó a
Cells(sor,7).Formula= "=VLOOKUP(F" & sor & ",A:B,2,0)"
sorban.[ 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.
-
Delila_1
Topikgazda
Igen. Az ÉRTÉK függvény helyett viszont mást írnék.
Ahhoz fel kell venned egy új oszlopot, feltöltöd a képletekkel, majd az újat irányítottan értékként rá kellene illesztened az eredetileg szövegként megadott számokat tartalmazó oszlopra, végül a képletet tartalmazó ideiglenes oszlopot törlöd.
Ezek helyett a ciklusmagbancells(sor,3)=cells(sor,3)*1
feltételezve, hogy a C oszlopban vannak a szöveg formátumú számok.
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
föccer
nagyúr
válasz Delila_1 #7739 üzenetére
Hm, miben különbözik a
FormulaR1C1
a sima
Formula
tól?
Abban, hogy a FormukaR1C1- ben a praméterezésnél az R1C1 pozíciótól számolod a cellákat (definiálod őket), míg a Sima Formulával pediglen a "globális" pozíció jelöléseket használom?
Köszi, üdv, föccer
[ Szerkesztve ]
Építésztechnikus. Építőmérnök.
-
föccer
nagyúr
válasz Delila_1 #7746 üzenetére
No, mondom Én, hogy kezdedm kapisgálni
Nem vagyok Én annyira elveszett bárány a programozás tekintetében. A progmat szakmában csak a mat-tal lett volna bajom. De azzal nagyonjah, egyébként csoki, vagy sör?
üdv, föccer
mod: off
[ Szerkesztve ]
Építésztechnikus. Építőmérnök.
Új hozzászólás Aktív témák
- Windows 10 Home COA fizikai licencek kiárusítás ingyenes szállítással
- Steam,EA,Epic és egyébb játékok Pc-re vagy XBox!
- Steames kulcsok jó áron eladóak!
- AKCIÓ! - STEAM kulcsok /Anuchard, Aragami, Children of Morta, stb. - 2024.04.17.
- Steam, Windows, Origin kulcsok, előfizetések közvetlenül a kiadótól, a LEGJOBB ÁRON!