Šīs ir manas izrādes piezīmes no manas parādīšanās TechTV Canada 33. epizodē.
VBA makro ierakstītājs
Katrā kopš 1995. gada pārdotajā Excel eksemplārā ietilpst neticami jaudīgais Visual Basic for Applications (VBA), kas slēpjas aiz šūnām. Ja jums ir Excel, jums ir VBA.
VBA ļauj automatizēt visu, ko jūs varat darīt programmā Excel, kā arī veikt citas darbības, kas programmā Excel parasti nav iespējamas.
Par laimi mums Microsoft pievienoja makro reģistratoru programmā Excel. Tas ļauj rakstīt VBA kodu, neesot programmētājs. Diemžēl makro ierakstītājs ir kļūdains. Tas neradīs kodu, kas darbosies katru reizi. Makro reģistrators ļaus jums tuvoties, taču daudzos gadījumos kods ir nedaudz jālabo, lai tas droši darbotos. Citos gadījumos jums jāzina, kad izmantot relatīvo ierakstu, lai makro darbotos.
Treisija Sirstade un es uzrakstījām VBA un makros Microsoft Excel 2016, lai palīdzētu jums izprast ierakstītā koda ierobežojumus un iemācīt, kā salabot ierakstīto kodu kaut ko tādu, kas darbosies vienmēr.
Izrādē es parādīju makro ierakstīšanas procesu, kas darbosies perfekti, ja jūs zināt, kā izmantot pogu Relatīvā atsauce. Kāds man bija iedevis Excel darblapu ar simtiem vārdu un adrešu. Viņi vēlējās sūtīt etiķetes. Ja esat kādreiz izmantojis Microsoft Word pasta sapludināšanas funkciju, jūs zināt, ka katrs lauks ir vajadzīgs jaunā slejā darblapā. Tā vietā šajā konkrētajā darblapā dati nonāca A slejā.

Vienas etiķetes labošanas process ir diezgan garlaicīgs.
- Sāciet ar šūnas rādītāju uz nosaukuma A slejā.
- Nospiediet lejupvērsto bultiņu, lai pārietu uz adresi
- Ctrl + x, lai sagrieztu
- Bultiņa uz augšu, bultiņa pa labi, lai pārietu uz B sleju blakus nosaukumam
- Ctrl + v, lai ielīmētu
- Divreiz lejupvērstā bultiņa, vienreiz kreisā bultiņa, lai pārietu uz pilsētu
- Ctrl + x, lai sagrieztu
- Divreiz augšupvērstā bultiņa, trīs reizes labā bultiņa
- Ctrl + v, lai ielīmētu
- Divreiz kreisā bultiņa, vienreiz lejupvērstā bultiņa, lai pārietu uz tukšo rindu.
- Turiet nospiestu taustiņu Shift, kamēr divreiz nospiežat lejupvērsto bultiņu
- Alt + edr, lai izdzēstu tukšās rindas
- Augšupvērstā bultiņa un lejupvērstā bultiņa, lai vēlreiz atlasītu tikai vārdu.
Šeit ir animācija, kas parāda šīs darbības:

Programmas Excel iestatīšana, lai atļautu makro
Lai gan katrā Excel eksemplārā ir VBA, pēc noklusējuma Microsoft izslēdz iespēju palaist makro. Lai ļautu darboties makro, jums jāveic vienreizēja korekcija. Atveriet programmu Excel. Izvēlnē atlasiet Rīki> Makro> Drošība. Ja makro drošības līmenis pašlaik ir iestatīts uz augstu, nomainiet to uz Vidējs.

Sagatavošanās makro ierakstīšanai
Padomājiet par soļa sasniegšanai nepieciešamajiem soļiem. Jūs vēlaties pārliecināties, ka sākat ar šūnu rādītāju uz nosaukuma un beidzat ar nākamo vārdu. Tas ļaus jums atkārtoti palaist makro daudzas reizes. Kad esat gatavs darbībai, ieslēdziet makro reģistratoru. Izvēlnē atlasiet Rīki> Makro> Ierakstīt jaunu makro.

Ja izmantojat šo makro daudzas dienas, jums vajadzētu dot makro noderīgu nosaukumu. Ja tas ir vienreizējs makro, lai automatizētu vienreizēju uzdevumu, tad makro nosaukuma atstāšana kā Makro1, iespējams, ir piemērota. Svarīgs lauks šeit ir īsinājumtaustiņu lauks. Ja makro veidojat vienreizējai lietošanai, piešķiriet makro īsinājumtaustiņam, piemēram, Ctrl + a - ir diezgan viegli atkārtoti nospiest taustiņu Ctrl + a, jo taustiņi atrodas tuvu viens otram. Ja jūs gatavojaties izveidot makro, kuru izmantosit katru dienu, tad vēlaties piešķirt makro atslēgai, kas vēl nav svarīga īsinājumtaustiņu kombinācija. Ctrl + j vai Ctrl + k ir laba izvēle.
Vienreizējas lietošanas makro būtu jāuzglabā šajā darba grāmatā. Ja makro ir atkārtoti jāizmanto daudzās dažādās darbgrāmatās, makro varat saglabāt personīgā makro darbgrāmatā.

Tagad jums tiek parādīta vissīkākā rīkjosla visā programmā Excel; Pārtraukt ierakstīšanas rīkjoslu. Tam ir tikai divas ikonas, un tas izskatās šādi:

Ja šī rīkjosla jums traucē, nepieskarieties X, lai to aizvērtu. Tā vietā paņemiet zilo joslu un velciet rīkjoslu uz jaunu vietu. Rīkjoslas pārvietošanas darbība netiek ierakstīta makro. Ja nejauši aizverat rīkjoslu, iegūstiet to atpakaļ, izmantojot Skats> Rīkjoslas> Pārtraukt ierakstīšanu. Šī darbība tomēr tiks ierakstīta.
Pirmā rīkjoslas poga ir poga "Pārtraukt ierakstīšanu". Tas ir pats par sevi saprotams. Kad esat pabeidzis makro ierakstīšanu, nospiediet rīkjoslu Pārtraukt ierakstīšanu.
Svarīgāka (un reti saprotama) poga ir poga "Relatīvā atsauce".

Mūsu pašreizējā piemērā pirms sākšanas jums jānospiež relatīvās atsauces poga. Ja ierakstāt makro ar ieslēgtām relatīvajām atsaucēm, Excel ierakstīs šādas darbības:
- Pārvietot vienu šūnu uz leju
- Izgrieziet pašreizējo šūnu
- Pārvietot vienu šūnu augšup
- Pārvietojiet vienu šūnu pa labi
- Ielīmēt
- utt.
Ja tā vietā ierakstīsit makro bez relatīvām atsaucēm, makro reģistrēs šīs darbības:
- Pārvietoties uz A4 šūnu
- Izgrieziet šūnu A4
- Pāriet uz šūnu A3
- Pāriet uz šūnu B3
- Ielīmēt B3 šūnā
- utt.
Tas būtu šausmīgi nepareizi - mums ir nepieciešams, lai makro darbotos ar šūnām, kas ir 1 un 2 šūnas no makro sākuma punkta. Palaižot makro atkal un atkal, sākumpunkts būs 4., 5., 6. rinda utt., Un, ierakstot makro bez ieslēgtām relatīvām atsaucēm, makro vienmēr darbotos 3. rindā kā sākuma punkts.
Veiciet šīs darbības:
- Pārtraukt ierakstīšanu rīkjoslā izvēlieties relatīvās atsauces pogu
- Šūnas rādītājam jau jābūt nosaukumam A slejā.
- Nospiediet lejupvērsto bultiņu, lai pārietu uz adresi
- Ctrl + x, lai sagrieztu
- Bultiņa uz augšu, bultiņa pa labi, lai pārietu uz B sleju blakus nosaukumam
- Ctrl + v, lai ielīmētu
- Divreiz lejupvērstā bultiņa, vienreiz kreisā bultiņa, lai pārietu uz pilsētu
- Ctrl + x, lai sagrieztu
- Divreiz augšupvērstā bultiņa, trīs reizes labā bultiņa
- Ctrl + v, lai ielīmētu
- Divreiz kreisā bultiņa, vienreiz lejupvērstā bultiņa, lai pārietu uz tukšo rindu.
- Turiet nospiestu taustiņu Shift, kamēr divreiz nospiežat lejupvērsto bultiņu
- Alt + edr, lai izdzēstu tukšās rindas
- Augšupvērstā bultiņa un lejupvērstā bultiņa, lai sarakstā atlasītu nākamo vārdu.
- Noklikšķiniet uz rīkjoslas Pārtraukt ierakstīšanu
- Saglabājiet darbgrāmatu
- Pārbaudiet makro, nospiežot iepriekš piešķirto īsinājumtaustiņu. Tam vajadzētu perfekti noteikt nākamo nosaukumu sarakstā

Kad esat redzējis, ka makro darbojas pēc vēlēšanās, varat turēt nospiestu Ctrl + a, lai ātri noteiktu dažus nosaukumus sekundē. Visu 500 vārdu sarakstu var salabot minūtes vai divu laikā.

Bonusa padoms - nav šovā
Jūs varat viegli iesaiņot makro vienkāršā cilpā, lai tas salabotu visus 500 nosaukumus, jums nav jāsit Ctrl + simtiem reižu.
Lai atvērtu makro redaktoru, nospiediet taustiņu Alt + F11.
Ja neredzat rūti Projekts - VBAProject, nospiediet taustiņu kombināciju Ctrl + r.

Ar peles labo pogu noklikšķiniet uz Module1 un izvēlieties View Code. Jūs redzēsiet kodu, kas izskatās šādi:

Tagad jums nav jāsaprot, ko šis kods dara, taču jūs zināt, ka mēs vēlamies visu palaist šajā makro vienu reizi katram mūsu nosaukumam. Ja zināt, ka ir 462 nosaukumi, varat pievienot 2 rindiņas, lai kodu palaistu 462 reizes. Makro augšdaļā ievietojiet jaunu rindu ar vārdiem " For i = 1 to 462
". Makro apakšdaļā ievietojiet līniju, kas saka " Next i
". Tas liek VBA kodam palaist 462 reizes.

Secinājums
Pēc šī vienkāršā makro es parādīju piemēru ļoti sarežģīta makro izrādē. Šis makro izveidoja rakurstabulas un diagrammas 46 uzņēmuma departamentiem. Šis pārskats katru mēnesi prasīja 40 stundas. VBA makro tagad darbojas un izveido visus 46 pārskatus mazāk nekā 2 minūtēs.
Grāmata VBA un makro Microsoft Excel 2016 palīdzēs jums apgūt mācību līkni, lai jūs varētu iegūt no tādu vienkāršu makro ierakstīšanas kā šis līdz ļoti sarežģītu pārskatu izpildei, kas var ietaupīt simtiem stundu gadā. Protams, ja nevēlaties apgūt VBA, nolīgojiet Excel konsultantu, kas izveidos jums ziņojumu.