Excel VBA pavyzdžiai: įvadinių įvykių pavyzdžiai

Jei bandote gerai išmanyti „Excel VBA“ , jums tikriausiai būtų naudingi keli pavyzdžiai, kad patobulintumėte tą vizualinį pagrindinį meistriškumą. Čia rasite kelis Excel VBA pavyzdžius, kad galėtumėte susipažinti su šiuo įvykių tvarkymo verslu.

Excel VBA pavyzdys: darbaknygės atidarymo įvykis

Vienas iš dažniausiai naudojamų Excel VBA įvykių yra Workbook Open įvykis. Tarkime, kad turite darbaknygę, kurią naudojate kiekvieną dieną. Procedūra Workbook_Open šiame pavyzdyje vykdoma kiekvieną kartą atidarius darbaknygę. Procedūra tikrina savaitės dieną; jei penktadienis, kodas rodo jums priminimo pranešimą.

Norėdami sukurti „Excel“ VBA procedūrą, kuri vykdoma kiekvieną kartą, kai įvyksta darbaknygės atidarymo įvykis, atlikite šiuos veiksmus:

Atidarykite „Excel“ darbaknygę.
Tiks bet kuri „Excel“ darbaknygė.

Paspauskite Alt + F11, kad suaktyvintumėte VBE.

Projekto lange raskite darbaknygę.

Dukart spustelėkite projekto pavadinimą, kad būtų rodomi jo elementai, jei reikia.

Dukart spustelėkite elementą ThisWorkbook.
VBE rodo tuščią „ThisWorkbook“ objekto kodo langą.

Lango Kodas išskleidžiamajame sąraše Objektas (kairėje) pasirinkite Darbaknygė.
VBE įveda darbo knygos_Open procedūros pradžios ir pabaigos sakinius.

Įveskite šiuos teiginius, kad visa renginio procedūra atrodytų taip:

Privati ​​antrinė darbaknygė_Open()
  Pritemdyti pranešimą kaip eilutę
  Jei savaitės diena (dabar) = 6 Tada
    Msg = "Šiandien penktadienis. Nepamirškite "
    Msg = Msg & "pateikite TPS ataskaitą!"
    MsgBox Msg
  Pabaiga, jei
Pabaigos sub

Kodo langas turėtų atrodyti taip.

Excel VBA pavyzdžiai: įvadinių įvykių pavyzdžiai

Ši įvykių tvarkyklės procedūra vykdoma atidarius darbaknygę.

Darbaknygė_Open vykdoma automatiškai, kai tik atidaroma darbaknygė. Jis naudoja VBA WeekDay funkciją, kad nustatytų savaitės dieną. Jei penktadienis (6 diena), pranešimo langelis primena vartotojui, kad jis turi pateikti ataskaitą. Jei ne penktadienis, nieko neatsitiks.

Jei šiandien ne penktadienis, jums gali būti sunku išbandyti šią procedūrą. Galite tiesiog pakeisti 6, kad atitiktų šiandienos faktinį dienos skaičių.

Ir, žinoma, šią procedūrą galite keisti kaip tik norite. Pavyzdžiui, šioje versijoje kiekvieną kartą atidarant darbaknygę rodomas pranešimas. Tai po kurio laiko pradeda erzinti.

„Workbook_Open“ procedūra gali padaryti beveik viską. Šios įvykių tvarkyklės dažnai naudojamos šiems tikslams:

  • Pasisveikinimo pranešimų rodymas (pvz., puikioje Franko darbaknygėje)
  • Kitų darbo knygų atidarymas
  • Tam tikro darbalapio aktyvinimas darbaknygėje
  • Pasirinktinių nuorodų meniu nustatymas

Štai paskutinis Excel VBA procedūros Workbook_Open pavyzdys, kuris naudoja GetSetting ir SaveSetting funkcijas, kad galėtų sekti, kiek kartų darbaknygė buvo atidaryta. Funkcija „SaveSetting“ įrašo reikšmę į „Windows“ registrą, o funkcija „GetSetting“ nuskaito tą reikšmę (daugiau informacijos rasite žinyno sistemoje). Šis Excel VBA pavyzdys nuskaito skaičių iš registro, padidina jį ir išsaugo jį atgal registre. Ji taip pat nurodo vartotojui Cnt reikšmę, atitinkančią darbaknygės atidarymo kartų skaičių.

Privati ​​antrinė darbaknygė_Open()
  Dim Cnt As Long
  Cnt = GetSetting ("Mano programa", "Nustatymai", "Atidaryti", 0)
  Cnt = Cnt + 1
  „SaveSetting“ „MyApp“, „Nustatymai“, „Atidaryti“, „Cnt
  MsgBox "Ši darbaknygė buvo atidaryta " & Cnt & " kartus."
Pabaigos sub

Excel VBA pavyzdžiai: įvadinių įvykių pavyzdžiai

Workbook_Open įvykių tvarkyklės naudojimas norint sekti, kiek kartų darbaknygė buvo atidaryta.

Excel VBA pavyzdys: darbaknygės įvykis BeforeClose

Štai „Excel VBA Workbook_BeforeClose“ įvykių tvarkyklės procedūros, kuri vykdoma automatiškai prieš pat uždarant darbaknygę, pavyzdys. Ši procedūra yra „ThisWorkbook“ objekto kodo lange:

Privati ​​antrinė darbo knyga_Prieš uždarymą (Atšaukti kaip Būlio)
  Pritemdyti pranešimą kaip eilutę
  Dim Ans As Long
  Dim FName As String
  Msg = "Ar norėtumėte sukurti šio failo atsarginę kopiją?"
  Ans = MsgBox(Msg, vbYesNo)
  Jei Ans = vbTaip Tada
    FName = "F:\BACKUP\" & ThisWorkbook.Name
    ThisWorkbook.SaveCopyAs FName
  Pabaiga, jei
Pabaigos sub

Ši rutina naudoja pranešimų laukelį, kad paklaustų vartotojo, ar jis norėtų sukurti atsarginę darbaknygės kopiją. Jei atsakymas yra teigiamas, kodas naudoja SaveCopyAs metodą, kad išsaugotų atsarginę failo kopiją F diske. Jei pritaikysite šią procedūrą savo reikmėms, turėsite pakeisti diską ir kelią.

„Excel“ programuotojai dažnai naudoja procedūrą „Workbook_BeforeClose“, kad susitvarkytų. Pavyzdžiui, jei naudojate procedūrą Workbook_Open norėdami pakeisti kai kuriuos nustatymus atidarydami darbaknygę (pavyzdžiui, paslėpdami būsenos juostą), tikslinga tik tada, kai uždarote darbaknygę, grąžinsite nustatymus į pradinę būseną. Šią elektroninę namų tvarkymą galite atlikti naudodami procedūrą Workbook_BeforeClose.

Kai naudojate įvykį Workbook_BeforeClose, atminkite tai: jei uždarote „Excel“ ir bet kuris atidarytas failas buvo pakeistas po paskutinio išsaugojimo, „Excel“ rodo įprastą pranešimo laukelį „Ar norite išsaugoti pakeitimus“. Spustelėjus mygtuką Atšaukti atšaukiamas visas uždarymo procesas. Tačiau įvykis Workbook_BeforeClose vis tiek bus įvykdytas.

Excel VBA pavyzdys: darbaknygės įvykis BeforeSave

Įvykis BeforeSave, kaip rodo jo pavadinimas, suaktyvinamas prieš išsaugant darbaknygę. Šis įvykis įvyksta, kai pasirenkate Failas → Įrašyti arba Failas → Įrašyti kaip.

Ši procedūra, kuri patalpinama į „ ThisWorkbook“ objekto kodo langą , parodo įvykį BeforeSave. Įprasta atnaujina langelio reikšmę (ląstelė A1 lape 1) kiekvieną kartą, kai išsaugoma darbaknygė. Kitaip tariant, langelis A1 tarnauja kaip skaitiklis, leidžiantis sekti, kiek kartų failas buvo išsaugotas.

Private Sub Workbook_BeforeSave(ByVal SaveAsUI _
  Kaip Būlis, Atšaukti Kaip Būlis)
  Pritemdytas skaitiklis kaip diapazonas
  Nustatyti skaitiklį = lapeliai ("1 lapas"). Diapazonas ("A1")
  Counter.Value = Counter.Value + 1
Pabaigos sub

Atkreipkite dėmesį, kad procedūra Workbook_BeforeSave turi du argumentus: SaveAsUI ir Cancel. Norėdami parodyti, kaip šie argumentai veikia, išnagrinėkite šią makrokomandą, kuri vykdoma prieš išsaugant darbaknygę. Šia procedūra bandoma neleisti vartotojui įrašyti darbaknygės kitu pavadinimu. Jei vartotojas pasirenka Failas → Įrašyti kaip, argumentas SaveAsUI yra teisingas.

Kai kodas vykdomas, jis patikrina SaveAsUI reikšmę. Jei šis kintamasis yra True, procedūra rodo pranešimą ir nustato Atšaukti į True, o tai atšaukia išsaugojimo operaciją.

Private Sub Workbook_BeforeSave(ByVal SaveAsUI _
  Kaip Būlis, Atšaukti Kaip Būlis)
  Jei SaveAsUI Tada
    MsgBox "Negalite išsaugoti šios darbaknygės kopijos!"
  Atšaukti = Tiesa
  Pabaiga, jei
Pabaigos sub

Atminkite, kad ši procedūra tikrai netrukdys niekam išsaugoti kopijos kitu pavadinimu. Jei kas nors tikrai nori tai padaryti, jis arba ji gali tiesiog atidaryti darbaknygę su išjungtomis makrokomandomis. Kai makrokomandos yra išjungtos, įvykių tvarkyklės procedūros taip pat išjungiamos, o tai logiška, nes tai yra makrokomandos.

Leave a Comment

Specialiųjų simbolių įterpimas į Word 2010

Specialiųjų simbolių įterpimas į Word 2010

Kartais gali prireikti įterpti neįprastą simbolį į Word 2010 dokumentą. Perskaitykite, kaip lengvai tai padaryti su mūsų patarimais ir simbolių sąrašu.

Kaip naudoti logines funkcijas „Excel 2010“ formulėse

Kaip naudoti logines funkcijas „Excel 2010“ formulėse

„Excel 2010“ naudoja septynias logines funkcijas – IR, FALSE, IF, IFERROR, NOT, OR ir TRUE. Sužinokite, kaip naudoti šias funkcijas efektyviai.

Kaip paslėpti ir rodyti eilutes ir stulpelius programoje „Excel 2016“.

Kaip paslėpti ir rodyti eilutes ir stulpelius programoje „Excel 2016“.

Sužinokite, kaip paslėpti ir atskleisti stulpelius bei eilutes programoje „Excel 2016“. Šis patarimas padės sutaupyti laiko ir organizuoti savo darbalapius.

Kaip apskaičiuoti slenkančius vidurkius programoje „Excel“.

Kaip apskaičiuoti slenkančius vidurkius programoje „Excel“.

Išsamus vadovas, kaip apskaičiuoti slankiuosius vidurkius „Excel“ programoje, skirtas duomenų analizei ir orų prognozėms.

Kaip nukopijuoti formules naudojant automatinį pildymą programoje „Excel 2016“.

Kaip nukopijuoti formules naudojant automatinį pildymą programoje „Excel 2016“.

Sužinokite, kaip efektyviai nukopijuoti formules Excel 2016 programoje naudojant automatinio pildymo funkciją, kad pagreitintumėte darbo eigą.

Kaip „Excel 2010“ langeliams taikyti užpildymo spalvas, raštus ir gradientus

Kaip „Excel 2010“ langeliams taikyti užpildymo spalvas, raštus ir gradientus

Galite pabrėžti pasirinktus langelius „Excel 2010“ darbalapyje pakeisdami užpildymo spalvą arba pritaikydami ląstelėms šabloną ar gradiento efektą.

Kaip paryškinti savaitgalio datas programoje „Excel“.

Kaip paryškinti savaitgalio datas programoje „Excel“.

Dirbdami su laiko kortelėmis ir planuodami programą „Excel“, dažnai pravartu lengvai nustatyti bet kokias datas, kurios patenka į savaitgalius. Šiame straipsnyje pateikiami žingsniai, kaip naudoti sąlyginį formatavimą.

Kaip sukurti diagramas „Office 365“.

Kaip sukurti diagramas „Office 365“.

Sužinokite, kaip sukurti diagramas „Word“, „Excel“ ir „PowerPoint“ programose „Office 365“. Daugiau informacijos rasite LuckyTemplates.com.

Kaip sukurti pasirinktinius „Excel“ suvestinės lentelės skaičiavimus

Kaip sukurti pasirinktinius „Excel“ suvestinės lentelės skaičiavimus

„Excel“ suvestinės lentelės leidžia kurti <strong>pasirinktinius skaičiavimus</strong>, įtraukiant daug pusiau standartinių skaičiavimų. Šiame straipsnyje pateiksiu detalius nurodymus, kaip efektyviai naudoti šią funkciją.

Kaip pakeisti rašybos tikrinimo ir gramatikos nustatymus programoje „Word 2016“.

Kaip pakeisti rašybos tikrinimo ir gramatikos nustatymus programoje „Word 2016“.

Nesvarbu, ar dievinate, ar nekenčiate Word gebėjimo išjuokti jūsų kalbos gebėjimus, jūs turite galutinį sprendimą. Yra daug nustatymų ir parinkčių, leidžiančių valdyti „Word“ rašybos ir gramatikos tikrinimo įrankius.