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.

Leave a Comment

Kā pārvietoties Word 2007 tabulā

Kā pārvietoties Word 2007 tabulā

Uzziniet, kā efektīvi pārvietoties Word 2007 tabulā, izmantojot īsinājumtaustiņus un peles darbības, lai optimizētu savu darba plūsmu.

10 Excel funkcijas, kas jums patiešām būtu jāzina

10 Excel funkcijas, kas jums patiešām būtu jāzina

Šajā sarakstā ir iekļautas desmit populārākās Excel funkcijas, kas attiecas uz plašu vajadzību klāstu. Uzziniet, kā izmantot <strong>Excel funkcijas</strong> efektīvāk!

Papildu analīzes slāņu pievienošana jūsu Excel diagrammām

Papildu analīzes slāņu pievienošana jūsu Excel diagrammām

Uzziniet, kā pievienot papildu analīzes slāņus jūsu Excel diagrammām, lai uzlabotu vizualizāciju un sniegtu precīzākus datus. Šis raksts apraksta visas nepieciešamās darbības.

Kā izveidot rindkopas atkāpi programmā Word 2013

Kā izveidot rindkopas atkāpi programmā Word 2013

Uzziniet, kā iestatīt <strong>rindkopas atkāpi</strong> programmā Word 2013, lai uzlabotu dokumenta noformējumu un lasāmību.

Kā ievietot slejas Word 2010 dokumentā

Kā ievietot slejas Word 2010 dokumentā

Uzziniet, kā pareizi ievietot slejas programmā Word 2010, lai uzlabotu jūsu dokumentu formātu un struktūru.

Šūnu datu aizsardzība programmā Excel 2007

Šūnu datu aizsardzība programmā Excel 2007

Apsveriet iespēju aizsargāt Excel 2007 darblapu, lai izvairītos no neplānotām izmaiņām. Uzziniet, kā aizsargāt un atbloķēt šūnas, lai nodrošinātu datu integritāti.

PMT funkcija programmā Excel 2013

PMT funkcija programmā Excel 2013

Programmas Excel 2013 PMT funkcija aprēķina periodisko mūža rentes maksājumu. Šī funkcija ir būtiska hipotekāro kredītu maksājumu plānošanai.

Kā lietot t-test datu analīzes rīku programmā Excel

Kā lietot t-test datu analīzes rīku programmā Excel

Mācieties, kā veikt t-testus Excel programmā, izmantojot datus un aprakstot trīs t-testu veidus, kas noderēs jūsu datu analīzes procesā.

Kā filtrēt datu sarakstu programmā Excel 2016

Kā filtrēt datu sarakstu programmā Excel 2016

Uzziniet, kā filtrēt datu sarakstu programmā Excel 2016, lai ērti paslēptu nevēlamus ierakstus un strādātu tikai ar nepieciešamajiem datiem.

Kā pievienot datu etiķetes diagrammai programmā Excel 2007

Kā pievienot datu etiķetes diagrammai programmā Excel 2007

Uzziniet, kā vienkārši pievienot datu etiķetes diagrammai programmā Excel 2007. Palīdziet noteikt vērtības, kas tiek rādītas katrā datu punktā, izmantojot dažādas izvietošanas un formatēšanas iespējas.