„Excel-makro” változatai közötti eltérés
A Miau Wiki wikiből
(→Tutoriál-ajánlások) |
Jkv5 (vitalap | szerkesztései) (→Specialitások) |
||
(42 közbenső módosítás, amit 2 másik szerkesztő végzett, nincs mutatva) | |||
13. sor: | 13. sor: | ||
A programozás kapcsán a tudás életképes csírája az, amit egyszer már sikerült ténylegesen alkalmazni is a látottak, hallottak közül! | A programozás kapcsán a tudás életképes csírája az, amit egyszer már sikerült ténylegesen alkalmazni is a látottak, hallottak közül! | ||
+ | |||
+ | '''2023-tól minden Excel-makro-kérdést először a chatGPT-vel érdemes megkonzultálni: https://www.youtube.com/watch?v=yf783C-mnk4 ''' | ||
+ | + https://www.youtube.com/watch?v=obWIImqBMxc | ||
+ | Önellenőrzési lehetőség: Az az igény/elvárás/gondolat, melyet a chatGPT nem tud értelemesen kezelni, lehet, hogy még a Megrendelő fejében nem forrta ki magát eléggé?! | ||
+ | (pl. nincs meg a megfelelő szóhasználat, a megfelelő nyelvi letisztultság, ...) | ||
+ | |||
=Jó tanácsok= | =Jó tanácsok= | ||
31. sor: | 37. sor: | ||
''4 of 4: https://www.youtube.com/watch?v=rf8rK7rzoU0 (06:21 - EN)'' | ''4 of 4: https://www.youtube.com/watch?v=rf8rK7rzoU0 (06:21 - EN)'' | ||
− | *Fogalmi, stratégiai alapozás: https://www.youtube.com/watch?v=AEUKbrdTkiY (13:13 - HU) '''[tematika 1]''' | + | *Fogalmi, stratégiai alapozás: |
+ | **https://www.youtube.com/watch?v=AEUKbrdTkiY (13:13 - HU) '''[tematika 1]''' | ||
+ | ***https://www.youtube.com/watch?v=LM-OrJgFTqo (05:16 - HU) - Az Excel kapcsolata más OOP nyelvekkel | ||
+ | ***https://www.youtube.com/watch?v=zeOXmKGP8nA (04:58 - HU) - UML | ||
**Mi is az a VBA? | **Mi is az a VBA? | ||
**Mit jelent a makró-rögzítés? | **Mit jelent a makró-rögzítés? | ||
71. sor: | 80. sor: | ||
***https://learn.microsoft.com/en-us/office/vba/api/excel.worksheet.selectionchange (EN - TXT) | ***https://learn.microsoft.com/en-us/office/vba/api/excel.worksheet.selectionchange (EN - TXT) | ||
***https://www.excelanytime.com/excel/index.php?option=com_content&view=article&id=111:worksheet-selection-change-event-excel-vba&catid=79&Itemid=475 (EN- TXT) | ***https://www.excelanytime.com/excel/index.php?option=com_content&view=article&id=111:worksheet-selection-change-event-excel-vba&catid=79&Itemid=475 (EN- TXT) | ||
− | *** | + | ***reprodukciós nézet (nyomkövetésre adaptálva: Event-handling-09:44-EN): https://miau.my-x.hu/temp/demo/sheet7.xlsm |
***115 events: https://powerspreadsheets.com/excel-vba-events/(EN - TXT) | ***115 events: https://powerspreadsheets.com/excel-vba-events/(EN - TXT) | ||
***áttekintés: https://trumpexcel.com/vba-events/ (EN - TXT) | ***áttekintés: https://trumpexcel.com/vba-events/ (EN - TXT) | ||
− | *User forms: https://www.youtube.com/watch?v=1hmuvovrMDw (11:42- EN) | + | *User forms: |
+ | **https://www.youtube.com/watch?v=1hmuvovrMDw (11:42 - EN) - mini projekt | ||
+ | **https://www.youtube.com/watch?v=IA7n-Q0Fjdk (05:50 - HU) - űrlapok | ||
+ | **https://www.youtube.com/watch?v=r0NADeHCr5k (02:31 - HU) - űrlapok kezelése | ||
+ | **https://www.youtube.com/watch?v=18i4PQD89O0 (03:56 - HU) - űrlap-gombok | ||
+ | **https://www.youtube.com/watch?v=BAkDWy643aE (03:20 - HU) - feliratok | ||
+ | **https://www.youtube.com/watch?v=8ySzYkIHXaE (04.18 - HU) - adatbevitel | ||
+ | **https://www.youtube.com/watch?v=9jBf81a4pJI (07:49 - HU) - adatok áramlása űrlap és Excel között | ||
+ | **https://www.youtube.com/watch?v=MZlkPCId220 (04:26 - HU) - listák használata | ||
+ | **https://www.youtube.com/watch?v=vi2FJUic1Vs (10:20 - HU) - lista bővítése | ||
+ | **https://www.youtube.com/watch?v=bjg13QXEPMw (10:27 - HU) - sokelemes listák kezelése | ||
+ | **https://www.youtube.com/watch?v=mCyfe1Oh6Ao (11:27 - HU) - választási lehetőségek | ||
+ | **https://www.youtube.com/watch?v=gUDdncCPte8 (03:28 - HU) - checkbox vs. option button (jelölő négyzet, rádiógomb, adatkeret) I. (frame) | ||
+ | **https://www.youtube.com/watch?v=vKJR_niSv-A (05:01 - HU) - checkbox vs. option button (jelölő négyzet, rádiógomb, adatkeret) II. | ||
+ | **https://www.youtube.com/watch?v=uznil60y590 (09:27 - HU) - checkbox vs. option button (jelölő négyzet, rádiógomb, adatkeret) III. | ||
+ | **https://www.youtube.com/watch?v=-TPBQ7t0pyg (24:58 - HU) - checkbox vs. option button (jelölő négyzet, rádiógomb, adatkeret) IV. | ||
+ | **https://www.youtube.com/watch?v=-yWzgN-y6Go (15:44 - HU) - checkbox vs. option button (jelölő négyzet, rádiógomb, adatkeret) V. | ||
+ | **https://www.youtube.com/watch?v=neB38ULoq-M (06:15 - HU) - image | ||
**... | **... | ||
*Project explorer / Projekt tallózó: '''[tematika 2.3]''' | *Project explorer / Projekt tallózó: '''[tematika 2.3]''' | ||
89. sor: | 115. sor: | ||
**F4 | **F4 | ||
*Hibakezelés, hibakódok (szöveges segédanyagok): '''[tematika 5]''' | *Hibakezelés, hibakódok (szöveges segédanyagok): '''[tematika 5]''' | ||
− | **https://hu.excel-lib.net/11705448-excel-vba-error-handling-all-you-need-to-know (HU) | + | **https://hu.excel-lib.net/11705448-excel-vba-error-handling-all-you-need-to-know (HU - TXT) |
− | **https://hu.know-base.net/7580102-vba-error-handling (HU) | + | **https://hu.know-base.net/7580102-vba-error-handling (HU - TXT) |
− | **https://hu.excel-lib.com/11705873-error-handling (HU) | + | **https://hu.excel-lib.com/11705873-error-handling (HU - TXT) |
− | **https://hu.education-wiki.com/8318574-vba-error-handling (HU) | + | **https://hu.education-wiki.com/8318574-vba-error-handling (HU - TXT) |
− | **https://learn.microsoft.com/en-us/previous-versions/visualstudio/visual-studio-2010/s6da8809(v=vs.100)?redirectedfrom=MSDN (EN) <--forrás: https://www.excelforum.com/excel-programming-vba-macros/601056-list-of-runtime-error-codes.html (EN) | + | **https://www.youtube.com/watch?v=mCyfe1Oh6Ao (11:26 - HU) - ÉLŐ kódfejlesztés hibakezeléssel |
− | **Error codes (lista): https://chejunkie.com/knowledge-base/common-runtime-error-codes-vba/ (EN) | + | **https://www.youtube.com/watch?v=lzQrY2sRTWY (03:36 - HU) - Korrupt állományok javítása |
+ | ***háttér-állományok: https://drive.google.com/drive/folders/1Q3T-ggduRC75arCFn6rdsRmCvke24k3l | ||
+ | *** | ||
+ | **https://learn.microsoft.com/en-us/previous-versions/visualstudio/visual-studio-2010/s6da8809(v=vs.100)?redirectedfrom=MSDN (EN) <--forrás: https://www.excelforum.com/excel-programming-vba-macros/601056-list-of-runtime-error-codes.html (EN - TXT) | ||
+ | **Error codes (lista): https://chejunkie.com/knowledge-base/common-runtime-error-codes-vba/ (EN - TXT) | ||
**Error codes (lista): https://learn.microsoft.com/en-us/previous-versions/visualstudio/visual-basic-6/aa264975(v=vs.60)?redirectedfrom=MSDN (EN) | **Error codes (lista): https://learn.microsoft.com/en-us/previous-versions/visualstudio/visual-basic-6/aa264975(v=vs.60)?redirectedfrom=MSDN (EN) | ||
**Error codes (lista-generálás): https://learn.microsoft.com/hu-hu/office/vba/Language/Reference/User-Interface-Help/application-defined-or-object-defined-error (EN) | **Error codes (lista-generálás): https://learn.microsoft.com/hu-hu/office/vba/Language/Reference/User-Interface-Help/application-defined-or-object-defined-error (EN) | ||
117. sor: | 147. sor: | ||
***A makró-rögzítés során alkalmazott megoldási logika általában eltér a kódírás során felmerülő (quasi tisztán matematikai) megoldások logikáitól... (vö. transzponálás, szűrés vs. ciklusok vezérlése)... | ***A makró-rögzítés során alkalmazott megoldási logika általában eltér a kódírás során felmerülő (quasi tisztán matematikai) megoldások logikáitól... (vö. transzponálás, szűrés vs. ciklusok vezérlése)... | ||
***Minden ötltet azonnal és kicsi méretben ellenőrizni kell (vö. pl. debug, F8, watch) és már az első hibánál le kell cserélni/finomítani kell az ötletet... | ***Minden ötltet azonnal és kicsi méretben ellenőrizni kell (vö. pl. debug, F8, watch) és már az első hibánál le kell cserélni/finomítani kell az ötletet... | ||
+ | *Class-modules (VBA): | ||
+ | **https://www.youtube.com/watch?v=ie2Duci-qKQ (13:22 - EN) - (Válaszok a miért-is-lehet-ez-hasznos kérdésre...) | ||
*... | *... | ||
128. sor: | 160. sor: | ||
**https://xlmotyo.hu/blog/tombok-vba-ban/ (HU) (inkl. Option Base1és Option Explicit - https://excelkingdom.blogspot.com/2012/10/option-explicit.html) | **https://xlmotyo.hu/blog/tombok-vba-ban/ (HU) (inkl. Option Base1és Option Explicit - https://excelkingdom.blogspot.com/2012/10/option-explicit.html) | ||
*Tudnivalók az Active X megoldásokról: | *Tudnivalók az Active X megoldásokról: | ||
− | **https://support.microsoft.com/hu-hu/office/a-munkalapon-tal%C3%A1lhat%C3%B3-%C5%B1rlapok-%C5%B1rlapvez%C3%A9rl%C5%91k-%C3%A9s-activex-vez%C3%A9rl%C5%91elemek-%C3%A1ttekint%C3%A9se-15ba7e28-8d7f-42ab-9470-ffb9ab94e7c2 (HU) '''[tematika 6.4]''' | + | **https://support.microsoft.com/hu-hu/office/a-munkalapon-tal%C3%A1lhat%C3%B3-%C5%B1rlapok-%C5%B1rlapvez%C3%A9rl%C5%91k-%C3%A9s-activex-vez%C3%A9rl%C5%91elemek-%C3%A1ttekint%C3%A9se-15ba7e28-8d7f-42ab-9470-ffb9ab94e7c2 (HU - TXT) '''[tematika 6.4]''' |
+ | **Excel nyomógombok: | ||
+ | ***https://support.microsoft.com/hu-hu/office/makr%C3%B3-hozz%C3%A1rendel%C3%A9se-%C5%B1rlaphoz-vagy-vez%C3%A9rl%C5%91gombhoz-d58edd7d-cb04-4964-bead-9c72c843a283 (HU - TXT) | ||
+ | ***https://tablazatkezeles.hu/sajat-gombok-letrehozasa-excel (HU - TXT) | ||
+ | ***https://hu.extendoffice.com/documents/excel/2879-excel-create-button-to-open-sheet.html (HU - TXT) | ||
*Pivot funkciók numerikus kódjai: | *Pivot funkciók numerikus kódjai: | ||
**https://learn.microsoft.com/en-us/office/vba/api/excel.xlconsolidationfunction | **https://learn.microsoft.com/en-us/office/vba/api/excel.xlconsolidationfunction | ||
*Másolás, beillesztés: | *Másolás, beillesztés: | ||
− | **https://www.excelcampus.com/vba/copy-paste-cells-vba-macros/ (EN | + | **https://www.excelcampus.com/vba/copy-paste-cells-vba-macros/ (EN - TXT) |
*Egyedi listaelemek kinyerése makró nélkül: | *Egyedi listaelemek kinyerése makró nélkül: | ||
**https://www.excelanytime.com/excel/index.php?option=com_content&view=article&id=470&Itemid=694 (EN - TXT) | **https://www.excelanytime.com/excel/index.php?option=com_content&view=article&id=470&Itemid=694 (EN - TXT) | ||
**demo: https://miau.my-x.hu/temp/demo/select_distinct_2dm.xlsm | **demo: https://miau.my-x.hu/temp/demo/select_distinct_2dm.xlsm | ||
− | **Gyakorló feladat: Egyedi elemek kinyerése kimutatásvarázslással, kimutatásvarázslást rögzítő makróval, | + | ***EGYEDI(): https://support.microsoft.com/hu-hu/office/egyedi-f%C3%BCggv%C3%A9ny-c5ab87fd-30a3-4ce9-9d1a-40204fb85e1e |
+ | ***https://miau.my-x.hu/miau/293/flow1.xlsx (kérdőívek képlet-alapú értelmezése - pivot nélkül) | ||
+ | ***https://www.youtube.com/watch?v=obWIImqBMxc (DE - videó 00:15:00-) | ||
+ | **Gyakorló feladat: Egyedi elemek kinyerése kimutatásvarázslással, kimutatásvarázslást rögzítő makróval, kimutatásvarázslást nem használó, nem rögzített makróval | ||
+ | **Gyakorló feladat: Adatfrissítés utáni sorrendváltozás kikényszerítése makró nélkül: https://miau.my-x.hu/miau/292/makro_helyett.xlsx | ||
*Offset: | *Offset: | ||
− | **https://learn.microsoft.com/en-us/office/vba/api/excel.range.offset (EN- TXT) | + | **https://learn.microsoft.com/en-us/office/vba/api/excel.range.offset (EN - TXT) |
+ | *Worksheets vs Sheets | ||
+ | **https://exceloffthegrid.com/sheets-and-worksheets-in-vba/ (EN - TXT) | ||
*...(ide minden olyan forrás felsorolása indokolt, melyekre valakinek legalább egyszer érdemes volt rákeresnie)... | *...(ide minden olyan forrás felsorolása indokolt, melyekre valakinek legalább egyszer érdemes volt rákeresnie)... | ||
161. sor: | 203. sor: | ||
*A jó programozó nem (csak) az, aki minden kérdésre azonnal és fejből tudja a választ, hanem az, aki képes az online tutoriálok, fórumok erdejében minél gyorsabban eligazodni. | *A jó programozó nem (csak) az, aki minden kérdésre azonnal és fejből tudja a választ, hanem az, aki képes az online tutoriálok, fórumok erdejében minél gyorsabban eligazodni. | ||
*A programírás kevésbé a hogyan valósítsunk meg egy jól átgondolt adatfeldolgozási lépéssort problémájának kezelését jelenti, mint magának a megprogramozandó lépéssornak a minél inkább VBA-specifikus megtervezését. | *A programírás kevésbé a hogyan valósítsunk meg egy jól átgondolt adatfeldolgozási lépéssort problémájának kezelését jelenti, mint magának a megprogramozandó lépéssornak a minél inkább VBA-specifikus megtervezését. | ||
+ | *Bizonyos más programnyelvekkel hasonló tapasztalatokra lehet szert tenni: pl. | ||
+ | **https://www.youtube.com/watch?v=-NBh_GZ81os (HU-tutoriál: C# .NET fejlesztés alapjai) | ||
+ | **... | ||
*... | *... | ||
186. sor: | 231. sor: | ||
**Adatok: https://www.met.hu/eghajlat/magyarorszag_eghajlata/eghajlati_adatsorok/Budapest/adatok/napi_adatok/index.php | **Adatok: https://www.met.hu/eghajlat/magyarorszag_eghajlata/eghajlati_adatsorok/Budapest/adatok/napi_adatok/index.php | ||
**Módszertani demo: http://miau.my-x.hu/miau/111/chf30.doc | **Módszertani demo: http://miau.my-x.hu/miau/111/chf30.doc | ||
+ | **Részmegoldás makró-támogatással: https://miau.my-x.hu/miau/292/fagyos_napok_szama.xlsm | ||
=Specialitások= | =Specialitások= | ||
+ | *F9<>xlsm: "Calculate" hatásai a cella-vizualizáció animációjára makro nélkül és makro-val: https://miau.my-x.hu/miau/302/Mappe1.xlsm | ||
+ | *Makro-alapú Excel-hibajegy-kezelés kísérlete (valós esettanulmány): https://miau.my-x.hu/miau/302/excel_support1.docx | ||
*Goto/Gosub (VBA-használat mindennemű Excel-kötődés/felületi kapcsolat nélkül quasi tisztán matematikai célokra): | *Goto/Gosub (VBA-használat mindennemű Excel-kötődés/felületi kapcsolat nélkül quasi tisztán matematikai célokra): | ||
**https://learn.microsoft.com/en-us/office/vba/language/reference/user-interface-help/gosubreturn-statement (EN, TXT) | **https://learn.microsoft.com/en-us/office/vba/language/reference/user-interface-help/gosubreturn-statement (EN, TXT) | ||
261. sor: | 309. sor: | ||
**Ha nem fut le minden egyes (elvileg identikus) laptopon ugyanaz a pivot-táblán belüli rendezést előíró makró? | **Ha nem fut le minden egyes (elvileg identikus) laptopon ugyanaz a pivot-táblán belüli rendezést előíró makró? | ||
**ilyen esetben nem is lehet több cellát a makró-rögzítés kapcsán kijelölni a rendezés kikényszerítéséhez... | **ilyen esetben nem is lehet több cellát a makró-rögzítés kapcsán kijelölni a rendezés kikényszerítéséhez... | ||
− | **ha tehát nem stabil a rendezés pivot-on belül, akkor kerülő út lehet a pivot másolatának rendezése: pl. https://www.automateexcel.com/vba/sorting/ | + | **ha tehát nem stabil a rendezés pivot-on belül, akkor kerülő út lehet a pivot másolatának rendezése: pl. https://www.automateexcel.com/vba/sorting/ (EN - TXT) |
− | **alternatív megoldás a makró-rögzítés logikája helyett a kézzel írt kód a rendezés kapcsán: pl. https://stackoverflow.com/questions/39778636/sort-pivottable-vba | + | **alternatív megoldás a makró-rögzítés logikája helyett a kézzel írt kód a rendezés kapcsán: pl. https://stackoverflow.com/questions/39778636/sort-pivottable-vba (EN - TXT) |
*CMD-hívás (pl. C-URL) VBA-ból: | *CMD-hívás (pl. C-URL) VBA-ból: | ||
**https://stackoverflow.com/questions/17956651/execute-a-command-in-command-prompt-using-excel-vba | **https://stackoverflow.com/questions/17956651/execute-a-command-in-command-prompt-using-excel-vba | ||
− | **https://miau.my-x.hu/bprof/2021/curl.docx | + | **https://miau.my-x.hu/bprof/2021/curl.docx (HU - TXT) |
+ | *REM blokkosítása (sok kódsort egyszerre kijelölve): | ||
+ | **https://www.tachytelic.net/2018/11/how-to-comment-a-block-of-code-in-the-microsoft-office-vba-editor/ (inkl. videó 00:19) | ||
+ | *Merevlemezről CSV-állomány beolvasása sorról sorra: | ||
+ | **https://www.exceldemy.com/excel-vba-read-csv-file-line-by-line/ (EN - TXT) | ||
+ | **inkl. DO-UNTIL-LOOP | ||
+ | *Cellák tartalmának, helyének, típusának lekérdezése: | ||
+ | **https://support.microsoft.com/hu-hu/office/cella-f%C3%BCggv%C3%A9ny-51bd39a5-f338-4dbe-a33f-955d67c2b2cf (HU - TXT) | ||
+ | **https://www.automateexcel.com/vba/activecell-row-column/ (EN - TXT) | ||
+ | *Range-műveletek: | ||
+ | **https://www.wallstreetmojo.com/vba-variable-range/ (EN - TXT) | ||
+ | **https://learn.microsoft.com/en-us/office/vba/api/excel.range.address (EN - TXT) | ||
+ | *Email-küldés Excel-adatokkal: https://www.youtube.com/watch?v=obWIImqBMxc (DE - videó - kb. 00.19.00-) | ||
+ | *Legördülő lista előállítása: https://www.youtube.com/watch?v=obWIImqBMxc (DE - videó - kb. 00:24:00-) | ||
+ | *BEEP() és a HA()-függvény kapcsolata: https://www.youtube.com/watch?v=ue9a71AEVm4 (EN - videó) | ||
*... | *... | ||
A lap jelenlegi, 2023. augusztus 27., 09:19-kori változata
A szócikk laptörténete (https://miau.my-x.hu/mediawiki/index.php?title=Excel-makro&action=history) felfogható egy autodidakta VBA-kurzus lehetséges lefolyásaként!
A szócikk célja, hogy tutoriál-ajánlások mellett rámutasson szemléletformáló részletekre a rögzítés alapú makró-írás kapcsán. A makró-rögzítésből ugyanis ritkán lesz pont az a funkcionalitás, amire ténylegesen szüksége van a felhasználónak. Így a makró-rögzítés utáni kód hatásos és hatékony átalakítása érdekében tudni kell, mi is a felhasználó valós mozgástere (pl. mely "beégetett" paraméter hogyan vezérelhető). Ez a wiki-szócikk tehát a rögzített makrókkal való együttműködést helyezi a fókuszba, de jelzés-értékűen egyfajta "Excel-mentes" programozási mintákat is bemutat... (A VBA az itt jelzetteknél lényegesen többet tud! - vö. ajánlott tankönyv)
Egy Excel-tanfolyam lényege a szakmai vita, a ténylegesen megoldandó feladatokkal való közös azonosulás, az alternatívák és/vagy kockázatok feltárása, vagyis a miértek közös értelmezése. Ha nem az interaktivitás a célja egy képzésnek, vagyis csak a hogyanok a lényegesek és a miértek nem relevánsak, akkor tutoriálok kell készíteni/keresni/használni, ahogy az itt is számos ponton előkerül...
A programozás kapcsán a tudás életképes csírája az, amit egyszer már sikerült ténylegesen alkalmazni is a látottak, hallottak közül!
2023-tól minden Excel-makro-kérdést először a chatGPT-vel érdemes megkonzultálni: https://www.youtube.com/watch?v=yf783C-mnk4 + https://www.youtube.com/watch?v=obWIImqBMxc Önellenőrzési lehetőség: Az az igény/elvárás/gondolat, melyet a chatGPT nem tud értelemesen kezelni, lehet, hogy még a Megrendelő fejében nem forrta ki magát eléggé?! (pl. nincs meg a megfelelő szóhasználat, a megfelelő nyelvi letisztultság, ...)
Tartalomjegyzék
Jó tanácsok
- Bármennyire fáradságos, érdemes már rögtön az első kódírási kísérletkor az első VBA-rendszerüzenetet/hibaüzenetet, ennek kiváltó kódját és a megoldást jelentő kódot, ill. a megoldás lényegét egy fajta munkanaplóban folyamatosan rögzíteni, mert a rendszerüzenet/hibaüzenetek nem elég specifikusak ahhoz, hogy a programozó azonnal tudja, mit is rontott el, valamint hol kell változtatni a siker érdekében!
- Ha egy kód azonnal sikerül, érdemes elrontani minél több ponton, hogy lássuk a rontások hatásait a működésre és/vagy a hibaüzenetekre...
- Minél rövidebb egy kód, annál egyszerűbb rájönni a felmerülő hibák okára.
- Érdemes minden kódírás előtt úm. manuálisan végig vinni a tervezett (adatfeldolgozási) lépéseket és így teszteredményekhez jutni, melyeket a lépésről-lépésre törtőnő (F8) ellenőrzés alatt minden egyes változó minden időpillanatban felvett értéke kapcsán lehet majd hasznosítani.
Tutoriál-ajánlások
Tankönyv: pl. https://szlavip.web.elte.hu/Magamnak/VB/VB_le%EDr%E1s.pdf
Gyors áttekintés/önteszt (17 kérdéskör): https://www.youtube.com/watch?v=S5awwOwnyhE (17 releváns tudnivaló kezdőknek - 16:35 EN) inkl. [tematika 5] Technikák/önteszt (7 kérdéskör): https://www.youtube.com/watch?v=RD5mi9ba_Ys (7 koncepcionális alapvetés kezdőknek - 16:03 - EN) inkl. [tematika 3 + tematika 1.4/2.1] Cellák kezelése (.cells) a VBA-ban/önteszt: https://www.youtube.com/watch?v=x_PCdMlO41M (1of4 - 05:56 - EN) inkl. [tematika 3] 2 of 4: https://www.youtube.com/watch?v=tlmFmcimIwU (06:21 - EN) 3 of 4: https://www.youtube.com/watch?v=oW2ZqqArIhA (05:24 - EN) 4 of 4: https://www.youtube.com/watch?v=rf8rK7rzoU0 (06:21 - EN)
- Fogalmi, stratégiai alapozás:
- https://www.youtube.com/watch?v=AEUKbrdTkiY (13:13 - HU) [tematika 1]
- https://www.youtube.com/watch?v=LM-OrJgFTqo (05:16 - HU) - Az Excel kapcsolata más OOP nyelvekkel
- https://www.youtube.com/watch?v=zeOXmKGP8nA (04:58 - HU) - UML
- Mi is az a VBA?
- Mit jelent a makró-rögzítés?
- Mit jelent az MS Office-hatókör (pl. Excel, Word, ...)?
- Videó-kommentárok:
- Makró-rögzítés indítása:
- ALT+F8 és/vagy menü:
- NÉZET
- MAKRÓK,
- ill. Fejlesztőeszközök menü-szalagról,
- valamint ALT+F11 (VBA-környezet indítása, ill.
- visszalépés az Excel-be, ALT+Q VBA bezárása ÉS visszatérés az Excel-be)
- ALT+F8 és/vagy menü:
- Makró-rögzítés típusa: abszolút (A1:B2) vagy relatív (S[1]O[1]) [tematika 1.2]
- Nem csak abban a munkafüzetben fut a felvett makró, ahol készült!
- Ha nem látható a menü-szalagon a fejlesztőeszközök opció, akkor
- FÁJL
- BEÁLLÍTÁSOK
- MENÜSZALAG TESTRE SZABÁSA
- Fejlesztőeszközök bekapcsolása (jobb oldali lista: inkl. kód, bővítmények, vezérlők, xml)<--vö. következő tutoriál (VBA-haladóknak)
- (s a videóban látható, a képernyő bal alsó részén lévő makrórögzítés/leállítás ikon innentől válik láthatóvá csak)
- Makró-rögzítés indítása:
- https://www.youtube.com/watch?v=AEUKbrdTkiY (13:13 - HU) [tematika 1]
- VBA haladóknak: https://www.youtube.com/watch?v=fg_A40nzq5Y (19:04 - HU) [tematika 2]
- Fejlesztőeszközök menü-szalag bekapcsolása/bemutatása
- Eseményvezérlés
- XLSM-alapú mentés
- Űrlap (form), gomb (button), címke (label) [tematika 6]
- Videó-kommentárok:
- Minden önmagában tesztelhető lépést tesztelni érdemes!
- A makrót indító billentyű-parancs esetén a CTRL már adott, tehát csak a SHIFT+G kell lenyomni majd a CTRL+SHIFT+G definiálásához.
- Lehetőség szerint ne használjunk foglalt billentyű-parancsokat.
- Billentyű-parancsok áttekintése: pl. https://support.microsoft.com/hu-hu/office/az-excel-billenty%C5%B1parancsai-1798d9d5-842a-42b8-9c99-9b7213f0040f
- Reprodukciós nézet: https://miau.my-x.hu/temp/demo/vba_open.xlsm [tematika 4]
- Többlet-szöveg
- If/then egysoros nézete (vö. "_" sortörés lehetősége a kódírás során)
- Event handling: https://www.youtube.com/watch?v=Z2brmJ1iqCk (09:44 - EN) [tematika 3]
- Munkalap-specifikus kódírás (private sub)
- Angol nyelvű szakszavak
- Objektum-orientáltság (pl. munkalap_esemény)
- Event-dokumentációk:
- https://learn.microsoft.com/en-us/office/vba/api/excel.worksheet.selectionchange (EN - TXT)
- https://www.excelanytime.com/excel/index.php?option=com_content&view=article&id=111:worksheet-selection-change-event-excel-vba&catid=79&Itemid=475 (EN- TXT)
- reprodukciós nézet (nyomkövetésre adaptálva: Event-handling-09:44-EN): https://miau.my-x.hu/temp/demo/sheet7.xlsm
- 115 events: https://powerspreadsheets.com/excel-vba-events/(EN - TXT)
- áttekintés: https://trumpexcel.com/vba-events/ (EN - TXT)
- User forms:
- https://www.youtube.com/watch?v=1hmuvovrMDw (11:42 - EN) - mini projekt
- https://www.youtube.com/watch?v=IA7n-Q0Fjdk (05:50 - HU) - űrlapok
- https://www.youtube.com/watch?v=r0NADeHCr5k (02:31 - HU) - űrlapok kezelése
- https://www.youtube.com/watch?v=18i4PQD89O0 (03:56 - HU) - űrlap-gombok
- https://www.youtube.com/watch?v=BAkDWy643aE (03:20 - HU) - feliratok
- https://www.youtube.com/watch?v=8ySzYkIHXaE (04.18 - HU) - adatbevitel
- https://www.youtube.com/watch?v=9jBf81a4pJI (07:49 - HU) - adatok áramlása űrlap és Excel között
- https://www.youtube.com/watch?v=MZlkPCId220 (04:26 - HU) - listák használata
- https://www.youtube.com/watch?v=vi2FJUic1Vs (10:20 - HU) - lista bővítése
- https://www.youtube.com/watch?v=bjg13QXEPMw (10:27 - HU) - sokelemes listák kezelése
- https://www.youtube.com/watch?v=mCyfe1Oh6Ao (11:27 - HU) - választási lehetőségek
- https://www.youtube.com/watch?v=gUDdncCPte8 (03:28 - HU) - checkbox vs. option button (jelölő négyzet, rádiógomb, adatkeret) I. (frame)
- https://www.youtube.com/watch?v=vKJR_niSv-A (05:01 - HU) - checkbox vs. option button (jelölő négyzet, rádiógomb, adatkeret) II.
- https://www.youtube.com/watch?v=uznil60y590 (09:27 - HU) - checkbox vs. option button (jelölő négyzet, rádiógomb, adatkeret) III.
- https://www.youtube.com/watch?v=-TPBQ7t0pyg (24:58 - HU) - checkbox vs. option button (jelölő négyzet, rádiógomb, adatkeret) IV.
- https://www.youtube.com/watch?v=-yWzgN-y6Go (15:44 - HU) - checkbox vs. option button (jelölő négyzet, rádiógomb, adatkeret) V.
- https://www.youtube.com/watch?v=neB38ULoq-M (06:15 - HU) - image
- ...
- Project explorer / Projekt tallózó: [tematika 2.3]
- https://www.youtube.com/watch?v=dglaT9H7ZNk (01:14 - EN)
- https://www.youtube.com/watch?v=q7jdCP3CdkI (02:21 - EN)
- CTRL+R
- Object explorer / Objektum tallózó: [tematika 2.6]
- https://www.youtube.com/watch?v=d95AvpgmfWQ (04:38 - EN)
- A súgó minden listaelemre elérhető (zömmel angolul / online / jobb egérgombon keresztül - az adott elemre kattintva): pl. https://learn.microsoft.com/hu-hu/office/vba/api/excel.application.calculate?f1url=%3FappId%3DDev11IDEF1%26l%3Dhu-HU%26k%3Dk(vbaxl10.chm183084)%3Bk(TargetFrameworkMoniker-Office.Version%3Dv16)%26rd%3Dtrue
- F2
- Properties window / tulajdonság ablak [tematika 2.4]
- https://www.youtube.com/watch?v=dglaT9H7ZNk (01:14 - EN)
- https://www.youtube.com/watch?v=v9ml70RUBVs (04:10 - EN)
- F4
- Hibakezelés, hibakódok (szöveges segédanyagok): [tematika 5]
- https://hu.excel-lib.net/11705448-excel-vba-error-handling-all-you-need-to-know (HU - TXT)
- https://hu.know-base.net/7580102-vba-error-handling (HU - TXT)
- https://hu.excel-lib.com/11705873-error-handling (HU - TXT)
- https://hu.education-wiki.com/8318574-vba-error-handling (HU - TXT)
- https://www.youtube.com/watch?v=mCyfe1Oh6Ao (11:26 - HU) - ÉLŐ kódfejlesztés hibakezeléssel
- https://www.youtube.com/watch?v=lzQrY2sRTWY (03:36 - HU) - Korrupt állományok javítása
- háttér-állományok: https://drive.google.com/drive/folders/1Q3T-ggduRC75arCFn6rdsRmCvke24k3l
- https://learn.microsoft.com/en-us/previous-versions/visualstudio/visual-studio-2010/s6da8809(v=vs.100)?redirectedfrom=MSDN (EN) <--forrás: https://www.excelforum.com/excel-programming-vba-macros/601056-list-of-runtime-error-codes.html (EN - TXT)
- Error codes (lista): https://chejunkie.com/knowledge-base/common-runtime-error-codes-vba/ (EN - TXT)
- Error codes (lista): https://learn.microsoft.com/en-us/previous-versions/visualstudio/visual-basic-6/aa264975(v=vs.60)?redirectedfrom=MSDN (EN)
- Error codes (lista-generálás): https://learn.microsoft.com/hu-hu/office/vba/Language/Reference/User-Interface-Help/application-defined-or-object-defined-error (EN)
- Beállítások elérése:
- TOOLS
- OPTIONS
- Form controls / Űrlapvezérlők: [tematika 6]
- https://hu.excel-lib.com/11705621-checkbox (jelölő négyzet / szöveges, HU)
- Makró-futtatás tiltásának manuális feloldása:
- Gyakorló feladatok:
- http://miau.my-x.hu/miau/236/3333_makro_versions.xlsm (csak kód)
- https://miau.my-x.hu/digeco/coco_prg1.xlsm (csak kód)
- !!!ÉLŐ PROBLÉMA-MEGOLDÁS (angolul): https://www.youtube.com/watch?v=zA_Q_Yws0gQ (43:32 - EN) + Makró nélkül?! (https://miau.my-x.hu/temp/demo/minden_harmadik_adat_transzponalasa.xlsx) + Alternatív makró rögzítéssel: https://miau.my-x.hu/temp/demo/minden_harmadik_adat_transzponalasa.xlsm
- Konklúziók:
- Nem a megvalósítás (kódírás) a kritikus általában, hanem a megvalósítandó lépések matematikailag/logikailag korrekt tervezése (vö. vagyis az ötlet maga)!
- Az Excel beépített függvényei, funkciói általában gyorsabbak, mint bármi más, amit a felhasználó meg tud programozni...
- A gyorsaság mellett a memória terheltsége is lehet fontos...
- A makró-rögzítés keretében keletkező kód beégetődő paramétereit általában felül kell vezérelni (tudni)...
- Egy program szinte soha nincs készen, mert egyes komponensei nem elég univerzálisak, de ami adott, az lehet éppen már működőképes... (vö. FOR-ciklus hossza manuálisan, vagy DO-UNTIL-LOOP-ciklus)...
- A kódírás közgazdasági kérdés (vö. információs többletérték): egy kód nem kerülhet többe, mint amennyi hasznot elvárunk tőle...
- A makró-rögzítés során alkalmazott megoldási logika általában eltér a kódírás során felmerülő (quasi tisztán matematikai) megoldások logikáitól... (vö. transzponálás, szűrés vs. ciklusok vezérlése)...
- Minden ötltet azonnal és kicsi méretben ellenőrizni kell (vö. pl. debug, F8, watch) és már az első hibánál le kell cserélni/finomítani kell az ötletet...
- Class-modules (VBA):
- https://www.youtube.com/watch?v=ie2Duci-qKQ (13:22 - EN) - (Válaszok a miért-is-lehet-ez-hasznos kérdésre...)
- ...
Szöveges segédanyagok
- Esemény-vezérlők:
- Paraméterezések:
- https://excelribbon.tips.net/T010030_Specifying_Location_for_a_Message_Box.html (message_box helyett input_box)
- Változók/tömbök:
- https://xlmotyo.hu/blog/tombok-vba-ban/ (HU) (inkl. Option Base1és Option Explicit - https://excelkingdom.blogspot.com/2012/10/option-explicit.html)
- Tudnivalók az Active X megoldásokról:
- https://support.microsoft.com/hu-hu/office/a-munkalapon-tal%C3%A1lhat%C3%B3-%C5%B1rlapok-%C5%B1rlapvez%C3%A9rl%C5%91k-%C3%A9s-activex-vez%C3%A9rl%C5%91elemek-%C3%A1ttekint%C3%A9se-15ba7e28-8d7f-42ab-9470-ffb9ab94e7c2 (HU - TXT) [tematika 6.4]
- Excel nyomógombok:
- https://support.microsoft.com/hu-hu/office/makr%C3%B3-hozz%C3%A1rendel%C3%A9se-%C5%B1rlaphoz-vagy-vez%C3%A9rl%C5%91gombhoz-d58edd7d-cb04-4964-bead-9c72c843a283 (HU - TXT)
- https://tablazatkezeles.hu/sajat-gombok-letrehozasa-excel (HU - TXT)
- https://hu.extendoffice.com/documents/excel/2879-excel-create-button-to-open-sheet.html (HU - TXT)
- Pivot funkciók numerikus kódjai:
- Másolás, beillesztés:
- Egyedi listaelemek kinyerése makró nélkül:
- https://www.excelanytime.com/excel/index.php?option=com_content&view=article&id=470&Itemid=694 (EN - TXT)
- demo: https://miau.my-x.hu/temp/demo/select_distinct_2dm.xlsm
- EGYEDI(): https://support.microsoft.com/hu-hu/office/egyedi-f%C3%BCggv%C3%A9ny-c5ab87fd-30a3-4ce9-9d1a-40204fb85e1e
- https://miau.my-x.hu/miau/293/flow1.xlsx (kérdőívek képlet-alapú értelmezése - pivot nélkül)
- https://www.youtube.com/watch?v=obWIImqBMxc (DE - videó 00:15:00-)
- Gyakorló feladat: Egyedi elemek kinyerése kimutatásvarázslással, kimutatásvarázslást rögzítő makróval, kimutatásvarázslást nem használó, nem rögzített makróval
- Gyakorló feladat: Adatfrissítés utáni sorrendváltozás kikényszerítése makró nélkül: https://miau.my-x.hu/miau/292/makro_helyett.xlsx
- Offset:
- Worksheets vs Sheets
- ...(ide minden olyan forrás felsorolása indokolt, melyekre valakinek legalább egyszer érdemes volt rákeresnie)...
Programozás-filozófiai alapvetések
- A VBA olyan speciális keretrendszer, ahol
- a grafikus interfész egy része = maga az Excel normál nézete
- a grafikus interfész másik része pl. a VBA-alapú űrlapok, vezérlők
- s a normál Excel-felületen lehetséges olyan manuális adatfeldolgozási logika kialakítása
- és makró-rögzítéssel való hibátlan (esetlegesen hiányos) kóddá konvertálása
- mely kódrészletek felfoghatók egy építőanyag-raktárban tárolt erőforrásoknak
- s ezen erőforrások (építőanyagok: pl. szűrés, pivot, diagram, cellába is írható függvények, stb.) kapcsán a makrórögzítés egyedi (beégetett) paraméterei
- programkódból felülvezérelhetők
- így az építőanyagok eset-specifikusan testre szabhatók
- s végül az épület (a program) ezen speciálisan felparaméterezett építőanyagok megfelelő sorrendű kapcsolatát jelentik...
- Az objektum-orientáltság látszólag már áttekinthetetlen kombinatorikai/lehetőségi teret jelent, mely azonban inkább segít, mint hátráltat.
- A VBA használható természetesen mindennemű grafikus felület bármilyen jellegű (vö. input/output) bevonása nélkül is (vö. változók definiálása, memória-alapú adatfeldolgozás).
- A VBA használata annál indokoltabb, minél inkább sikerül a makró-rögzítővel előre legyártható sablonokra (építőanyagokra) támaszkodni.
- Kódot "csak" a sablonok testre szabását illetően érdemes írni.
- Minden funkció, amit mások már függvényként, vagy más módon előkészítettek, saját kódból is előállíthatók, de ezek a megoldások általában sokkal lassabbak lesznek.
- A VBA-programírás lényege a sablonok testre szabásának képessége, vagyis hogy az azokba látszólag beégetett értékeket tetszőlegesen vezérelhető változókká és/vagy grafikus felületről érkező inputok tartalmává tudjuk alakítani.
- Hasonlóképpen a programozási tudás fokmérője az Excel/VBA beépített funkcionalitásainak megkerülni tudása (pl. diagramok automatikus sorszámozásának programozó általi vezérelni tudása, vagy ennek megkerülése, pl. legrosszabb esetben is a teljes munkafüzet bezárásán és újra indításán keresztül).
- A jó programozó nem (csak) az, aki minden kérdésre azonnal és fejből tudja a választ, hanem az, aki képes az online tutoriálok, fórumok erdejében minél gyorsabban eligazodni.
- A programírás kevésbé a hogyan valósítsunk meg egy jól átgondolt adatfeldolgozási lépéssort problémájának kezelését jelenti, mint magának a megprogramozandó lépéssornak a minél inkább VBA-specifikus megtervezését.
- Bizonyos más programnyelvekkel hasonló tapasztalatokra lehet szert tenni: pl.
- https://www.youtube.com/watch?v=-NBh_GZ81os (HU-tutoriál: C# .NET fejlesztés alapjai)
- ...
- ...
Tanfolyami vezér-feladatok
- Alkossunk meg egy 8 rétegű személyiségprofil-készítő rendszert a 2DM játék log-adatai alapján méret-függetlenül, de minél kevesebb kódírással a makrórögzítési szakaszok után!
- https://miau.my-x.hu/miau/254/2dm_kemia_demo/
- https://miau.my-x.hu/temp/demo/robot_profiling_macro_f1.xlsm (első elemzési réteg)
- https://miau.my-x.hu/temp/demo/robot_profiling_macro_select.xlsm (paraméterezési demo)
- https://miau.my-x.hu/temp/demo/robot_profiling_macro_f2.xlsm (második elemzési réteg inkl. paraméterezési demo)
- https://miau.my-x.hu/temp/demo/f3_1.xlsm (harmadik elemzési réteg)
- https://miau.my-x.hu/temp/demo/f4_1.xlsm (negyedik elemzési réteg: az f3-makró alapján kizárólag paraméter-finomhangolással - makró-rögzítés nélkül)
- f5-f6-f7-f8-f* (ASAP)
- Háttér-logika:
- https://miau.my-x.hu/temp/demo/f5_1.xlsm (sebesség3 fogalmának levezetése csak szűrletekre érvényes műveleteken keresztül)
- ...
Házi feladat
- Milyen hideg lesz a tél 2022-ben?
- Adatok: https://www.met.hu/eghajlat/magyarorszag_eghajlata/eghajlati_adatsorok/Budapest/adatok/napi_adatok/index.php
- Módszertani demo: http://miau.my-x.hu/miau/111/chf30.doc
- Részmegoldás makró-támogatással: https://miau.my-x.hu/miau/292/fagyos_napok_szama.xlsm
Specialitások
- F9<>xlsm: "Calculate" hatásai a cella-vizualizáció animációjára makro nélkül és makro-val: https://miau.my-x.hu/miau/302/Mappe1.xlsm
- Makro-alapú Excel-hibajegy-kezelés kísérlete (valós esettanulmány): https://miau.my-x.hu/miau/302/excel_support1.docx
- Goto/Gosub (VBA-használat mindennemű Excel-kötődés/felületi kapcsolat nélkül quasi tisztán matematikai célokra):
- https://learn.microsoft.com/en-us/office/vba/language/reference/user-interface-help/gosubreturn-statement (EN, TXT)
- Gyakorló feladat: https://miau.my-x.hu/temp/demo/no_excel_goto_gosub.xlsm
- Kommentárok:
- nem mindegy hol kerül az RND() érték inicializálásra szakasz1 előtt, vagy után
- érdemes felkészülni minden esetben arra, hogy a programlogika téves és végtelen ciklus/futásidő igény alakul ki
- Végtelen programfutás megszakításának lehetőségei: pl. https://hu.excel-lib.com/11705874-interrupt-a-macro (HU, TXT) + https://www.google.com/search?q=ctrl+break+on+dell+laptop (ctrl+break billentyű-kombináció beazonosítása pl. DELL laptopokon), ill. (HP: ctrl+fn+JOBBshift)
- Paraméter-átadás sub-ok között modulon belül:
- https://learn.microsoft.com/en-us/office/vba/language/concepts/getting-started/calling-sub-and-function-procedures (EN, TXT)
- Gyakorló feladat: https://miau.my-x.hu/temp/demo/no_excel_sub2sub.xlsm
- Kommentárok:
- A goto/gosub logikából egyes részletek átemelésre kerültek szakasz1() és szakasz2() sub()-okba egymásra láncolva meghívva ezeket (Call)
- A változók átadása a Call név(változó1, változó2, ...) alapon történik.
- A változók fogadása a sub létrehozásakor is a fenti logikát követi sub név(változó1, változó2, ...).
- Nem minden változót kell átadni modulon belül, hogy a fő működés teljesüljön.
- Változók átadása modulok között:
- Paraméter-átadás Excel-file-ok között:
- https://prog.hu/tudastar/202388/vba-parameter-vagy-valtozo-atadas-excel-fajlok-kozott
- Gyakorló feladatok: https://miau.my-x.hu/temp/demo/no_excel_file2file_aaa.xlsm + https://miau.my-x.hu/temp/demo/no_excel_file2file_bbb.xlsm (vö. elsofile() sub indítása)
- Gyakorló feladatok: https://miau.my-x.hu/temp/demo/no_excel_file2file_aaa2.xlsm + https://miau.my-x.hu/temp/demo/no_excel_file2file_bbb2.xlsm (vö. elsofile() sub indítása) - bbb2aaa2bbb (azaz láncreakció a C-meghajtó azonos könyvtárában a felhasználó által kezelt mindkét xlsm esetén)
- Gyakorló feladatok: elérési utak teljes állomány-elnevezéssel, kiterjesztéssel: https://miau.my-x.hu/temp/demo/no_excel_file2file_aaa2b.xlsm + https://miau.my-x.hu/temp/demo/no_excel_file2file_bbb2b.xlsm
- Gyakorló feladatok: sharepoint-elérési utak teljes állomány-elnevezéssel, kiterjesztéssel: https://miau.my-x.hu/temp/demo/no_excel_file2file_aaa2c.xlsm + https://miau.my-x.hu/temp/demo/no_excel_file2file_bbb2c.xlsm (csak demo a szerzőn kívül megfelelő jogosultságok nélkül) + https://miau.my-x.hu/temp/demo/sharepoint.png (csak a bbb-t megnyitva, s a hiba az aaa nyitása kapcsán lép fel - lokálisan)
- VBA és WIN-SCP együttműködése:
- VBA és távoli meghajtók kapcsolata
- Tömbök:
- Képletek cellába írása (abszolút és relatív hivatkozásokkal)
- Excel-verziók hatásai: https://miau.my-x.hu/mediawiki/index.php/Makro-parok-1 (2016 vs 365)
- Fájlból olvasás, fájlba írás:
- https://software-solutions-online.com/vba-open-files/ (EN - TXT)
- Gyakorló feladat: https://miau.my-x.hu/temp/demo/fajlbol_olvasas_fajlba_iras.xlsm
- https://miau.my-x.hu/temp/demo/log2.csv
- https://miau.my-x.hu/temp/demo/log
- https://miau.my-x.hu/temp/demo/log.txt (a kiterjesztés nélküli állomány lett ellátva txt-kiterjesztéssel)
- FreeFile: https://szlavip.web.elte.hu/Magamnak/VB/VB_le%EDr%E1s.pdf#page=353
- Solver engedélyezése:https://www.wallstreetmojo.com/vba-solver/ (EN - TXT)
- Excel: Options / Addins / Go / Solver
- VBA: Tools / References / Solver
- Reset Solver - lehetőség szerint minden indítás előtt (pl. https://www.solver.com/excel-solver-solverreset-function - EN - TXT)
- Gyakorló feladat: https://miau.my-x.hu/temp/demo/solver.xlsm
- WORD-makró futtatása Excel-ben (nem triviális):
- PowerPoint - makró-rögzítés nincs
- Vágólap-kezelés:
- https://exceloffthegrid.com/what-is-cutcopymode-false-should-i-use-it/ (EN - TXT)
- "Conclusion: Ultimately, the decision of whether to use Application.CutCopyMode = False comes down to this: if at the end of executing the macro, the marching ants are visible, and you don’t want them to be, then use it, otherwise don’t worry about it."
- Hangyák léte/nem léte: https://miau.my-x.hu/temp/demo/minden_harmadik_adat_transzponalasa.xlsm
- Változók típusai (pl. integer, long, double, stb.):
- https://learn.microsoft.com/en-us/office/vba/language/reference/user-interface-help/data-type-summary (EN -TXT)
- https://www.google.com/search?q=vba+long+integer&ei=VR9NY7yNDcLzkgXwpYmQBw&ved=0ahUKEwj8i-ja-Ob6AhXCuaQKHfBSAnIQ4dUDCA4&uact=5&oq=vba+long+integer&gs_lcp=Cgdnd3Mtd2l6EAMyBAgAEEcyBAgAEEc6CggAEEcQ1gQQsANKBAhBGABKBQhAEgExSgQIRhgAUMMBWMMBYP0PaAFwAngAgAEAiAEAkgEAmAEAoAEByAECwAEB&sclient=gws-wiz (EN -TXT)
- Ha nem fut le egy a rendezés...
- https://answers.microsoft.com/en-us/msoffice/forum/all/troubleshooting-autosort-vba-in-excel/1cbc4237-e8e1-440d-bc43-32898f4dedf9 (EN - TXT)
- pl. érdemes lehet a rendezéssel érintett teljes területet megadni
- Ha nem fut le minden egyes (elvileg identikus) laptopon ugyanaz a pivot-táblán belüli rendezést előíró makró?
- ilyen esetben nem is lehet több cellát a makró-rögzítés kapcsán kijelölni a rendezés kikényszerítéséhez...
- ha tehát nem stabil a rendezés pivot-on belül, akkor kerülő út lehet a pivot másolatának rendezése: pl. https://www.automateexcel.com/vba/sorting/ (EN - TXT)
- alternatív megoldás a makró-rögzítés logikája helyett a kézzel írt kód a rendezés kapcsán: pl. https://stackoverflow.com/questions/39778636/sort-pivottable-vba (EN - TXT)
- CMD-hívás (pl. C-URL) VBA-ból:
- REM blokkosítása (sok kódsort egyszerre kijelölve):
- Merevlemezről CSV-állomány beolvasása sorról sorra:
- https://www.exceldemy.com/excel-vba-read-csv-file-line-by-line/ (EN - TXT)
- inkl. DO-UNTIL-LOOP
- Cellák tartalmának, helyének, típusának lekérdezése:
- Range-műveletek:
- Email-küldés Excel-adatokkal: https://www.youtube.com/watch?v=obWIImqBMxc (DE - videó - kb. 00.19.00-)
- Legördülő lista előállítása: https://www.youtube.com/watch?v=obWIImqBMxc (DE - videó - kb. 00:24:00-)
- BEEP() és a HA()-függvény kapcsolata: https://www.youtube.com/watch?v=ue9a71AEVm4 (EN - videó)
- ...
Releváns témakörök
Egyes kulcsszavak angolul: pl. https://iqjb.hu/tanfolyamok/microsoft/microsoft-excel-word-powerpoint-project-access/feladatok-automatizalasa-a-microsoft-excel-ben-i
- 1. Makrók
- 1.1. Makrók rögzítése
- 1.2. Felvételi jellemzők beállítása
- 1.3. Makrók tesztelése, futtatása
- 1.4. Rögzített makrók kódjának vizsgálata
- 2. Program fejlesztői környezet
- 2.1. Makrók kódjának módosítása
- 2.2. VBA fejlesztői környezet
- 2.3. Projekt tallózó
- 2.4. Tulajdonság ablak
- 2.5. Kódszerkesztő
- 2.6. Objektumtallózó
- 2.7. Hibakeresés ablakai
- 3. VBA objektumai
- 3.1. Az objektum orientált programozás alapjai
- 3.2. Az Excel objektum modellje
- 3.3. Munkafüzet, munkalap, sorok, oszlopok, cellák objektum műveletei
- 4. VBA nyelv elemei
- 4.1. Változók
- 4.2. Vezérlési szerkezetek
- 4.3. Eljárások, függvények
- 4.4. Munkalap függvények használata VBA-ban
- 5. Hibakeresés
- 5.1. Hibakeresés, nyomonkövetés
- 5.2. Hibák típusai
- 5.3. Nyomonkövetés, lépésenkénti végrehajtás
- 5.4. Nyomonkövetés ablakai
- 5.5. Hibakezelés
- 6. Vezérlők alkalmazása
- 6.1. Vezérlők elhelyezése az Excel munkalapon
- 6.2. Nyomógomb, adatbeviteli mezők, választókapcsolók, jelölőnégyzet, kombinált lista, görgetősáv
- 6.3. Vezérlők hozzárendelés makrókhoz
- 6.4. Különbségek a munkalapi vezérlők és a VBA vezérlők között
Tesztek: https://docs.google.com/spreadsheets/d/1bi9V_AIAN1QGqTZ44bSoCemlnXggadZlCRjDFvOubSM/edit#gid=1931489930 Mentett állapot: https://miau.my-x.hu/temp/demo/vba_tesztek.xlsx