Ev Social Media Excel 2016 VBA'da Etkin Olaylar ve Keypress Olayları Nasıl Kullanılır - mankenler

Excel 2016 VBA'da Etkin Olaylar ve Keypress Olayları Nasıl Kullanılır - mankenler

İçindekiler:

Video: How to make a Timeline 2025

Video: How to make a Timeline 2025
Anonim

Excel 2016 için VBA programlamasında nesnelerle ilişkilendirilmemiş iki tür olay var: zaman ve tuşa basma. Zaman ve tuş vuruşları, çalışma kitabı veya çalışma sayfası gibi belirli bir nesneyle ilişkilendirilmediğinden, bu olayları normal bir VBA modülünde programlarsınız.

OnTime olayı

OnTime olayı, belirli bir günün saati olduğunda oluşur. Aşağıdaki örnek, Excel'in bir prosedürü 3 p. m. olay meydana gelir. Bu durumda, bir robot sesi sizi uyandırmanızı ve bir mesaj kutusu eşliğinde söyler:

Alt SetAlarm () Uygulaması. OnTime 0. 625, "DisplayAlarm" End Sub Alt DisplayAlarm () Uygulaması. Konuşma. Konuş ("Hey, uyanın") MsgBox "Öğleden sonraki molanız zamanı! "End Sub

Bu örnekte, Uygulama nesnesinin OnTime yöntemi kullanılır. Bu yöntem, iki bağımsız değişken alır: zaman (0.625 veya 3: 00 p.m) ve zaman olayı oluştuğunda yürütülecek Sub prosedürün adı (DisplayAlarm).

Bu prosedür, işinize koyulup toplantınızı ve randevularınızı unuttuğunuz için oldukça yararlıdır. Kendinize hatırlatmak için yalnızca bir OnTime olayı ayarlayın.

Çoğu insan zamanın Excel numaralandırma sistemi açısından düşünülmesini zor buluyor. Bu nedenle, saati temsil etmek için VBA Zaman Değerini işlevini kullanmak isteyebilirsiniz. TimeValue, zamana benzeyen bir dizeyi Excel'in işleyebileceği bir değere dönüştürür. Aşağıdaki ifade bir etkinliği 3 p için programlamanın daha kolay bir yolunu göstermektedir. m.:

Uygulama. OnTime TimeValue ("3: 00: 00 pm"), "DisplayAlarm"

Şu anki zamana göre bir etkinlik planlamak isterseniz (örneğin, şu andan 20 dakika sonra), aşağıdaki gibi bir deyim kullanabilirsiniz: < Uygulama. OnTime Now + TimeValue ("00: 20: 00"), "DisplayAlarm"

Belirli bir günde bir VBA yordamını çalıştırmak için OnTime yöntemini de kullanabilirsiniz. Bilgisayarınızın çalışmaya devam ettiğinden ve prosedürle birlikte çalışma kitabının açık tutulduğundan emin olmanız gerekir. Aşağıdaki ifade, DisplayAlarm prosedürünü 5 p'de çalıştırır. m. 31 Aralık 2016'da:

Başvuru. OnTime DateValue ("12/31/2016 5:00 pm"), "DisplayAlarm"

Bu özel kod satırı sizi eve gitmeniz ve Yılbaşı geceleri için hazırlanmanız gerektiğini söylemek için kullanışlı olabilir.

İşte OnTime olayını kullanan başka bir örnek. UpdateClock yordamlarını çalıştırmak, A1 hücresine saat yazar ve ayrıca beş saniye sonra başka bir olay programlar.Bu olay, UpdateClock yordamını yeniden çalıştırır. Net etki, A1 hücresi her beş saniyede bir geçerli saatle güncellenir. Olayları durdurmak için StopClock yordamını yürütün (olayı iptal eder). NextTick'in bir sonraki etkinliğin saatini depolayan modül düzeyinde bir değişken olduğunu unutmayın.

Dim NextTick As Date Sub UpdateClock () 'A1 hücresini şu andaki ThisWorkbook zamanıyla günceller. Tablolar (1). Range ("A1") = Time 'Bir sonraki etkinliği beş saniye sonra ayarlayın NextTick = Now + TimeValue ("00: 00: 05") Uygulama. OnTime NextTick, "UpdateClock" End Sub Sub StopClock () 'OnTime olayını iptal eder (saati durdurur) Error On Resume Next Application. OnTime NextTick, "UpdateClock", False End Sub

OnTime olayı, çalışma kitabı kapatıldıktan sonra bile devam eder. Diğer bir deyişle, çalışma kitabını StopClock yordamını çalıştırmadan kapatırsanız, çalışma kitabı beş saniye içinde yeniden açılır (Excel'in hala çalıştığını varsayarak). Bunu önlemek için  , aşağıdaki deyimi içeren bir Workbook_BeforeClose olay yordamını kullanın:

Call StopClock

OnTime yöntem iki ek bağımsız değişkeni vardır. Bu yöntemi kullanmayı planlıyorsanız, eksiksiz ayrıntılar için Yardım sistemine başvurmalısınız.

Eğer oldukça karmaşık bir uygulama görmek isterseniz, bu analog saat uygulamasına göz atın. Saat yüzü aslında bir grafiktir ve grafik, günün saatini görüntülemek üzere her saniyede bir güncellenir. Yararsız, ama eğlenceli.

Analog saat uygulaması.

Keypress olayları

Çalışırken Excel sürekli yazdığınız şeyleri izler. Bu nedenle, bir tuş vuruşu ayarlayabilir ya da bir tuş kombinasyonu bir prosedürü uygular.

PgDn ve PgUp tuşlarını yeniden atayan bir örnek:

Sub Setup_OnKey () Uygulaması. OnKey "{PgDn}", "PgDn_Sub" Uygulaması. OnKey "{PgUp}", "PgUp_Sub" End Sub Alt PgDn_Sub () On Error Sonraki ActiveCell'i Devam Et. Ofset (1, 0). Son Sub Alt Etkinleştir PgUp_Sub () On Error Bir Sonraki ActiveCell Devam Et. Ofset (-1, 0). End Sub etkinleştirme> Setup_OnKey yordamını çalıştırarak OnKey olaylarını ayarladıktan sonra PgDn tuşuna basarak sizi bir sıra aşağı hareket ettirirsiniz. PgUp'a basmak sizi bir sıra yukarıya hareket ettirir.

Anahtar kodlarının parantez içinde değil parantez içine alındığına dikkat edin. Klavye kodlarının tam bir listesi için Yardım sistemine bakın.

OnKey'i arayın.

Bu örnekte, On Error Resume Next seçeneği, üretilen hataları görmezden gelmek için kullanılır. Örneğin, etkin hücre ilk satırda ise, bir satır yukarı doğru ilerletmeye çalışmak güvenle yok sayılabilecek bir hataya neden olur. Ve bir grafik sayfası etkinse, etkin bir hücre yok demektir. Aşağıdaki yordamı yürürleyerek OnKey olaylarını iptal ettiniz:

Alt Cancel_OnKey () Uygulama. OnKey "{PgDn}" Uygulaması. OnKey "{PgUp}" End Sub

OnKey yönteminin ikinci bağımsız değişkeni olarak boş bir dize kullanarak

değil

OnKey olayını iptal eder. Aksine, Excel'in tuş vuruşlarını görmezden gelmesi neden olur. Örneğin, aşağıdaki deyim Excel'e Alt + F4 değerlerini yoksaymasını söyler. Yüzde işareti Alt tuşunu temsil eder: Uygulama.OnKey "% {F4}", "" Bir makroyu yürütmek için bir kısayol tuşu atamak için OnKey yöntemini kullanabilirsiniz, ancak bu görev için Makro Seçenekleri iletişim kutusunu kullanmalısınız.

Kodun bulunduğu çalışma kitabını kapatırsanız ve Excel'i açık bırakırsanız, OnKey yöntemi sıfırlanmaz. Sonuç olarak, kısayol tuşuna basmak, Excel'in makroyla dosyayı otomatik olarak açmasına neden olacaktır. Bunun olmasını önlemek için, OnKey olayını sıfırlamak için Workbook_BeforeClose olay koduna kod eklemelisin.
Excel 2016 VBA'da Etkin Olaylar ve Keypress Olayları Nasıl Kullanılır - mankenler

Editörün Seçimi

Genişletme Bağlantılar ve Bina Robotları için Pinouts - mankenler

Genişletme Bağlantılar ve Bina Robotları için Pinouts - mankenler

Eğer bir robot inşa ediyorsanız, çok sayıda elektrik bağlantısı, bu yüzden çok sayıda iğne ile uğraşıyorsunuz. Aşağıdaki tabloda, genişleme konektörleri ve pim numaraları için sinyal gösterilmektedir. İstenmeyen çapraz bağlantıları önlemeye yardımcı olabilir. Genişletme Konnektörü Pin Numarası Sinyal Genleşmesi Konnektör Pin Numarası Sinyal 1, 2 Toprak 16 P11 Yeşil LED 3, 4 + 5 ...

Dizinler içeren Kablosuz Erişim Noktalarını bulma - mankenler

Dizinler içeren Kablosuz Erişim Noktalarını bulma - mankenler

Sıcak noktaları bulma konusunda çevrimiçi dizinler, gezinmek için mükemmel bir araçtır. ABD, Kanada ve dünyadaki artan sayıda sıcak nokta. Size kolaylık sağlamak için, bu dizinlerden bazıları. Dizin Notları JiWire WiFi Bulucu 144 ülkede ücretsiz ve ücretli Wi-Fi yerleri dizini sağlar. AT & T ...

Ham Radyoda genel Sınıf Frekans Ayrıcalıkları - mankenler

Ham Radyoda genel Sınıf Frekans Ayrıcalıkları - mankenler

Yakında yapmadıysanız, siz Yükseltmeyi düşünüyorum. Aşağıdaki tabloda gösterildiği gibi, yüksek frekanslı (HF) bantlarda kullanmak için daha fazla frekansa sahipsiniz. Tüm lisans sınıfları için ABD frekansı ve mod ayrıcalıklarının eksiksiz bir listesi, Amerikan Radyo Röle Ligi'nden (ARRL) edinilebilir. Bant Frekansları ...

Editörün Seçimi

Adobe Flash CS6'da Maske Katmanlarını Kullanma - mankenler

Adobe Flash CS6'da Maske Katmanlarını Kullanma - mankenler

Adobe Flash CS6'da maskeleme kavramı Bir parçanın bölümlerini gizlemek ya da ortaya çıkarmak için bir şekli (ya da şekilleri) kullanır - tıpkı evinizdeki küçük bir pencere aracılığıyla dışarıdan bakmak gibi. Pencere boyutu, içerideyken görebileceğiniz şeyi sınırlar. Flash, özel bir katman özelliklerine sahiptir ...

Flash CS5 3D Rotasyon Aletinin Kullanımı - mankenler

Flash CS5 3D Rotasyon Aletinin Kullanımı - mankenler

Adobe'nin kapsamlı çizim ve animasyon yetenekleri Flash Creative Suite 5, Flash'ın 3D Döndürme aracıyla büyük ölçüde geliştirilebilir. 3B Döndürme aracı, sembolü x, y ve z eksenleri etrafında döndürmek ve dönüştürmek için herhangi bir film klibi örneğinde kullanılabilir. Bir film klibi örneğini 3D olarak oluşturmak için bunları izleyin ...

Flash CS5 3D Çeviri Aletini Kullanma - aumlalar

Flash CS5 3D Çeviri Aletini Kullanma - aumlalar

In 3D Döndürme aracının aksine Flash CS5 film kliplerini bir eksen etrafında döndüren Adobe Flash Creative Suite 5, 3D Çeviri aracı, bir film klibini algılanan mesafeyi ve sahnedeki diğer nesnelere göre derinliğini değiştirmek için belirli bir eksende kaydırır. Bu kavramı üçlü düşünün ...

Editörün Seçimi

Pratik İlköğretim Sınavı-Grafik Çözümleri - mankenler

Pratik İlköğretim Sınavı-Grafik Çözümleri - mankenler

Praxis İlköğretim sınavının Matematik bölümü bir dizi çizgide bir eşitsizliğe çözüm bulmanızı gerektiren bir soru. Başlamak için, çözümdeki sayıya bir nokta koyarsınız. Sembolü> veya

Pratik İlk Öğretim Sınavı-Ölüm Şekilleri - mankenler

Pratik İlk Öğretim Sınavı-Ölüm Şekilleri - mankenler

Praxis İlköğretim Matematik ve Bilim bölümleri Eğitim sınavı, farklı ölçme şekillerine aşina olmanız gereken sorular içerir. Ölçümler, çeşitli tiplerde tanımlanabilir. Mesafe için İngilizce sistem birimleri inç, feet, metre ve mil içerir. Bunlar birbirine dayanır. Bir ayak 12 ...

Pratik İlk Öğretim Sınavı-Akıcılık - mankenler

Pratik İlk Öğretim Sınavı-Akıcılık - mankenler

Praxis İlköğretim sınavı, yardımcı stratejilerinizi test eden sorular içerir öğrenciler akıcılıklarını İngilizce olarak geliştirirler. Bu stratejiler, grafik düzenleyicileri kullanarak ve çıkarımlar yapmayı içerebilir. Akıcı bir okuyucu, sınıf düzeyinde bir metni doğruluk, çabukluk ve ifade ile okuyabilir.