Excel VBA piemēri: ievada notikumu piemēri

Ja mēģināt iegūt labu izpratni par Excel VBA , iespējams, jums noderēs daži piemēri, lai attīstītu šo vizuālo pamatprasmi. Šeit ir daži Excel VBA piemēri, lai jūs varētu uzzināt par šo notikumu apstrādes biznesu.

Excel VBA piemērs: darbgrāmatas atvēršanas notikums

Viens no visbiežāk izmantotajiem Excel VBA notikumiem ir darbgrāmatas atvēršanas notikums. Pieņemsim, ka jums ir darbgrāmata, kuru izmantojat katru dienu. Procedūra Workbook_Open šajā piemērā tiek izpildīta katru reizi, kad tiek atvērta darbgrāmata. Procedūra pārbauda nedēļas dienu; ja ir piektdiena, kods parāda jums atgādinājuma ziņojumu.

Lai izveidotu Excel VBA procedūru, kas tiek izpildīta ikreiz, kad notiek darbgrāmatas atvēršanas notikums, veiciet šīs darbības:

Atveriet Excel darbgrāmatu.
Derēs jebkura Excel darbgrāmata.

Nospiediet Alt+F11, lai aktivizētu VBE.

Atrodiet darbgrāmatu logā Projekts.

Veiciet dubultklikšķi uz projekta nosaukuma, lai vajadzības gadījumā parādītu tā vienumus.

Veiciet dubultklikšķi uz vienuma ThisWorkbook.
VBE parāda tukšu Code logu ThisWorkbook objektam.

Logā Kods nolaižamajā sarakstā Objekts (pa kreisi) atlasiet Darbgrāmata.
VBE ievada sākuma un beigu priekšrakstus procedūrai Workbook_Open.

Ievadiet šādus paziņojumus, lai visa notikuma procedūra izskatītos šādi:

Privāta apakšdarbgrāmata_Open()
  Dim Msg As String
  Ja nedēļas diena (tagad) = 6, tad
    Msg = "Šodien ir piektdiena. Neaizmirstiet "
    Msg = Ziņojums & "iesniedziet TPS ziņojumu!"
    MsgBox Ziņojums
  Beigas Ja
Beigt apakš

Koda logam vajadzētu izskatīties šādi.

Excel VBA piemēri: ievada notikumu piemēri

Šī notikumu apstrādātāja procedūra tiek izpildīta, atverot darbgrāmatu.

Workbook_Open tiek izpildīts automātiski, kad tiek atvērta darbgrāmata. Tas izmanto VBA WeekDay funkciju, lai noteiktu nedēļas dienu. Ja ir piektdiena (6. diena), ziņojuma lodziņš atgādina lietotājam iesniegt ziņojumu. Ja nav piektdiena, nekas nenotiek.

Ja šodien nav piektdiena, jums var būt grūti pārbaudīt šo procedūru. Varat vienkārši mainīt 6, lai tas atbilstu šodienas faktiskajam dienas skaitlim.

Un, protams, jūs varat modificēt šo procedūru, kā vēlaties. Piemēram, nākamajā versijā tiek parādīts ziņojums katru reizi, kad tiek atvērta darbgrāmata. Pēc kāda laika tas kļūst kaitinoši.

Procedūra Workbook_Open var darīt gandrīz jebko. Šos notikumu apdarinātājus bieži izmanto:

  • Sveiciena ziņojumu parādīšana (piemēram, Frenka foršajā darbgrāmatā)
  • Citu darbgrāmatu atvēršana
  • Konkrētas darblapas aktivizēšana darbgrāmatā
  • Pielāgotu īsceļu izvēlņu iestatīšana

Šis ir pēdējais Excel VBA procedūras Workbook_Open piemērs, kurā tiek izmantotas funkcijas GetSetting un SaveSetting, lai izsekotu, cik reižu darbgrāmata ir atvērta. Funkcija SaveSetting ieraksta vērtību Windows reģistrā, un funkcija GetSetting izgūst šo vērtību (sīkāku informāciju skatiet palīdzības sistēmā). Šis Excel VBA piemērs izgūst skaitu no reģistra, palielina to un pēc tam saglabā to atpakaļ reģistrā. Tas arī norāda lietotājam Cnt vērtību, kas atbilst darbgrāmatas atvēršanas reižu skaitam.

Privāta apakšdarbgrāmata_Open()
  Dim Cnt Tik ilgi
  Cnt = GetSetting ("MyApp", "Iestatījumi", "Atvērt", 0)
  Cnt = Cnt + 1
  SaveSetting "MyApp", "Settings", "Open", Cnt
  MsgBox "Šī darbgrāmata ir atvērta " & Cnt & " reizes."
Beigt apakš

Excel VBA piemēri: ievada notikumu piemēri

Notikumu apstrādātāja Workbook_Open izmantošana, lai izsekotu, cik reižu darbgrāmata ir atvērta.

Excel VBA piemērs: notikums BeforeClose darbgrāmatai

Šeit ir piemērs Excel VBA Workbook_BeforeClose notikumu apstrādātāja procedūrai, kas tiek izpildīta automātiski tieši pirms darbgrāmatas aizvēršanas. Šī procedūra atrodas ThisWorkbook objekta koda logā:

Private Sub Workbook_BeforeClose (Atcelt kā Būla)
  Dim Msg As String
  Dim Ans As Long
  Dim FName kā virkne
  Msg = "Vai vēlaties izveidot šī faila dublējumu?"
  Ans = MsgBox(Ziņojums, vbYesNo)
  Ja Ans = vbJā Tad
    FName = "F:\BACKUP\" & ThisWorkbook.Name
    ThisWorkbook.SaveCopyAs FName
  Beigas Ja
Beigt apakš

Šī rutīna izmanto ziņojuma lodziņu, lai jautātu lietotājam, vai viņš vēlas izveidot darbgrāmatas dublējumkopiju. Ja atbilde ir jā, kods izmanto SaveCopyAs metodi, lai saglabātu faila dublējumkopiju diskā F. Ja pielāgojat šo procedūru savām vajadzībām, jums ir jāmaina disks un ceļš.

Excel programmētāji bieži izmanto procedūru Workbook_BeforeClose, lai sakoptu aiz sevis. Piemēram, ja izmantojat procedūru Workbook_Open, lai mainītu dažus iestatījumus, atverot darbgrāmatu (piemēram, paslēpjot statusa joslu), iestatījumus var atjaunot sākotnējā stāvoklī, kad aizverat darbgrāmatu. Šo elektronisko mājturību varat veikt ar procedūru Workbook_BeforeClose.

Izmantojot notikumu Workbook_BeforeClose, paturiet prātā: ja aizverat programmu Excel un kāds atvērts fails ir mainīts kopš pēdējās saglabāšanas, programma Excel parāda parasto ziņojuma lodziņu “Vai vēlaties saglabāt izmaiņas”. Noklikšķinot uz pogas Atcelt, tiek atcelts viss aizvēršanas process. Bet notikums Workbook_BeforeClose tik un tā būs izpildīts.

Excel VBA piemērs: notikums BeforeSave darbgrāmatai

Notikums BeforeSave, kā norāda tā nosaukums, tiek aktivizēts pirms darbgrāmatas saglabāšanas. Šis notikums notiek, kad izvēlaties Fails → Saglabāt vai Fails → Saglabāt kā.

Tālāk norādītā procedūra, kas tiek ievietota ThisWorkbook objekta koda logā , demonstrē notikumu BeforeSave. Rutīna atjaunina vērtību šūnā (šūna A1 lapā 1) katru reizi, kad tiek saglabāta darbgrāmata. Citiem vārdiem sakot, šūna A1 kalpo kā skaitītājs, lai sekotu līdzi faila saglabāšanas reižu skaitam.

Privāta apakšdarbgrāmata_BeforeSave(byVal SaveAsUI _
  Kā Būla vērtība, Atcelt kā Būla)
  Dim Counter As Range
  Iestatīt skaitītāju = loksnes("1. lapa"). Diapazons("A1")
  Skaitītājs.Vērtība = Counter.Value + 1
Beigt apakš

Ņemiet vērā, ka procedūrai Workbook_BeforeSave ir divi argumenti: SaveAsUI un Cancel. Lai parādītu, kā šie argumenti darbojas, pārbaudiet šo makro, kas tiek izpildīts pirms darbgrāmatas saglabāšanas. Šī procedūra mēģina neļaut lietotājam saglabāt darbgrāmatu ar citu nosaukumu. Ja lietotājs izvēlas Fails → Saglabāt kā, SaveAsUI arguments ir True.

Kad kods tiek izpildīts, tas pārbauda SaveAsUI vērtību. Ja šis mainīgais ir True, procedūra parāda ziņojumu un iestata Cancel uz True, kas atceļ saglabāšanas darbību.

Privāta apakšdarbgrāmata_BeforeSave(byVal SaveAsUI _
  Kā Būla vērtība, Atcelt kā Būla)
  Ja SaveAsUI Tad
    MsgBox "Jūs nevarat saglabāt šīs darbgrāmatas kopiju!"
  Atcelt = patiess
  Beigas Ja
Beigt apakš

Ņemiet vērā, ka šī procedūra nevienam netraucēs saglabāt kopiju ar citu nosaukumu. Ja kāds patiešām vēlas to darīt, viņš vai viņa var vienkārši atvērt darbgrāmatu ar atspējotiem makro. Ja makro ir atspējoti, tiek atspējotas arī notikumu apstrādātāja procedūras, kas ir loģiski, jo tie galu galā ir makro.


Kā neļaut Microsoft Word atvērt failus tikai lasīšanas režīmā operētājsistēmā Windows

Kā neļaut Microsoft Word atvērt failus tikai lasīšanas režīmā operētājsistēmā Windows

Kā neļaut Microsoft Word atvērt failus tikai lasīšanas režīmā operētājsistēmā Windows Microsoft Word atver failus tikai lasīšanas režīmā, padarot tos neiespējamu rediģēt? Neuztraucieties, metodes ir norādītas zemāk

Kā novērst nepareizu Microsoft Word dokumentu drukāšanu

Kā novērst nepareizu Microsoft Word dokumentu drukāšanu

Kā labot kļūdas, drukājot nepareizus Microsoft Word dokumentus.Kļūdas Word dokumentu drukāšanā ar mainītiem fontiem, nekārtīgām rindkopām, trūkstoša teksta vai pazaudētu saturu ir diezgan izplatītas. Tomēr nevajag

Izdzēsiet pildspalvas un marķiera zīmējumus savos PowerPoint slaidos

Izdzēsiet pildspalvas un marķiera zīmējumus savos PowerPoint slaidos

Ja prezentācijas laikā esat izmantojis pildspalvu vai marķieri, lai zīmētu uz PowerPoint slaidiem, varat saglabāt zīmējumus nākamajai prezentācijai vai izdzēst tos, lai nākamajā reizē, kad to parādīsit, jūs sāktu ar tīriem PowerPoint slaidiem. Izpildiet šos norādījumus, lai dzēstu pildspalvas un marķiera zīmējumus: Līniju dzēšana pa vienai […]

Veidojiet bibliotēkas saturu programmā SharePoint 2010

Veidojiet bibliotēkas saturu programmā SharePoint 2010

Stilu bibliotēkā ir CSS faili, paplašināmās stila lapu valodas (XSL) faili un attēli, ko izmanto iepriekš definētas šablona lapas, lapu izkārtojumi un vadīklas programmā SharePoint 2010. Lai atrastu CSS failus publicēšanas vietnes stilu bibliotēkā: izvēlieties Vietnes darbības → Skatīt Viss vietnes saturs. Tiek parādīts vietnes saturs. Stila bibliotēka atrodas […]

Formatējiet skaitļus tūkstošos un miljonos Excel pārskatos

Formatējiet skaitļus tūkstošos un miljonos Excel pārskatos

Nepārsedziet savu auditoriju ar milzīgiem skaitļiem. Programmā Microsoft Excel varat uzlabot informācijas paneļu un pārskatu lasāmību, formatējot skaitļus tā, lai tie tiktu rādīti tūkstošos vai miljonos.

Kā koplietot un sekot līdzi SharePoint vietnēm

Kā koplietot un sekot līdzi SharePoint vietnēm

Uzziniet, kā izmantot SharePoints sociālo tīklu rīkus, kas ļauj indivīdiem un grupām sazināties, sadarboties, koplietot un sazināties.

Kā programmā Excel konvertēt datumus Juliana formātos

Kā programmā Excel konvertēt datumus Juliana formātos

Jūlija datumi ražošanas vidēs bieži tiek izmantoti kā laikspiedols un ātra atsauce partijas numuram. Šāda veida datuma kodēšana ļauj mazumtirgotājiem, patērētājiem un pakalpojumu aģentiem noteikt produkta izgatavošanas laiku un līdz ar to arī produkta vecumu. Jūlija datumi tiek izmantoti arī programmēšanā, militārajā jomā un astronomijā. Savādāk […]

Kā izveidot Access Web App

Kā izveidot Access Web App

Programmā Access 2016 varat izveidot tīmekļa lietotni. Kas tad vispār ir tīmekļa lietotne? Tīmeklis nozīmē, ka tas ir tiešsaistē, un lietotne ir tikai “lietojumprogrammas” saīsinājums. Pielāgota tīmekļa lietotne ir tiešsaistes datu bāzes lietojumprogramma, kurai var piekļūt no mākoņa, izmantojot pārlūkprogrammu. Jūs veidojat un uzturat tīmekļa lietotni darbvirsmas versijā […]

Ātrās palaišanas josla programmā SharePoint 2010

Ātrās palaišanas josla programmā SharePoint 2010

Lielākā daļa SharePoint 2010 lapu ātrās palaišanas joslā lapas kreisajā pusē parāda navigācijas saišu sarakstu. Ātrās palaišanas joslā tiek rādītas saites uz piedāvāto vietņu saturu, piemēram, sarakstiem, bibliotēkām, vietnēm un publicēšanas lapām. Ātrās palaišanas joslā ir divas ļoti svarīgas saites: Visa vietnes satura saite: […]

Ko nozīmē risinātāja kļūdu ziņojumi programmā Excel?

Ko nozīmē risinātāja kļūdu ziņojumi programmā Excel?

Vienkāršām problēmām risinātājs programmā Excel parasti ātri atrod optimālās Risinātāja mainīgā vērtības mērķa funkcijai. Taču dažos gadījumos Solver ir grūti atrast Solver mainīgā vērtības, kas optimizē mērķa funkciju. Šādos gadījumos Solver parasti parāda ziņojumu vai kļūdas ziņojumu, kurā aprakstīta vai apspriesta problēma, ko […]