Excelda voqealar

Atama "Excel hodisasi» Excelda foydalanuvchi tomonidan bajarilgan muayyan harakatlarni ko'rsatish uchun ishlatiladi. Misol uchun, foydalanuvchi ish kitobi varag'ini almashtirganda, bu hodisa. Hujayraga ma'lumotlarni kiritish yoki ish kitobini saqlash ham Excel voqealari hisoblanadi.

Voqealar Excel ish varag'iga, diagrammalarga, ish kitobiga yoki to'g'ridan-to'g'ri Excel dasturining o'ziga bog'lanishi mumkin. Dasturchilar voqea sodir bo'lganda avtomatik ravishda bajariladigan VBA kodini yaratishi mumkin.

Masalan, foydalanuvchi Excel ish kitobidagi ish varag'ini har safar almashtirganda so'l ishga tushishi uchun siz voqea sodir bo'lgan har safar ishlaydigan VBA kodini yaratasiz. SheetActivate ish kitobi.

Va agar siz har safar ma'lum bir ish varag'iga kirganingizda makrosning ishlashini istasangiz (masalan, Jadval1), keyin VBA kodi voqea bilan bog'lanishi kerak faollashtirish bu varaq uchun.

Excel hodisalarini boshqarish uchun mo'ljallangan VBA kodi VBA muharriri oynasidagi tegishli ish varag'i yoki ish kitobi ob'ektiga joylashtirilishi kerak (muharrirni bosish orqali ochish mumkin) Alt + F11). Masalan, ish varag'i darajasida har safar ma'lum bir hodisa sodir bo'lganda bajarilishi kerak bo'lgan kod ushbu ish varag'ining kod oynasiga joylashtirilishi kerak. Bu rasmda ko'rsatilgan:

Visual Basic muharririda siz ish kitobi, ish varag'i yoki diagramma darajasida mavjud bo'lgan barcha Excel voqealari to'plamini ko'rishingiz mumkin. Tanlangan ob'ekt uchun kod oynasini oching va oynaning yuqori qismidagi chap ochiladigan menyudan ob'ekt turini tanlang. Oynaning yuqori qismidagi o'ng ochiladigan menyu ushbu ob'ekt uchun belgilangan voqealarni ko'rsatadi. Quyidagi rasmda Excel ish varag'i bilan bog'liq voqealar ro'yxati ko'rsatilgan:

Excelda voqealar

O'ng ochiladigan menyuda kerakli hodisani bosing va protsedura avtomatik ravishda ushbu ob'ekt uchun kod oynasiga kiritiladi. sub. protsedura boshida sub Excel avtomatik ravishda kerakli argumentlarni kiritadi (agar mavjud bo'lsa). Kerakli hodisa aniqlanganda protsedura qanday amallarni bajarishi kerakligini aniqlash uchun VBA kodini qo'shish qoladi.

misol

Quyidagi misolda har safar hujayra tanlanganda B1 ish varag'ida Jadval1 xabar oynasi paydo bo'ladi.

Ushbu amalni bajarish uchun biz ishchi varaq hodisasidan foydalanishimiz kerak Tanlash_O'zgartirish, bu har safar hujayra yoki hujayralar diapazoni tanlanishi o'zgarganda sodir bo'ladi. Funktsiya Tanlash_O'zgartirish argument sifatida qabul qiladi maqsad ob'ekt -. Qaysi hujayralar diapazoni tanlanganini shu tarzda bilamiz.

hodisa Tanlash_O'zgartirish har qanday yangi tanlov bilan sodir bo'ladi. Ammo biz faqat katak tanlanganda bajarilishi kerak bo'lgan harakatlar to'plamiga muhtojmiz B1. Buning uchun biz voqeani faqat belgilangan diapazonda kuzatib boramiz maqsad. Quyida ko'rsatilgan dastur kodida qanday amalga oshiriladi:

Joriy ish varag'ida B1 katakchasi tanlanganda xabarlar oynasini ko'rsatish uchun kod. Private Sub Worksheet_SelectionChange(ByVal Target As Range) 'B1 katak tanlangan yoki yo'qligini tekshiring, agar Target.Count = 1 Va Target.Row = 1 va Target.Column = 2 bo'lsa, 'Agar B1 katak tanlangan bo'lsa, quyidagi MsgBox "Sizda bor" B1 katakchasini tanladi" End If End Sub

Leave a Reply