Excel Makroları - Kullanıcı Formları

Bazen başkalarından tekrar tekrar bilgi toplamanız gerekebilir. Excel VBA, bu görevi yerine getirmenin kolay bir yolunu sağlar.UserForm. Doldurduğunuz diğer tüm formlar gibi, UserForm da hangi bilgilerin sağlanacağını anlamanızı kolaylaştırır. UserForm, sağlanan kontrollerin kendi kendini açıklayıcı olması ve gerektiğinde ek talimatların eşlik etmesi açısından kullanıcı dostudur.

UserForm'un en büyük avantajı, bilgilerin neye ve nasıl doldurulacağına harcadığınız zamandan tasarruf edebilmenizdir.

Bir UserForm Oluşturma

Bir UserForm oluşturmak için aşağıdaki işlemleri yapın -

  • Şerit üzerindeki GELİŞTİRİCİ sekmesine tıklayın.
  • Visual Basic'e tıklayın. Çalışma kitabı için bir Visual Basic penceresi açılır.
  • Ekle'ye tıklayın,
  • Açılır listeden UserForm'u seçin.

UserForm, pencerenin sağ tarafında görünür.

UserForm'u Anlamak

UserForm.xlsx - UserForm1 penceresini büyütün.

Artık tasarım modundasınız. UserForm'a kontroller ekleyebilir ve ilgili eylemler için kod yazabilirsiniz. Kontroller ToolBox'ta mevcuttur. UserForm'un özellikleri, Özellikler penceresindedir. UserForm1 (UserForm'un başlığı) Proje Gezgini'ndeki Formlar altında verilir.

  • Özellikler penceresinde UserForm başlığını Proje Raporu - Günlük olarak değiştirin.
  • UserForm'un adını ProjectReport olarak değiştirin.

Değişiklikler UserForm'a, özelliklere ve proje gezginine yansıtılır.

Araç Kutusundaki Kontroller

Bir UserForm'un farklı bileşenleri olacaktır. Bileşenlerden herhangi birine tıkladığınızda, ya bilginin neyin ve nasıl sağlanacağına dair talimatlar verilecek ya da aralarından seçim yapabileceğiniz seçenekler (seçenekler) sağlanacaktır. Tüm bunlar, UserForm'un ToolBox'ındaki ActiveX kontrolleri aracılığıyla sağlanır.

Excel iki tür denetim sağlar - Form denetimleri ve ActiveX denetimleri. Bu iki tür kontrol arasındaki farkı anlamanız gerekir.

Form kontrolleri

Form denetimleri, Excel sürüm 5.0'dan başlayarak Excel'in önceki sürümleriyle uyumlu olan orijinal Excel denetimleridir. Form kontrolleri ayrıca XLM makro sayfalarında kullanılmak üzere tasarlanmıştır.

Makroları, Form denetimlerini kullanarak çalıştırabilirsiniz. Mevcut bir makroyu bir kontrole atayabilir veya yeni bir makro yazabilir veya kaydedebilirsiniz. Kontrole tıklandığında makro. Makroyu çalıştırmak için çalışma sayfasındaki Form kontrollerinden bir komut düğmesinin nasıl ekleneceğini zaten öğrendiniz. Ancak, bu kontroller bir UserForm'a eklenemez.

ActiveX denetimleri

ActiveX denetimleri, VBA Kullanıcı Formlarında kullanılabilir. ActiveX denetimleri, görünümlerini, davranışlarını, yazı tiplerini ve diğer özelliklerini özelleştirmek için kullanabileceğiniz kapsamlı özelliklere sahiptir.

UserForm ToolBox'ta aşağıdaki ActiveX denetimlerine sahipsiniz -

  • Pointer
  • Label
  • TextBox
  • ComboBox
  • ListBox
  • CheckBox
  • OptionButton
  • Frame
  • ToggleButton
  • CommandButton
  • TabStrip
  • MultiPage
  • ScrollBar
  • SpinButton
  • Image

Bu kontrollere ek olarak, Visual Basic, mesajları görüntülemek ve / veya kullanıcıdan bir işlem için uyarmak için kullanılabilecek bir Mesaj Kutusu işlevi sağlar.

Sonraki birkaç bölümde, bu kontrolleri ve MsgBox'ı anlayacaksınız. Ardından, UserForm'unuzu tasarlamak için bu denetimlerden hangisinin gerekli olduğunu seçebilecek bir konumda olacaksınız.

Etiket

Etiketleri, başlıklar, başlıklar ve / veya kısa talimatlar gibi açıklayıcı metinler görüntüleyerek tanımlama amacıyla kullanabilirsiniz.

Example

Metin kutusu

Metni yazmak, görüntülemek veya düzenlemek için dikdörtgen bir kutu olan bir TextBox kullanabilirsiniz. Ayrıca bir TextBox'ı salt okunur bilgiler sunan statik bir metin alanı olarak da kullanabilirsiniz.

Example

Liste kutusu

Bir kullanıcının seçim yapabileceği bir veya daha fazla metin öğesinin listesini görüntülemek için bir Liste Kutusu kullanabilirsiniz. Sayı veya içerik bakımından değişen çok sayıda seçeneği görüntülemek için bir liste kutusu kullanın.

  • UserForm'a bir ListBox ekleyin.
  • ListBox'a tıklayın.
  • Liste Kutusunun Özellikler penceresine Ad için Proje Kodları yazın.

Üç tür Liste Kutusu vardır -

  • Single-selection List box- Tek seçimli Liste Kutusu yalnızca bir seçeneği etkinleştirir. Bu durumda liste kutusu, bir liste kutusunun çok sayıda öğeyi daha verimli bir şekilde işleyebilmesi dışında, bir grup seçenek düğmesine benzer.

  • Multiple selection List Box - Çoklu seçim Liste Kutusu, bir seçeneği veya bitişik (bitişik) seçenekleri etkinleştirir.

  • Extended-selection List Box - Genişletilmiş seçim Liste Kutusu, tek bir seçim, bitişik seçimler ve bitişik olmayan (veya ayrık) seçenekler sağlar.

Özellikler penceresinden bu Liste Kutusu türlerinden birini seçebilirsiniz.

  • UserForm'a sağ tıklayın.
  • Açılır listeden Kodu Görüntüle'yi seçin. UserForm'un kod penceresi açılır.
  • Kod penceresinin sağ üst kutusunda Başlat'ı tıklayın.
  • Özel Alt UserForm_Initialize () altına aşağıdakini yazın.
ProjectCodes.List = Array ("Proj2016-1", "Proj2016-2", "Proj2016-3", "Proj20164", "Proj2016-5")
  • Şeritteki Çalıştır sekmesine tıklayın.
  • Açılır listeden Alt / Kullanıcı Formunu Çalıştır'ı seçin.

Ardından, listeden bir öğe seçmeye ilişkin eylemler için kod yazabilirsiniz. Aksi takdirde, seçilen metni görüntüleyebilirsiniz, bu durum Rapordaki Proje Kodunu doldurmak için geçerlidir.

Açılan kutu

Kullanabilirsiniz ComboBoxbir açılır liste kutusu oluşturmak için bir metin kutusunu bir liste kutusuyla birleştiren. Birleşik giriş kutusu, liste kutusundan daha kompakttır ancak kullanıcının öğe listesini görüntülemek için aşağı oka tıklamasını gerektirir. Listeden yalnızca bir öğe seçmek için birleşik giriş kutusu kullanın.

  • UserForm'a bir ComboBox ekleyin.
  • ComboBox'a tıklayın.
  • ComboBox'ın Özellikler penceresindeki Ad için ProjectCodes2 yazın.
  • UserForm'a sağ tıklayın.
  • Açılır listeden Kodu Görüntüle'yi seçin.
  • UserForm'un kod penceresi açılır.

Aşağıda gösterildiği gibi aşağıdakileri yazın.

ProjectCodes2.List = Array ("Proj2016-1", "Proj2016-2", "Proj2016-3", "Proj20164", "Proj2016-5")
  • Şeritteki Çalıştır sekmesine tıklayın.
  • Açılır listeden Alt / Kullanıcı Formunu Çalıştır'ı seçin.

Öğelerin listesini görüntülemek için aşağı oka tıklayın.

Gerekli öğeye tıklayın, örneğin Project2016-5. Seçilen seçenek, açılan kutuda görüntülenecektir.

CheckBox

Kutulara tıklayarak görüntülenen bir veya daha fazla seçeneği seçmek için onay kutularını kullanabilirsiniz. Seçeneklerin etiketleri olacaktır ve hangi seçeneklerin seçildiğini açıkça görselleştirebilirsiniz.

Bir onay kutusu iki duruma sahip olabilir -

  • Kutudaki onay işaretiyle gösterilen seçildi (açık)
  • Temizlendi (kapatıldı), temiz bir kutu ile belirtildi

Yer kazanmak için bir açılır kutudaki seçeneklerin seçimi için onay kutularını kullanabilirsiniz. Böyle bir durumda, onay kutusu üçüncü bir duruma da sahip olabilir -

  • Kutuda siyah bir nokta ile gösterilen, açık ve kapalı durumların bir kombinasyonu anlamına gelen karışık. Bu, onay kutuları ile birlikte açılan kutuda birden çok seçimi belirtmek için görüntülenecektir.

  • UserForm'a aşağıda gösterildiği gibi onay kutuları ekleyin.

  • Şeritteki Çalıştır sekmesine tıklayın.
  • Açılır listeden Alt / Kullanıcı Formunu Çalıştır'ı seçin.
  • Seçtiğiniz seçenekler için kutuları tıklayın.

Seçenek tuşu

Sınırlı sayıda birbirini dışlayan seçimler içinde tek bir seçim yapmak için radyo düğmesi olarak da bilinen bir seçenek düğmesini kullanabilirsiniz. Bir seçenek düğmesi genellikle bir grup kutusunda veya bir çerçevede bulunur.

Bir seçenek düğmesi, küçük bir daire ile temsil edilir. Bir seçenek düğmesi aşağıdaki iki durumdan birine sahip olabilir -

  • Daire içindeki bir nokta ile gösterilen seçildi (açık)
  • Bir boşlukla gösterilen temizlendi (kapalı)

Çerçeve

İlgili kontrolleri tek bir görsel birimde gruplamak için grup kutusu olarak da adlandırılan bir çerçeve kontrolünü kullanabilirsiniz. Tipik olarak, seçenek düğmeleri, onay kutuları veya yakından ilişkili içerikler bir çerçeve kontrolünde gruplanır.

Çerçeve kontrolü, isteğe bağlı etiketli dikdörtgen bir nesneyle temsil edilir.

  • "Choice" başlıklı bir çerçeve ekleyin.

  • Çerçeve kontrolüne "Evet" ve "Hayır" başlıklı iki seçenek düğmesi ekleyin. Evet ve Hayır seçenekleri birbirini dışlar.

  • Şeritteki Çalıştır sekmesine tıklayın.
  • Açılır listeden Alt / Kullanıcı Formunu Çalıştır'ı seçin.
  • Seçtiğiniz seçeneğe tıklayın.

ToggleButton

Evet veya Hayır gibi bir durumu veya açık veya kapalı gibi bir modu belirtmek için bir geçiş düğmesi kullanabilirsiniz. Düğme, tıklandığında etkin ve devre dışı durum arasında geçiş yapar.

UserForm'a aşağıda gösterildiği gibi bir geçiş düğmesi ekleyin -

  • Şeritteki Çalıştır sekmesine tıklayın.

  • Açılır listeden Alt / Kullanıcı Formunu Çalıştır'ı seçin. Geçiş düğmesi varsayılan olarak etkin durumda olacaktır.

Geçiş düğmesine tıklayın. Geçiş düğmesi devre dışı bırakılacaktır.

Geçiş düğmesine tekrar tıklarsanız, etkinleştirilecektir.

CommandButton

Kullanıcı tıklattığında bazı eylemler gerçekleştiren bir makroyu çalıştırmak için bir komut düğmesi kullanabilirsiniz. Bir makroyu çalıştırmak için çalışma sayfasındaki bir komut düğmesinin nasıl kullanılacağını zaten öğrendiniz.

Komut düğmesi, basma düğmesi olarak da adlandırılır. UserForm'a aşağıda gösterildiği gibi bir komut düğmesi ekleyin -

  • Komut düğmesine sağ tıklayın.
  • Aşağıdaki kodu Commandbutton1_click () alt kısmına yazın.
ProjectCodes2.DropDown
  • Şeritteki Çalıştır sekmesine tıklayın.
  • Açılır listeden Alt / Kullanıcı Formunu Çalıştır'ı seçin.

Komut düğmesini tıklayın. Kodda yazdığınız eylem olduğu için, açılan kutunun açılır listesi açılır.

TabStrip

UserForm'daki Excel sekmelerine benzeyen bir sekme şeridi ekleyebilirsiniz.

Kaydırma çubuğu

Kaydırma oklarını tıklayarak veya kaydırma kutusunu sürükleyerek bir dizi değer arasında gezinmek için bir kaydırma çubuğu kullanabilirsiniz.

UserForm'a gerekli konuma çizerek bir kaydırma çubuğu ekleyin ve kaydırma çubuğunun uzunluğunu ayarlayın.

  • Kaydırma çubuğuna sağ tıklayın.
  • Açılır listeden Kodu Görüntüle'yi seçin. Kod penceresi açılır.
  • Aşağıdaki satırı ScrollBar1_Scroll () alt altına ekleyin.
TextBox2.Text = "Scrolling Values"
  • Şeritteki Çalıştır sekmesine tıklayın.
  • Açılır listeden Alt / Kullanıcı Formunu Çalıştır'ı seçin.

Kaydırma kutusunu sürükleyin. Metin Kaydırma Değerleri, kaydırma çubuğu kaydırma işlemi olarak belirttiğiniz gibi metin kutusunda görüntülenecektir.

MsgBox ()

Bir şeye tıkladığınızda bir mesaj görüntülemek için MsgBox () işlevini kullanabilirsiniz. Bir kılavuz veya bazı bilgiler veya bir uyarı veya bir hata uyarısı olabilir.

Örneğin, kaydırma kutusunu kaydırmaya başladığınızda değerlerin kaydırıldığını belirten bir mesaj görüntüleyebilirsiniz.

Mesaj Kutusu Simgesi Görüntüleniyor

Belirli bir mesajı gösteren mesaj kutusu simgesi ekranlarını kullanabilirsiniz. Amacınıza uygun birden fazla mesaj kutusu simgesine sahipsiniz -

  • ScrollBar1_scroll altına aşağıdaki kodu yazın.
MsgBox "Select Ok or Cancel", vbOKCancel, "OK  - Cancel Message" 
MsgBox "It's an Error!", vbCritical, "Run time result" 
MsgBox "Why this value", vbQuestion, "Run time result" 
MsgBox "Value Been for a Long Time", vbInformation, "Run time result" 
MsgBox "Oh Is it so", vbExclamation, "Run time result"
  • Şeritteki Çalıştır sekmesine tıklayın.
  • Açılır listeden Alt / Kullanıcı Formunu Çalıştır'ı seçin.
  • Kaydırma kutusunu sürükleyin.

Sırayla aşağıdaki mesaj kutularını alacaksınız.

UserForm Tasarlama

Artık, bir UserForm'da kullanabileceğiniz farklı kontrolleri anladınız. Kontrolleri seçin, gerekirse gruplayın ve bazı anlamlı sıraya göre Kullanıcı Formunda düzenleyin. Gerekli eylemleri ilgili kontrollere karşılık gelen kod olarak yazın.

UserForm örneği için bu eğitim kitaplığındaki VBA eğitimine bakın.