Kā atkļūdot nedarbojošu Excel VBA makro. Programmā Excel VBA ir pārsteidzoši rīki, kas ļauj jums redzēt pašreizējo vērtību, kas saglabāta mainīgajos, pārejot pa kodu vienā rindā vienlaikus. Ja jums ir makro, kas nedarbojas,
Skatīties video
- Jums ir Excel VBA makro, kas nedarbojas
- VBA ir pārsteidzoši atkļūdošanas rīki
- Tā vietā, lai palaistu kodu, varat pārlūkot kodu, izmantojot F8
- Dzeltenā līnija ir līnija, kuru tā gatavojas izpildīt
- Virziet kursoru virs jebkura mainīgā, lai redzētu šī mainīgā vērtību.
- Pārslēdzieties uz priekšu un atpakaļ uz Excel, lai redzētu, kas notiek
Video atšifrējums
Uzziniet programmu Excel no Podcast, 2096. sērija: VBA makro atkļūdošana
Sveiki, laipni lūgti atgriezties netcast ēterā, es esmu Bils Jelens. Šodienas jautājums: Kādam bija kods, kuru es ievietoju vecā YouTube videoklipā, un viņš ievietoja komentāru, kurā teikts: “Ah, tas nedarbojas. Tas nesaglabā rēķina dublikātu, taču tajā nav kļūdu. ” Es nezinu, kas ir nepareizs kods. Labi, tāpēc jūs zināt, izskatās, ka ir lieliski rīki, kas ir pieejami, kad esat VBA Macro nedarbojas. Tātad mums šeit ir poga, kurai vajadzētu palaist kādu kodu. Es gatavojos piešķirt makro, to sauc par SaveInvoice. Noklikšķināšu uz Rediģēt, un mēs esam beiguši VBA. Un parasti, kad mēs nospiežam šo pogu, tas vienkārši palaiž šo kodu. BAM! Tāpat kā tas viss notika patiešām ātri, bet jūs nevarat skatīties, kas notiek.
Tātad zem atkļūdošanas rīkiem viena no manām iecienītākajām lietām ir Debug Step Into, kurā jūs redzēsiet, ka īsinājumtaustiņš ir F8, un tas ļauj mums vadīt kodu vienā rindā vienlaikus. Tāpēc es tur nospiedu F8, un tā ir - dzeltenā līnija ir tā, kuru tā gatavojas izpildīt. Tātad, ja es nospiedu F8, tas pāriet pāri šīm divām deklarācijām, un tagad mēs gatavojamies izveidot ActiveSheet. Kopēt. Tātad, tas, kas šeit ir patiešām skaists, ir, it īpaši, ja jums ir liels monitors, ka Podcast logs ir pārāk mazs, bet to, ko jūs varat darīt, varat skatīties, kā darbojas makro. Tāpēc šobrīd tas ir jādara ActiveSheet. Kopēt. Pašlaik esmu darbgrāmatā ar nosaukumu Podcast 2096. Šeit ir darblapa ar nosaukumu Rēķins, un, nospiežot taustiņu F8, jūs redzēsiet, ka tagad esmu pilnīgi jaunā darbgrāmatā Book2 un mums ir tikai rēķins.
Un tagad mēs grasāmies piešķirt šo lielo, garo lietu New FN. Nospiediet F8. Labi, tagad neizskatījās, ka kaut kas noticis šeit, jo nekas šeit nenotika. Bet šeit ir skaista lieta, es tagad esmu piešķīris kaut ko šim mainīgajam ar nosaukumu New FN, un, ja es paņemšu peli un virzīšu kursoru virs New FN, parādīsies neliels rīka padoms, kas man parādīs, kas ir saglabāts New FN. Tātad tas ir Faila nosaukuma saglabāšana, tur ir mape, kurā tas nonāks. To sauc par Invoice1234, jo tas paņēma vērtību no F4 un pēc tam pievienoja PDF.
Labi, viena no visvairāk sarūgtinošajām lietām programmā Excel ir tā, ka, ja atmiņa sāk kļūt maza, šis rīka padoms nevēlas parādīties. Jūs tur lidināsiet un nekas nenotiks. Dažreiz jums ir jānoklikšķina, lai to izveidotu šeit, un dažreiz tas vienkārši neparādīsies vispār. Kad tas vispār neparādīsies, mēs varam darīt, nospiežot taustiņu kombināciju Ctrl + G. Ctrl + G ir tūlītējais logs, un tad mēs to izmantosim? kas ir Debug.Print, NewFN saīsne. Tātad, citiem vārdiem sakot, pasakiet man, kas ir Jaunajā FN, un tas parādīs, kas tieši tur ir New FN.
Labi, tāpēc tagad mēs gatavojamies palaist šo koda rindiņu, kas izveidos PDF failu. Labi, tāpēc nospiedīšu F8. Labi, un šajā brīdī mums tur vajadzētu būt jaunam PDF failam ar 1234, un, ja es eju meklēt mapē, pārliecināts, ka Inv1234 11. maijā plkst. 6:25 tika tikko izveidots. Lieliski, vai ne?
Labi, tagad mēs nonākam līdz vietai, kur mums rodas problēma. Labi, tāpēc mēs šeit nospiežam F8, un tas tiek parādīts kā Kopijas dublikāts. Labi, tas izdevās. Un tad F8, un mēs varam redzēt, kas ir New FN. Labi, tāpēc tam ir DupInv1234.pdf, un jūs pat varat atgriezties šeit un vienkārši noklikšķināt pēc Print NewFN un tad redzēsit, ka mēs esam mainījuši faila nosaukumu, labi. Tātad, viss ir forši. Un pēc tam mēs nospiežam F8, lai palaistu PDF izveide. Satriecošs! Viss izskatās lieliski, vai ne?
Tāpēc atgriezieties pie mūsu Podcast failiem. Labi, bet tā vietā, lai būtu kaut kas ar nosaukumu DupInv1234, es vienkārši nezinu, kā kaut kas saucas Book2. Labi, tas tikko tika izveidots pirms minūtes. Tam jābūt vienīgajam, bet ne gee! Šķiet, ka tas ir nepareizs nosaukums. Labi, tāpēc mēs atgriežamies VBA, un es zinu, ka es tikko piešķiru pareizo vērtību New FN, piemēram, labi. Un redzēsim, ko mēs to saglabājam. Mēs to saglabājam kā NewFN1, kas ir tukšs; un tā kā tas ir tukšs, tas nozīmē, ka tas aizņem faila nosaukumu, kas šajā gadījumā ir Book2, jo es izveidoju tā kopiju. Un mainīja to - Ak, skaties! Tāpēc šeit es piešķiru nosaukumu NewFN un pēc tam saglabāju šo NewFN1, un tagad, jo es atkļūdoju un virzu kursoru - lidināšana ir vislielākā lieta. Es, cerams, varēšu saprast, kas notiek.Tāpēc es atgriežos un nomainu NewFN1. Lūk, šeit ir lieliska lieta. Labi, tāpēc jau esmu pabeidzis šo rindu makro, bet es varu vilkt to atpakaļ uz augšu un teikt, labi, palaidīsim vēlreiz F8. Tagad izveidosim PDF failu. Labi, un tur tas parādās ar pareizo vārdu, un viss ir forši.
Labi, tagad, kad zinu, ka esmu pabeidzis, viss ir lieliski. No šejienes viss darbosies. Es vienkārši noklikšķiniet uz Izpildīt, un tas darbosies līdz koda beigām. Labi, dažreiz jums būs garš makro ar, jūs zināt, simtiem koda rindu, kas darbojas, un pēc tam ar vienu konkrētu daļu, kas nedarbojas, labi? Tātad šeit tika pieminēti pāris citi rīki. Ja jums ir jāpārlec vesels ķekars koda un viss jāizpilda līdz šim brīdim, labi, viens veids, kā to izdarīt, ir noklikšķināt šeit un izveidot pārtraukuma punktu. Labi, tāpēc tagad, kad es to vadīšu, tas visu novedīs līdz tam. Es varu vienkārši noklikšķināt uz palaist, un tas tiks pārtraukts, vai arī, ja jūs pat nevēlaties iestatīt pārtraukuma punktu, mēs vienkārši noklikšķināsim tieši šeit un teiksim Atkļūdot, Palaist uz kursoru. Palaist uz kursoru.Tagad es zinu, ka tas šeit radīs problēmas, jo kodu, lai mainītu šo rēķina numuru, es vēl nepievienoju. Tāpēc es vienkārši ievietošu jaunu rēķina numuru, tāpēc es šobrīd atrodos šajā rindā. Atkļūdot, palaist kursorā, kas ir Ctrl + F8. Labi, tāpēc tagad tas visu noveda līdz tam un mums vajadzēja redzēt, ka tas tikko izveidoja Inv1235, labi. Un tagad tas ir par - mēs atrodamies šajā koda rindā. Es varu vai nu nospiest F8, lai palaistu vienu līniju, vai arī vienkārši palaist atlikušo ceļu. Un tur ir mūsu DupInv1235, labi? Tātad atkļūdošanas rīki šeit, VBA, ir lieliski. Ļaujiet jums palaist kodu pa vienai rindai, sakārtojiet ekrānu tā, lai kreisajā pusē redzētu gan palaisto kodu, gan koda rezultātus. Un jūs zināt, cerams, ka jūs varat saprast, kas notiek ar kodu nepareizi.
Labi, tāpēc epizodes kopsavilkums: ir Excel VBA makro, kas nedarbojas. Tam ir pārsteidzoši atkļūdošanas rīki. Tā vietā, lai palaistu kodu, varat pārlūkot kodu, izmantojot F8. Dzeltenā līnija ir līnija, kuru gatavojas palaist. Varat virzīt kursoru virs mainīgā, lai redzētu šī mainīgā vērtību, pārslēdzieties uz priekšu un atpakaļ uz Excel, lai redzētu, kas notiek.
Nu, hei, es gribu pateikties, ka apstājāties. Tiksimies nākamreiz, lai skatītu citu netcast raidījumu no.
Lejupielādēt failu
Lejupielādējiet faila paraugu šeit: Podcast2096.xlsm