VBA, excel,makrók
2009-04-27T12:25:47+02:00
2012-08-13T20:25:43+02:00
2022-07-23T22:43:53+02:00
  • Én csak "hibát javítottam", bár egyetértek, nem szép megoldás volt, de jó

    "Itt miért is nincs definiálva a változó? A másik esetben meg miért van? "

    Jogos a kérdés.

    De látatlanban lehet találgatni, hogy egy másik esetben public-nak van definiálva, vagy ott sincs option exlicit.

    ---
    "Ha meg rendes típust is ad neki, talán kevesebb memóriát is foglal majd."


    Erről mindig a következő minta kód jut eszembe.
    dim x as double
    dim a as integer
    dim b as integer
    a=1000
    b=1000
    ' miért overflow a
    x=a*b


    ---

    Komolyan véve ha programozni akar, akkor teljesen jogos, hogy legyen option explicit.
    Mutasd a teljes hozzászólást!

  • Vedd ki az
    Option Explicit
    sort.

    Az jelenti, hogy kötelező a változót definiálni.


    Nem értek egyet veled!
    Szerintem jobb lenne, ha benne hagyná az Option Explicit sort és inkább definiálná a változóit (még ha Variantként is...), különben egy esetleges változónév elírás miatt nem fog majd rájönni, hogy miért nem az elvárt eredményt kapja.
    Ha meg rendes típust is ad neki, talán kevesebb memóriát is foglal majd.


    Ráadásul így meg vegyes felvágott is lesz, valami definiálva van, valami meg nincs.

    Tudom, megengedi a VBA, mert nem kötelező, de attól még célszerű, és csalódtam benned, ha Te ezt így tanítod!

    Mutasd a teljes hozzászólást!
  • Szia.

    Ami könyveket Én használok

    egyikhez Angol tudás kell
    az ez lenne:
    Excel VBA Programming For Dummies

    A másik egy magyar könyv, ez is kiváló

    Az EXCEL programozása (Kovalcsik géza)

    Valószínűleg meg lehet őket szerezni, más forrásból is, de aki meg akarja tanulni, ezeket a dolgokat, azt hiszem megéri megvenni, nem egy hatalmas összeg, kb. egy hétvégi mozi ára, miközben ezzel is támogatjuk a szerzőt.
    Mutasd a teljes hozzászólást!
  • Szívesen
    Mutasd a teljes hozzászólást!
  • Nagyon szépen köszönöm...
    Működik.
    Mégegyszer kösziiii!
    Mutasd a teljes hozzászólást!
  • Vedd ki az
    Option Explicit
    sort.

    Az jelenti, hogy kötelező a változót definiálni.
    Mutasd a teljes hozzászólást!
  • Sziasztok.

    Nekem olyan problémám van, hogy van egy munkalapom
    amibe vezérlő segítségével egy ruha termékről adatokat veszek fel a (ba2:bk2) cellákba. (Cikkszám, megnevezés, fogy.ár, db szám stb ...). Működik is...
    Ebből kifolyólag Dvd-im ről is szeretnék listát és átmásoltam a makrót a másik táblázatba. S nem működik...
    Mitől lehet???
    Mindig azt írja ki amikor futtatom, illetve mikor rákattintok a CommanButton2_re, hogy: Compile error: Variable not defined

    Itt miért is nincs definiálva a változó? A másik esetben meg miért van?
    A hibát a "felvesz" makró hova = sorára ugrik és sárgítja be...

    Így néz ki...

    Ez ugye az UserForm1-en van:

    Option Explicit
    Dim sor As Long
    Private Sub CommandButton2_Click()
    felvesz
    End Sub



    Ez pedig a Module1-en

    Dim sor As Long
    Sub sorok()
    Sheets("Munka1").Select
    Range("A1").Select
    Selection.CurrentRegion.Select
    sor = Selection.Rows.Count
    End Sub

    Sub felvesz()
    Sheets("Munka2").Select
    sorok
    hova = sor + 1
    Sheets("Munka1").Select
    Range("ba2:bk2").Select
    Selection.Copy
    Sheets("Munka2").Select
    Cells(hova, 2).Select
    ActiveSheet.Paste
    Application.CutCopyMode = True
    Sheets("Munka1").Select
    Range("A1").Select
    End Sub


    Tudja valaki a választ, hogy mit nem vettem figyelembe???
    Köszi előre is a segítséget...
    Mutasd a teljes hozzászólást!
  • Hacsak ennyire használnák és csak ennyi terméknél lehetne őket használni...
    Mutasd a teljes hozzászólást!
  • VB = Visual Basic
    Önálló nyelv, teljes programokat lehet vele írni.

    VBA = Visual Basic for Applications.

    MS Word, Excel, Access dokumentumokat, táblázatokat, űrlapokat és jelentéseket kiszolgáló nyelv.

    Két fő felhasználási területe:
    1) Egyszerű feladatok automatizálása.
    Példa:
    Fogd a szövegfájlt!
    Szedd be 12 karakteres oszlopokba!
    Nyomtasd ki első 13 oszlopát fekvő A4-es lapra
    9-es betűnagysággal és a fájlnevet tartalmazó fejléccel.
    2) A követlenül elérhető ellenőrzéseknél bonyolultabbak
    végrehatása.
    Példa: Az Access beviteli űrlapon állományneveket
    kell választani. Ha a választott állomány szövege nem
    tartalmazza az űrlap első mezejében szereplő kulcsszót,
    akkor a választást vissza kell utasítani.

    Üdv
    Nagy Ferenc
    Mutasd a teljes hozzászólást!
  • Helló!

    Nekem vannak VBA-s cuccaim magyarul, néhány pdf jelszavas, a jelszó: prog2gigyak , kiraktam ide:
    http://www.megaupload.com/?d=DQL92BVB

    Gyakorlati példák:
    http://www.megaupload.com/?d=KUN9WEWN

    Előadásdiákban is azt hiszem vannak példák, a jelszó: prog2gi
    http://www.megaupload.com/?d=ADX63DAX

    Meg angolul ez: Excel 2003 Power Programming with VBA
    http://www.megaupload.com/?d=EF8UU1AY
    Mutasd a teljes hozzászólást!
  • Szerintem rögtön a "Makró rögzítése, futtattása és leállítása" részben a "
    Állítsuk most ezt Ctrl+1-re,
    ". Kicsit durva, hiszen az elég gyakran használt. (Formátum > Cellák)
    Annál talán csak a Ctrl+C átdefiniálása lenne "jobb"
    Mutasd a teljes hozzászólást!
  • Én azért nem lepődnék meg a helyedben, ha valami nem úgy működne, ahogy le van ott írva, netán van a leírtnál egyszerűbb megoldás is.

    Azért, hogy a filekezelésnél csak a Scripting.FileSystemObject-et említik, az egy kissé erős!
    Mutasd a teljes hozzászólást!
  • Szia

    Köszönöm, beleolvastam, úgy tűnik, valóban tökéletes lesz a kezdetekhez.
    G.
    Mutasd a teljes hozzászólást!
  • Szia,

    Bár félbehagyott weblap azért sok infó van rajta főleg az alapoktól:

    http://makromester.uw.hu/
    Mutasd a teljes hozzászólást!
  • Köszi!

    Megyek MICUhoz

    ez van ez biza pínzbe fog kerülni
    (leszakad a polc)

    Mégegyszer kösz!
    Mutasd a teljes hozzászólást!
  • Átfogó Excel VBA-s anyag magyarul ingyen nincs. Vagy megtanulsz angolul, vagy kiadsz rá pénzt, vagy pedig nehezen, de önállóan megtanulod, vagy pedig beiratkozol Micuhoz tanfolyamra.
    Mutasd a teljes hozzászólást!
  • Szerintem ..... Igen .
    Bár sajnos miután lektoráltam és kiadták utána is találtam egy forráskódban hibát.

    De a legjobb magyar nyelvű könyv (főleg, hogy másról ami a VBA-al és az Excel objektumokkal is foglalkozik nem tudok )
    Mutasd a teljes hozzászólást!
  • Oké!
    Ezt tom hogy van de sajna sok sok magyar forintokat kell költeni ezekre...

    ezért keresek valami olcsóbb megoldást

    hátha van!

    De ha nincs akkor ez a konyv szerinted jó?
    Mutasd a teljes hozzászólást!
  • excel programozás könyv van magyarul.
    Computerbook, Kovalcsik Géza
    Mutasd a teljes hozzászólást!
  • Sziasztok!

    Én is hasonló helyzetben vagyok.
    De még nagyon az elején!

    Régen keresgélek de érdemi anyagot még nem találtam!
    Jó lenne valami letölthető tananyag segédlet MAGYARUL ami segítene elindulni. Nem tudtok ilyet?

    Szerintem zse_ugynok is és mindenki örülne neki!

    Szerintem ide vág ezért nem indítottam új topicot
    Mutasd a teljes hozzászólást!
  • Nem értem a különbséget a VB és VBA között

    A Wikipédiából, a szabad enciklopédiából.
    Visual Basic for Applications
    ACCESS PROGRAMOZÁS - CD MELLÉKLETTEL - 2003-AS ÉS 2007-ES VERZIÓ Czenky Márta
    Kiemelés a link-ről:

    A programozás napjainkra mindenki számára elérhetővé vált, bár bizonyos, hogy a számítógépet használók többségének eszébe se jut, hogy erre a területre merészkedjen. Nehezen találni olyan embert, aki ne ismerné a Microsoft Office rendszer elemeit. A Wordben való szövegszerkesztés, az Excellel segített számítás vagy az Access-ben végzett adatkezelés során csak ritkán merül fel az igény, hogy kiterjesszük e nagy tudású eszközök beépített szolgáltatásait. Pedig a lehetőség adott, hiszen a Microsoft Office eszközök többsége támogatja a Visual Basic BASIC for Applications (VBA) programnyelv és fejlesztői környezet használatát, programozását.
    Mutasd a teljes hozzászólást!
  • Mutasd a teljes hozzászólást!
  • A korábbi, 5-ös M. Excel-ben volt egy billentyűkombinációs lehetőség, amit kisebb gyerekek kedveltek: helikoptert (vagy repülőt) lehetett beszúrni, ami repkedett a munkalapon.
    Sajnos évek óta nem használtam, már nem emlékszem, hogy kell.
    A súgóban sem lelem.
    Ha valaki emlékszik, írja meg, legyenszíves.
    Köszönettel: H. Csilla
    Mutasd a teljes hozzászólást!
  • Ha tudsz egy kicsit angolul:
    vb vs vba

    Amúgy nincs sok különbség,szinte bármit meg lehet csinálni a szerkesztőből, a leglényegesebb különbség talán az, hogy nem önállóan futtatható programod lesz, hanem csak az adott office-alkalmazásból indítható progid.
    Mutasd a teljes hozzászólást!
  • 3. A Computerbooks-nak 2003-as excel programozás könyve is van.
    (Bár túl sok különbség nincs, ha csak valaki nem akarja az Office segédet programozni )

    Többiben egyetértek. (Bár nem biztos, hogy regexp-et használnék cellatartalom feldolgozáshoz, vannak jó kis Excel függvények . De ez inkább a kérdezőnek szól.)
    Mutasd a teljes hozzászólást!
  • 1. Nincs. De nem is nagyon lenne értelme, hiszen a szkripteket office termékek nélkül úgyse tudnád tesztelni, ha meg már megvannak az office termékek, akkor a fejlesztő eszköz már a rendelkezésedre áll. A beépített VBA környezeteken keresztül pedig olyan egyszerűsítések is használhatóak, amelyek egy külső programból nem. Pl. ThisWorkbook Excel-ben.

    2. UTFG: MSDN-the microsoft developer network

    3. Nincs office programozásról általánosan szóló könyv magyarul, de még angolul se nagyon hiszem. Miért? mert az egyes VBA-t használó termékek esetén nem a VBA nyelv elsajátítása a nehéz, hanem az adott termék saját osztálykönyvtárának a megtanulása. Excel programozás c. könyv van magyarul (Computerbooks), bár elég régi (2000-es), de azért még nagyjából használható. Egyébként elég jó az Office termékek VBA súgója, szal érdemes használni.

    4. Konrét kérdést tessék a tudástárban feltenni. Annyit elárulok, hogy ha az adott .Net assembly-t nem készítették fel a COM-mal történő együttműködésre, akkor sehogy. De regexp használható másképpen is VBA-ból.
    Mutasd a teljes hozzászólást!
  • Szervusztok !

    EXCEL és OUTLOOK makrókat szeretnék farigcsálni magamnak.A munkahelyen sokszor segítene egy-egy komplexebb makró, ezért kezdtem el turkálni az Office objektumvilágában és a VBA-ban.

    Ehhez kérnék néhány jótanácsot:

    K1- van-e "jobb" ingyenes fejlesztői felület a VBA kódok fejlesztéséhez, mint a beépített szerkesztő(eddig mást nem használtam)

    K2- Nem értem a különbséget a VB és VBA között, tud valaki ehhez egy hasznos linket !?

    K3- tudtok-e hasznos könyvet ajánlani a OFFICE programming témában

    Egy gyakorlati kérdés:

    K4- a jelenlegi makróban egy excel cella tartalmát sorait szeretném soronként feldolgozni és ehhez az MSDN-en talált Regex/MatchCollection objektumokat használnám, hogy a cella tartalmát sorokra bontsam.

    A leírások szerint ezek a ".NET framework-el jönnek a windowsomba" úgy hogy import-álni kell valamit.
    "imports System.Text.Regularexpressions" ilyesmit találtam a Neten.
    De ezt hova kell beírni, hogy a makróm használhassa.
    A VBAban hogy lehet meghivatkozni ezeket a DLL-eket?
    Mutasd a teljes hozzászólást!
Ez a téma lezárásra került a moderátor által. A lezárás oka: Konkr�t k�rd�sekkel, megoldand� probl�m�kkal a Tud�st�rba!
Tetszett amit olvastál? Szeretnél a jövőben is értesülni a hasonló érdekességekről?
abcd