Tartalomhoz ugrás
MENEDZSERWEBSHOP
Ugrás a menüre
KKV-k fejlődését segítem!
Ugrás a menüre

Hogyan írassunk VBA-kódot a ChatGPT-vel?

Fodor Tamás vezetési tanácsadó
Közzététel szerző Fodor Tamás itt excel · Péntek 11 Júl 2025 · Olvasási idő 4:15
Tags: excelvbaChatGpt

A VBA kód ChatGPT-vel

Az Excel Visual Basic for Applications (VBA) modulja erőteljes lehetőségeket kínál automatikus táblázat kitöltésére, adatműveletekre, adatkezelési űrlapok működtetésére, de a makrók írása sokak számára ijesztő feladat. A mesterséges intelligencia, különösen a ChatGPT, ma már képes arra, hogy gyorsan és pontosan generáljon működő VBA-kódokat – még akkor is, ha nem vagyunk haladó programozók. Az utóbbi időben gyakran használtam kódok írására és meglepően jó eredményeket kaptam. Az alábbiakban összefoglalom a legfontosabb tapasztalataimat.

Milyen Excel-tudás szükséges?

ChatGPT akkor tud jól segíteni VBA-ügyekben, ha az alap Excel-funkciókkal már tisztában vagyunk. Én Excel szakértőnek tartom magam, de véleményem szerint az alábbi szint elegendő, hogy eligazodjunk a ChetGPT által írt kódban:
  • Munkafüzetek és munkalapok fogalma, kezelése
  • Táblázatok fogalma, kezelése
  • Cellahivatkozások ismerete (A1, A1:C3 formátum, relatív/abszolút hivatkozás)
  • Alap képletek és függvények (pl. SZUM, HA, INDEX, HOL.VAN)
  • VBA-szerkesztő megnyitása (ALT + F11) vagy Fejlesztőeszközök/Visual Basic
  • Modul létrehozása, kód beillesztése, szerkesztése és futtatása.

Nem szükséges:

  • Haladó képletek, diagramkészítés vagy Power Query/Power Pivot ismerete

Milyen VBA-tudás szükséges?

Az a jó hír, hogy a ChatGPT a legtöbb rutin VBA-kódot teljesen önállóan képes megírni – főleg, ha pontosan leírjuk, mit szeretnénk. A következő ismeretek előnyt jelentenek, de nem feltétel:
  • Hibakeresés: ha hiba történik, a felugró ablak (Runtime Error) kezelése (End vagy Debug), ismételt előhívása (Debug/Step Info)
  • Makrók futtatása: tudjuk, hogyan indítsunk el egy elmentett makrót (Run vagy billentyűparancs vagy vezérlő)
  • Alap VBA-szintaxis: Sub, Dim, If, For, With, stb.

Hogyan adjunk jó promptot (utasítást) a ChatGPT-nek?

A jó prompt = jó kód. Ez az aranyszabály. A legjobb, ha úgy írjuk le a feladatot, mintha egy munkatársunknak adnánk részletes instrukciókat.

Példák:

  • "Írj egy VBA-makrót, ami a 'Napi adatok' munkalapról törli az összes sort, ahol a B oszlopban a dátum korábbi, mint a mai nap."
  • "Kérek egy kódot, amely végigmegy az A oszlopban az értékeken, és minden 'Hiba' szót tartalmazó sort pirosra színez."
  • "A munkalap neve: Napi felbontás A lap 3. sorában a D3-as cellától elkezdődik egy ismétlődő számsor: 1,2,3,4,5,6,7 Ezek a hét napjai és 366 napon (cellán) keresztül ismétlődnek. Azokat az oszlopokat, amelyek 2-t vagy 4-et tartalmaznak, el szeretném rejteni a VBA kóddal."
  • ✅ "A kódot, ami az előbb írtál, módosítsd a következők szerint. Az 1. munkalap B4 cella értékét írja a 2. munkalap 29. sorának abba a cellájába, ahol a 4.sorban lévő dátum hónap végére esik. Azt szeretném, ha az 1. munkalap B4-es cellájában lévő érték harmad része a hónap 10. napjára, harmad része a hónap 20. napjára és harmad része a hónap utolsó napjára lenne írva a 29. sorba."

    Webshopomban található egy ingyenesen letölthető.
    Prompt gyűjtemény c. pdf dokumentum.

Fontos, hogy tartalmazza:

  • A munkafüzet és/vagy munkalap nevét (munkalapnál Sheet(n) is lehet, ahol az n a lap helyezése
  • Oszlop- vagy cellahivatkozásokat
  • A művelet pontos célját
  • Feltételeket, ha vannak
  • Ha lehet, példát az adatokra vagy elvárt eredményre

Mit kerüljünk?

  • "Csinálj egy makrót, ami rendbe rakja a táblát." – túl homályos
  • "Legyen egy kód, ami jó." – nem tud mit kezdeni vele a gép

Mi történik, ha hibát jelez a kód futás közben?

Ez előfordulhat, még akkor is, ha a prompt pontos volt. A leggyakoribb hibák:
  1. Létező munkalap/cellatartomány hiánya: ellenőrizd, hogy valóban van-e olyan munkalap, amit a kód használna
  2. Változó nincs deklarálva vagy rosszul van írva
  3. Futtatási hiba (runtime error) pl. üres cella, nem létező fájl

Mit tehetsz ilyenkor?

  • Másold ki a hibaüzenetet, és írd vissza a ChatGPT-nek, pl.
    "Ez a kód Error 9 - Subscript out of range" hibát dob.
  • Mutasd meg a kódrészletet:
    "A hiba ezen a soron van: Set ws = ThisWorkbook.Sheets("Adatok")"
A ChatGPT szinte mindig képes megtalálni az okot, és módosított kóddal válaszol.

Tippek a sikeres VBA-kód generáláshoz:

  • Mindig írd le, hogy melyik munkalappal, oszloppal, sorral dolgozol
  • Ha vannak  feltételek (cella, oszlop, sor): például "csak ha üres", azt írd le pontosan
  • A prompt legyen olyan, mint egy utasítás egy programozónak
  • A kódot mindig teszteld másolás után egy mentett példányon
  • Hibák esetén bátran írd vissza a részleteket a ChatGPT-nek

Összefoglalás

A ChatGPT hatékony segítség lehet a VBA-kódírásban – még akkor is, ha nem vagyunk programozók. Kell hozzá egy kis Excel-tapasztalat és némi kíváncsiság, de gyorsan elérhetjük, hogy automatizáljuk a mindennapos Excel-feladatokat. Egy jól megírt prompt pedig többet ér száz sor hibás kódnál.

Gyakorló példák

Webshopomban a Csináld magad ingyenes sablonjai között 3, különböző szintű gyakorló feladat leírását találod meg.

Feliratkozás Hírlevélre


Ha hasznosnak, érdekesnek tartotta ezt a blogbejegyzést, IRATKOZZON FEL a havonta megjelenő HÍRLEVELEMRE, amelyben értesíteni fogom a legújabb bejegyzéseimről, itt, a LinkedIn-en és YouTube-on!




Vissza a tartalomhoz
Alkalmazás ikon
Fodor Tamás vezetési tanácsadó Telepítse ezt az alkalmazást a kezdőképernyőjére a jobb élmény érdekében
Érintse meg a(z) Telepítési gomb iOS-on elemet, majd a "Hozzáadás a képernyőhöz"