Kaip derinti neveikiančią „Excel VBA“ makrokomandą. „Excel VBA“ yra nuostabių įrankių, leidžiančių matyti dabartinę kintamuosiuose saugomą vertę, pereinant kodą po vieną eilutę. Jei turite neveikiančią makrokomandą,
Žiūrėti video
- Turite neveikiančią „Excel VBA“ makrokomandą
- VBA turi nuostabių derinimo įrankių
- Užuot paleidę kodą, galite pereiti kodą naudodami F8
- Geltona linija yra linija, kurią ji ketina paleisti
- Užveskite pelės žymeklį virš bet kurio kintamojo, kad pamatytumėte to kintamojo vertę.
- Perjunkite pirmyn ir atgal į „Excel“, kad sužinotumėte, kas vyksta
Vaizdo įrašo nuorašas
Sužinokite „Excel“ iš „Podcast“, 2096 serija: VBA makro derinimas
Ei, sveiki sugrįžę į netcast'ą, aš Billas Jelenas. Šiandienos klausimas: kažkas turėjo kodą, kurį įdėjau į seną „YouTube“ vaizdo įrašą, ir jie paskelbė komentarą: „Ak, tai neveikia. Tai neišsaugo sąskaitos faktūros kopijos, tačiau klaidos nepadaro “. Aš nežinau, kas yra blogas kodas. Gerai, kad žinai, žiūrėk, yra puikių įrankių, kurie yra prieinami, kai neveikia „VBA Macro“. Taigi čia turime mygtuką, kuris turėtų paleisti tam tikrą kodą. Aš ketinu priskirti makrokomandą, ji vadinama „SaveInvoice“. Spustelėsiu Redaguoti ir baigsime VBA. Ir paprastai, kai paspausime tą mygtuką, jis tiesiog paleis šį kodą. BAM! Panašu, kad viskas įvyko labai greitai, bet negalite stebėti, kas vyksta.
Taigi pagal derinimo įrankius vienas iš mano mėgstamiausių dalykų yra „Debug Step Into“, kurį pamatysite, kad spartusis klavišas yra F8, ir tai leidžia mums paleisti kodą po vieną eilutę. Taigi aš paspaudžiau F8 ir tai yra linija geltona yra ta linija, kurią ji ketina vykdyti. Taigi, jei paspausiu F8, jis peršoka šias dvi deklaracijas ir dabar mes ketiname padaryti „ActiveSheet“. Kopijuoti. Taigi, kas čia tikrai gražu, jūs žinote, ypač jei turite didelį monitorių, kad „Podcast“ langas yra per mažas, bet ką galite padaryti, galite stebėti, kaip veikia „Macro“. Taigi dabar tai bus „ActiveSheet“ kopija. Kopijuoti. Šiuo metu esu darbaknygėje pavadinimu „Podcast 2096.“. Čia yra darbalapis pavadinimu „Sąskaita“ ir, kai paspausiu F8, pamatysite, kad dabar esu visiškai naujoje darbo knygoje „Book2“ ir mes turime tik sąskaitą faktūrą.
Dabar mes ketiname priskirti šį didelį ir ilgą dalyką „New FN“. Paspauskite F8. Gerai, dabar neatrodė, kad kažkas čia atsitiko, nes nieko čia nevyko. Bet čia yra gražus dalykas, aš dabar priskyriau tam kintamajam pavadinimą „New FN“ ir jei paimsiu pelę ir užvesiu pelės žymeklį ant „New FN“, pasirodys nedidelis įrankio patarimas, parodantis, kas saugoma „New FN“. Taigi jis išsaugo failo pavadinimą, yra aplankas, kuriame jis bus. Jis vadinamas „Invoice1234“, nes jis paėmė vertę iš F4 ir pridėjo PDF.
Gerai, dabar vienas iš labiausiai varginančių „Excel“ dalykų yra tas, kad jei jūsų atmintyje pradeda trūkti, šis įrankio patarimas nenori pasirodyti. Jūs užvyksite ten ir nieko neįvyks. Kartais jūs turite spustelėti, kad tai padarytumėte čia, o kartais jis tiesiog nebus rodomas. Kai jis visai nepasirodys, galime padaryti „Ctrl“ + G. „Ctrl“ + G yra tiesioginis langas, tada mes ketiname naudoti? kuris yra „Debug.Print“, „NewFN“, spartusis klavišas. Kitaip tariant, pasakyk man, kas yra „New FN“, ir jis parodys, kas yra „New FN“.
Gerai, kad dabar, mes ketiname paleisti šią kodo eilutę, kuri sukurs PDF. Gerai, todėl paspausiu F8. Gerai, ir šiuo metu mes turėtume turėti naują PDF failą su 1234, o jei eisiu ieškoti aplanko, tikrai buvo sukurtas „Inv1234“ gegužės 11 d., 6:25. Nuostabu, tiesa?
Gerai, dabar mes pasiekiame tašką, kuriame mums kyla problema. Gerai, todėl čia paspaudžiame F8 ir jis pasirodo kaip Kopijuoti kopiją. Gerai, kad pavyko. Tada F8 ir galime pamatyti, kas yra Naujajame FN. Gerai, todėl jame yra „DupInv1234.pdf“ ir jūs netgi galite čia grįžti ir tiesiog spustelėti po „Print NewFN“ ir pamatysite, kad mes pakeitėme failo pavadinimą, gerai. Taigi, viskas šaunu. Tada paspaudę F8 paleisime „PDF“ kūrimą. Nuostabu! Viskas atrodo puikiai, tiesa?
Taigi grįžkite į mūsų „Podcast“ failus. Gerai, bet užuot turėjęs kažką vadinamą „DupInv1234“, aš tiesiog nežinau, kaip kažkas vadinama „Book2“. Gerai, jis buvo ką tik sukurtas prieš minutę. Tai turi būti vienas, bet ne gee! Atrodo, kad tai neteisingas pavadinimas. Gerai, todėl grįžtame į VBA ir aš žinau, kad aš tiesiog priskyriau tinkamą vertę tokiai „New FN“, gerai. Pažiūrėkime, ką mes jį išsaugome. Mes jį išsaugome kaip tuščią „NewFN1“; ir kadangi jis tuščias, tai reiškia, kad jis paima failo pavadinimą, kuris šiuo atveju yra Book2, nes aš padariau jo kopiją. Ir pakeitė - O žiūrėk! Taigi, aš priskyriau pavadinimą „NewFN“ ir išsaugojau „NewFN1“, o dabar, nes derinu ir užvedu pelės žymeklį - „Hovering“ yra pats didžiausias dalykas. Tikiuosi, kad pavyks išsiaiškinti, kas vyksta.Taigi grįžtu ir pakeičiu „NewFN1“. Dabar čia yra nuostabus dalykas. Gerai, todėl jau perėjau šią eilutę makrokomandoje, bet aš galiu tai vilkti atgal ir pasakyti, gerai, paleiskime tai dar kartą F8. Dabar sukurkime PDF. Gerai, ir ten jis pasirodo su tinkamu vardu ir viskas šaunu.
Gerai, dabar, kai žinau, kad baigiau, viskas puiku. Iš čia viskas veiks. Aš tiesiog spustelėkite Vykdyti ir jis bus paleistas iki kodo pabaigos. Gerai, kartais turėsite ilgą makrokomandą su šimtais veikiančių kodo eilučių ir paskui viena tam tikra neveikiančia dalimi, gerai? Taigi čia buvo tiesiog paminėta pora kitų įrankių. Jei jums reikia peršokti visą kodo krūvą ir paleisti viską iki to taško, gerai, vienas iš būdų tai padaryti yra spustelėti čia ir sukurti pertraukimo tašką. Gerai, todėl dabar, kai aš tai paleisiu, viskas bus iki to taško. Aš galiu tiesiog spustelėti paleisti ir jis sustos, arba jei jūs net nenorite nustatyti pertraukos taško, mes tiesiog spustelėsime čia ir pasakysime Derinti, paleisti į žymeklį. Paleisti prie žymeklio.Dabar žinau, kad čia kils problemų, nes dar neprisijungiau prie kodo, kad pakeisčiau šios sąskaitos faktūros numerį. Taigi aš tiesiog įdėsiu naują sąskaitos faktūros numerį ir aš dabar einu į tą eilutę. Derinti, paleisti į žymeklį, kuris yra Ctrl + F8. Gerai, todėl dabar viskas nusistovėjo iki taško, o tai, ką turėtume turėti, turėtume matyti, kad jis ką tik sukūrė „Inv1235“, gerai. Dabar kalbama apie šią kodo eilutę. Aš galiu tiesiog paspausti F8, norėdamas paleisti vieną eilutę, arba tiesiog bėgti likusį kelią. Ir čia yra mūsų „DupInv1235“, gerai? Taigi, derinimo įrankiai čia, VBA, yra nuostabūs. Leiskite jums paleisti kodą po vieną eilutę, sutvarkykite ekraną taip, kad kairėje matytume rodomą kodą ir jo rezultatus. Ir jūs žinote, tikiuosi, galite suprasti, kas negerai su kodu.
Gerai, todėl epizodo santrauka: turėkite neveikiantį „Excel VBA“ makrokomandą. Jis turi nuostabius derinimo įrankius. Užuot paleidę kodą, galite pereiti kodą naudodami F8. Geltona linija yra linija, kurią ketinama paleisti. Galite pamatyti žymeklį virš kintamojo, kad pamatytumėte to kintamojo vertę, perjunkite pirmyn ir atgal į „Excel“, norėdami pamatyti, kas vyksta.
Na, ei, noriu padėkoti, kad užsukote. Pamatysime kitą kartą kitai internetinei transliacijai iš.
Atsisiųsti failą
Atsisiųskite failo pavyzdį čia: Podcast2096.xlsm