Excel'de dinamik kademeli liste kutuları nasıl oluşturulur?
Excel'de kademeli doğrulama açılır listesi oluşturmayı biliyor olabilirsiniz. Ancak Excel'de dinamik kademeli liste kutuları nasıl oluşturulur? Bu makale, bunu başarmak için bir VBA yöntemini tanıtmaktadır.
VBA kodu ile dinamik kademeli liste kutuları oluşturun
VBA kodu ile dinamik kademeli liste kutuları oluşturun
Aşağıdaki ekran görüntüsünde gösterildiği gibi, ana liste kutusunda İçkiler sütunundaki benzersiz değerleri içeren bir liste kutusu oluşturmanız ve ebeveyn liste kutusundaki seçimlere göre ikinci liste kutusunda tüm ilgili değerleri görüntülemeniz gerekir. Aşağıdaki VBA kodu bunu başarmak için size yardımcı olacaktır. Lütfen şu adımları izleyin.
1. İlk olarak, İçkiler sütunundan tüm benzersiz değerleri çıkarmalısınız. Boş bir hücre seçin, =EĞERHATA(İNDEKS($A$2:$A$11; EŞLEŞ(0;EĞER($J$1:J1; $A$2:$A$11); 0));"") dizisi formülünü Formül Çubuğu'na girin ve ardından Ctrl + Shift + Enter tuşlarına basın. Ardından Tüm benzersiz değerleri almak için Doldurma Tutamacını sürükleyin. Ekran görüntüsüne bakın:
Not: Formülde, $A$2:$A$11 benzersiz değerleri çıkaracağınız aralıktır. J1, formülünüzün bulunduğu hücrenin üstündeki hücredir.
İpucu: Eğer formülü hatırlamak ve işlemek çok zor ise, Kutools for Excel'in Yinelenen & Benzersiz Hücreleri Seç aracı, bir sütundan tüm benzersiz değerleri hızlıca çıkarmak için size iyi bir seçenek olacaktır.
Lütfen benzersiz değerler içeren sütunu seçin. Ardından aracı etkinleştirmek için Kutools > Seç > Yinelenen & Benzersiz Hücreleri Seç'e tıklayın. Yinelenen & Benzersiz Hücreleri Seç iletişim kutusunda, Tüm benzersiz (İlk yineleneni dahil et) seçeneğini işaretleyin ve Tamam düğmesine tıklayın. Ardından sütundaki tüm benzersiz değerler seçilir. Lütfen onları kopyalayıp yeni bir yere yapıştırın. Ekran görüntüsüne bakın:
Kutools for Excel: 200'den fazla kullanışlı Excel eklentisiyle, 60 gün boyunca sınırlamasız ücretsiz deneme imkanı. Şimdi İndirin ve Ücretsiz Deneyin!
2. Geliştirici > Ekle > Liste Kutusu (ActiveX Kontrolü) öğesine tıklayarak iki liste kutusu ayrı ayrı ekleyin. Ekran görüntüsüne bakın:
3. Ana liste kutusuna sağ tıklayın ve bağlam menüsünden Özellikler'i seçin. Özellikler iletişim kutusunda, (Ad) alanını Drink veya ihtiyacınıza göre başka bir isim olarak değiştirin, ListFillRange alanına çıkarılan benzersiz değerleri içeren hücre aralığını girin ve iletişim kutusunu kapatın.
4. İkinci liste kutusunun (Ad) alanını Özellikler iletişim kutusunda Item olarak değiştirmek için 3. adımı tekrarlayın.
5. Sayfa sekmesine sağ tıklayın ve sağ tıklama menüsünden Kodu Görüntüle'yi seçin. Ardından aşağıdaki VBA kodunu Kod penceresine kopyalayın. Ekran görüntüsüne bakın:
VBA kodu: Excel'de dinamik kademeli liste kutuları oluşturun
Dim xPreStr As String
Private Sub Drink_Click()
'Update by Extendoffice 2018/06/04
Dim I, xRows As Long
Dim xRg As Range
Dim xRegStr As String
Application.ScreenUpdating = False
xRegStr = Me.Drink.Text
Set xRg = Range("A2:A11")
xRows = xRg.Rows.Count
If xRegStr <> xPreStr Then
Me.Item.Clear
'Me.OtherListBoxName.Clear
Set xRg = xRg(1)
For I = 1 To xRows
If xRg.Offset(I - 1).Value = xRegStr Then
Me.Item.AddItem xRg.Offset(I - 1, 1).Value
'Me.OtherListBoxName.AddItem xRg.Offset(I - 1, 2).Value
End If
Next
xPreStr = xRegStr
End If
Application.ScreenUpdating = True
End Sub
Notlar: Kodda Drink ve Item iki liste kutusunun adlarıdır, bunları kendi adlarınıza değiştirin.
6. Microsoft Visual Basic for Applications penceresini kapatmak için Alt + Q tuşlarına basın.
7. Geliştirici > Tasarım Modu'na tıklayarak Tasarım Modunu kapatın.
Artık, ana liste kutusunda Kahve gibi herhangi bir içecek seçtiğinizde, tüm kahve öğeleri ikinci liste kutusunda görüntülenecektir. Çay veya Şarap seçmek, yalnızca çay veya şarap öğelerini ikinci liste kutusunda gösterecektir. Ekran görüntüsüne bakın:
İlgili makaleler:
- Excel'de bağımlı açılır liste hücresi, seçim değişikliğinden sonra nasıl temizlenir?
- Excel'de bağımlı kademeli açılır listeler nasıl oluşturulur?
- Excel açılır listesinde değer seçerken diğer hücreler otomatik olarak nasıl doldurulur?
- Excel'de bir açılır liste takvimi nasıl oluşturulur?
- Excel'de ActiveX liste kutularının seçimlerini kaydetmek veya korumak nasıl yapılır?
En İyi Ofis Verimlilik Araçları
Kutools for Excel ile Excel becerilerinizi geliştirin ve daha önce hiç olmadığı kadar verimli olun. Kutools for Excel, üretkenliğinizi artırmak ve zamanınızı kaydetmek için300'den fazla gelişmiş özellik sunar. En çok ihtiyacınız olan özelliği almak için buraya tıklayın...
Office Tab, Office'e sekmeli arayüz getirir ve işinizi çok daha kolaylaştırır
- Word, Excel, PowerPoint'te sekmeli düzenleme ve okuma özelliğini etkinleştirin.
- Aynı pencerenin yeni sekmelerinde birden fazla belge açın ve oluşturun, yeni pencerelerde değil.
- Verimliliğinizi %50 artırır ve her gün yüzlerce fare tıklamasını azaltır!