Excel VBA ile INDEX MATCH Nasıl Kullanılır

  • Bunu Paylaş
Hugh West

gibi yerleşik Excel Çalışma Sayfası işlevlerini kullanabilirsiniz. VLOOKUP Fonksiyonu , the Fonksiyon Seçimi ve PMT İşlevi VBA kodunuzda ve uygulamalarınızda da. Aslında, çoğu Excel çalışma sayfası işlevlerine erişilebilir ve bu işlevler VBA kod . kullanmak gibi Excel VBA kodunda INDEX & MATCH Çalışma Sayfası İşlevleri.

Neden bu tür bir Excel Çalışma Sayfası fonksiyonlarınızda VBA kod Kullandığınız kodun işlevselliğini genişletmek için. Ayrıca, işlevsellik zaten varsa, gerçekten ihtiyacınız olmadıkça kendi işlevlerinizi bulmak zorunda değilsiniz. Temel olarak yapmanız gereken tek şey, zaten orada olduğu için ihtiyacınız olan işleve erişmektir ve bu durumda tekerleği yeniden icat etmeye gerek yoktur.

Öyleyse, nasıl kullanılacağını gösteren bir örnekle başlayalım Excel VBA ile INDEX MATCH.

Kullanacağız İNDEKS ve MAÇ Fonksiyonlar içinde Excel VBA kod Bu formu kullanarak kullanıcı bir öğrenci adı seçer ve ardından ilgili öğrencinin cinsiyeti ve göz rengi alınır ve döndürülür.

Alıştırma Çalışma Kitabını İndirin

Kendi kendinize pratik yapmak için lütfen alıştırma çalışma kitabını indirin.

INDEX-MATCH.xlsx

9 Kolay Adımda VBA Kodu İçinde INDEX ve MATCH Kullanımı

Bu İNDEKS ve MAÇ İşlevler, gelişmiş aramalar gerçekleştirmek için genellikle formüllerde birlikte kullanılır. İkisi birlikte, aşağıdakilere göre belirli avantajlar sunar VLOOKUP .

Nasıl kullanılacağını daha önce ayrıntılı olarak ele almıştık İNDEKS ve MAÇ içinde gelişmiş aramalar gerçekleştirmek için Excel çalışma kitabı düz bir çalışma sayfası formülü olarak, bir önceki eğitim . Şimdi ise, aşağıdaki komutları nasıl kullanacağımızı göreceğiz İNDEKS ve MAÇ Birlikte işlevler VBA kod 'ye benzer bir işlevsellik kazandırmak için Kullanıcı Formu yaratacağız.

Adım1: Veri Kümesinde INDEX ve MATCH Fonksiyonlarını Uygulayın

  • Makro özellikli çalışma kitabımızda iki sayfa ile başlıyoruz. Biri, aşağıdaki gibi adlandırılan boş bir sayfadır Kullanıcı Formu diğeri ise ÖğrenciBilgileri 'yi gösteren bir aralık içerir. öğrenci isimleri, cinsiyetleri ve göz renkleri aşağıda gösterildiği gibi.

Kendimize hızlıca hatırlatalım, eğer İNDEKS ve MAÇ Bir formüldeki işlevler, asıl çalışma sayfasında bize aramak istediğimiz öğrencinin adının cinsiyetini vermek için aşağıdaki formülü kullanırız:

=INDEX(B2:B31, MATCH("Diana Graham", A2:A31, 0))

  • Basıldığında CTRL-ENTER değerini döndürdüğümüzde, aşağıda gösterildiği gibi cinsiyet olarak Females değerini alırız.

Adım 2: B Sütununun Adını StudentNames Olarak Değiştirin

  • Şimdi aralığı adlandıracağız A2: A31 , Öğrenciİsimleri aşağıda gösterildiği gibi.

  • Gizle ÖğrenciBilgileri sayfasına sağ tıklayıp Saklan. Kullanıcının düzenlemesini veya görmesini istemediğiniz bilgileri içeren arka uç çalışma sayfalarını yüzeysel olarak gizlemek iyi bir fikirdir.

Adım 3: Visual Basic Penceresini Açın

  • Şimdi UserForm sayfası etkinleştirildiğinde, şu adrese gidiyoruz Geliştirici> Kod> Visual Basic açmak için Visual Basic Düzenleyici (VBE) .
  • İçeri girdikten sonra VBE arayüzü 'de, aşağıda gösterildiği gibi Insert, UserForm'a gidiyoruz.

Adım 4: Özellikleri Değiştirin ve Metin Kutuları Ekleyin

  • Kullanarak Özellikler Pencere formumuzu şu şekilde yeniden adlandıracağız StudentLookup başlığını Öğrenci Bilgilerini Ara olarak değiştirip BackColor açık mavi olarak ve yüksekliği 300 px ve genişliği 350 px. Özellikler Penceresi görünmüyorsa, tuşuna basın. F4 görmek için klavyenizdeki tuşuna basın.

  • Şimdi şu öğeyi kullanarak bir etiket ekleyeceğiz Araç Kutusu (Araç Kutusunu herhangi bir nedenle göremiyorsanız Görünüm'e gidin, Araç Kutusu ), Başlığı Bir öğrenci seçin olarak değiştirin ve BackColor Bu durumda yazı tipini beyaz olarak ayarlayacağız. Gürcistan , yazı tipi stilini cesur , yazı tipi boyutunu 12 ve Merkez Kullanılan özel efekt, metni hizalamak için 1- fmSpecialEffectRaised aşağıda gösterildiği gibi.

  • Şimdi etiketin altına bir açılan kutu ekleyeceğiz. Bu açılan kutuya cmdÖğrenciAdı adını verin ve RowSource , tip Öğrenci isimleri.

  • Ayarlamanın etkisini görmek için RowSource birleşik giriş kutusunun, Tıklayın Koşu Sub/UserForm düğme .
  • Şimdi ayarlama nedeniyle RowSource kullanıcı UserForm üzerindeki açılır oka tıkladığında, açılan kutu aşağıda gösterildiği gibi otomatik olarak adlandırılan aralıktaki öğrenci adlarını gösterir.

  • Kapat düğmesine tıklayarak Kullanıcı Formunu kapatın. tuşuna basın. Alt-F11 geri dönmek için VBE .
  • Bir kez geri döndüğünde VBE , UserForm'a başka bir etiket ekleyin (açılan kutunun altına) ve Başlık için Cinsiyet ve biz de BackColor Bu durumda yazı tipini beyaz olarak ayarlayacağız. Gürcistan , yazı tipi stilini cesur , yazı tipi boyutunu 12 ve Merkez Kullanılan özel efekt, metni hizalamak için 1- fmSpecialEffectRaised aşağıda gösterildiği gibi.

  • Oluştur altındaki bir metin kutusu Cinsiyet etiket ve ona bir isim verin txtCinsiyet .
  • Ekle adlı başka bir etiket Göz Renk adlı bir metin kutusu ve txtEyeColour aşağıda gösterildiği gibi. Kullanım etiket için, daha önce forma eklenen diğer iki etiketle aynı özelliklerin kullanılmasını sağlamak amacıyla Kullanıcı Formu tutarlı bir görünüme sahiptir.

  • Şimdi Seçiniz eklenen tüm kontroller Kullanıcı Formu şimdiye kadar kontrol tuşunu kullanarak.

  • Merkez yatay olarak, aşağıda gösterildiği gibi.

Daha fazlasını okuyun: Excel'de INDEX MATCH Formülü Nasıl Kullanılır (9 Örnek)

Benzer Okumalar

  • Excel INDEX MATCH Hücre Metin İçeriyorsa
  • Birden Fazla Sonuç Üretmek için Excel'de INDEX-MATCH Formülü Nasıl Kullanılır
  • Excel'de Dizin Eşleştirme Toplamı Birden Çok Satır (3 Yol)
  • Excel VBA Programlama ve Makroları Öğrenin (Ücretsiz Eğitim - Adım Adım)
  • Excel VBA'da 22 Makro Örneği

Adım 5: Araç Kutusundan Düğme Ekleme

  • Sıradaki, Ekle kullanarak forma bir düğme ekleyebilirsiniz. Araç Kutusu . Değişim ve İsim düğmesinin cmdLookUp , the BackColor açık turuncuya çevirin ve Tahoma yazı tipi ve değişim stilini cesur 'yi değiştirin, son olarak Başlık düğmesinin Bak yukarı Öğrenci Detaylar aşağıda gösterildiği gibi.

Adım 6: VBA Kodunu Ekleyin

  • Sağ tıklayın , yeni eklenen düğme ve seçin Görünüm Kod .

  • Düğme tıklama olayı için aşağıdaki kodu girin:

 Dim a As Variant Dim b As Variant Dim c As Variant a = cmdStudentName.Value Sheets("StudentInformation").Activate If a = "" Then b = "" Let txtGender.Text = b c = "" Let txtEyeColour.Text = c Else b = Application.WorksheetFunction.Index(Sheets("StudentInformation").Range("B2:B31"), Application.WorksheetFunction.Match(a, Sheets("StudentInformation").Range("A2:A31"), 0)) c =Application.WorksheetFunction.Index(Sheets("StudentInformation").Range("C2:C31"), Application.WorksheetFunction.Match(a, Sheets("StudentInformation").Range("A2:A31"), 0)) txtEyeColour.Text = c End If 

Şunları beyan ederek başlıyoruz üç değişkenler ve bildirilen bu varyant veri tiplerine varyant veri tipini atamak. Varyant veri tipi başlangıç için iyi bir veri tipidir. çalışma sayfası fonksiyonlar çıktılardan her zaman emin olamayabilirsiniz. Bu nedenle, başlangıçta varyant veri türünü kullanın.

Daha sonra, aşağıdaki gibi diğer daha spesifik veri türlerinden birini kullanmanız önerilir tamsayı veya Dize. Daha gelişmiş uzun kodlar için, varyant veri türü belleği diğer veri türleri kadar verimli kullanmaz.

Değişken a üzerindeki açılır kombo kutuda kullanıcının seçtiği seçenekten değeri çizer. Kullanıcı Formu Seçim yoksa, diğer tüm metin kutuları boş .

Listeden bir öğrenci adı seçerseniz kombo kutu üzerinde UserForm, ardından b değişkeni İNDEKS Çalışma Sayfası Fonksiyonu ile birlikte MAÇ Fonksiyon içinde VBA kodu, gösterildiği gibi.

Çalışma sayfası işleviyle temelde aynı sözdizimini kullanarak değeri arar. Çalışma sayfası işlevlerini kullanırken VBA , the VBA IntelliSense bu özel durumda çok sezgisel Bu nedenle, çalışma sayfası bilgisinden elde edilen sözdizimine aşina olunması önerilir. Değişken c kullanarak değer çizer İNDEKS Çalışma Sayfası Fonksiyon ile birlikte MAÇ Fonksiyon içinde VBA Kullanıcı açılan kutudan bir seçenek seçtiğinde kod.

Değişken b 'den değer kazanır. cinsiyet sütun çalışma sayfasında, oysa değişken c çalışma sayfasındaki Göz rengi sütunundan değer alır.

Cinsiyet metin kutusu şu şekilde doldurulur b 'in değeri ve göz rengi metin kutusu ile doldurulur. c 'in değeri.

Daha fazlasını okuyun: Excel VBA Olayları (Eksiksiz Bir Kılavuz)

Adım 7: Bir Komut Düğmesi Ekleyin

  • Şimdi şu adlı çalışma sayfasına gidin Kullanıcı Formu çalışma kitabınızda. Biçim aşağıda gösterildiği gibi ve Ekle tarafından sağlanan görüntü ExcelWIKI .

  • Gitmek Geliştirici> Kontroller> Ekle> ActiveX Kontrolleri.

  • Ekleme gösterildiği gibi bir düğme.

  • Düğme seçiliyken, şuraya git Geliştirici> Kontroller> Özellikler .

  • Değişim ve İsim düğmesinin cmdShowForm ve Başlık için Arama Öğrenci Bilgileri .

Adım 8: Arama Kodunu Görüntüle

  • Sağ tıklayın düğmesini ve seçin Kodu Görüntüle aşağıda gösterildiği gibi.

  • Aşağıdaki kodu girin:
 Private Sub cmdShowForm_Click() StudentLookup.Show End Sub 

Adım 9: Nihai Sonucu Sergileyin

  • Dönüş için Çalışma sayfası. İşaretli olmadığından emin olun Tasarım Mod .
  • Tıklayın formu göstermek için düğmeye basın.

  • Seçiniz kullanarak bir öğrencinin adını açılan kutu Kod, öğrencinin cinsiyetini ve göz rengini otomatik olarak döndürecektir.

Unutmayın Kaydet çalışma kitabınızı bir makro özellikli çalışma kitabı Eğer henüz yapmadıysanız, işte burada Excel VBA kodunda INDEX & MATCH Çalışma Sayfası İşlevleri bir arama formu oluşturmak için.

Daha fazlasını okuyun: Birden Fazla Değeri Yatay Olarak Döndürmek için Excel INDEX-MATCH Formülü

Sonuç

Excel'in birçok yararlı çalışma sayfası işlevleri 'de kullanılabilen VBA gibi, gibi, kullanarak Excel VBA kodunda INDEX & MATCH Çalışma Sayfası İşlevleri. Bu işlevler, aşağıdakileri genişletmenize olanak tanır VBA Kod. Standart bir sistemde nasıl çalıştıklarını zaten biliyorsanız Excel çalışma sayfası için bilgiyi uyarlayarak öğrenme eğrisi o kadar da büyük değildir. VBA . Çalışma sayfası işlevlerine erişim, kişinin VBA kod Çünkü zaten var olan bir işlev için özel işlevler geliştirmek gerekmez.

Lütfen yorum yapmaktan çekinmeyin ve VBA kodunuzda ve uygulamalarınızda çalışma sayfası işlevlerini kullanıp kullanmadığınızı bize bildirin.

Gözden Geçirme Bölümü: Anladığınızı Test Edin

1) A sütununda mandalina, havuç ve portakal olmak üzere üç öğeden oluşan basit bir liste oluşturun, ardından B sütunundaki her öğenin yanındaki hücrede A sütunundaki öğelerin meyve mi yoksa sebze mi olduğunu listeleyin, örnek verilerinizi ayarlamayı tamamladıktan sonra İNDEKS & MAÇ Havuçların meyve mi yoksa sebze mi olduğunu bildirmek için kombinasyon işlevi.

2) NFL baş antrenörleri ve çalıştırdıkları takımlar hakkında ESPN'den alınan bu veri setini kullanın. Kullanıcının bir metin kutusuna belirli bir antrenörün adını girmesini sağlayan bir kullanıcı formu oluşturun. Ardından, kullanıcı gönder düğmesine tıkladığında çalıştırdığı takımın başka bir metin kutusunda görüntülenmesini sağlayın. İNDEKS & MAÇ VBA kodunuzdaki çalışma sayfası işlevi kombinasyonu.

Hugh West, sektörde 10 yılı aşkın deneyime sahip oldukça deneyimli bir Excel eğitmeni ve analistidir. Muhasebe ve Finans alanında lisans derecesine ve İşletme alanında yüksek lisans derecesine sahiptir. Hugh öğretme tutkusuna sahiptir ve takip etmesi ve anlaması kolay benzersiz bir öğretim yaklaşımı geliştirmiştir. Excel konusundaki uzman bilgisi, dünya çapında binlerce öğrencinin ve profesyonelin becerilerini geliştirmesine ve kariyerlerinde başarılı olmasına yardımcı olmuştur. Hugh, blogu aracılığıyla bilgisini dünyayla paylaşıyor, bireylerin ve işletmelerin tam potansiyellerine ulaşmalarına yardımcı olmak için ücretsiz Excel eğitimleri ve çevrimiçi eğitimler sunuyor.