Note: The other languages of the website are Google-translated. Back to English

Excel'de birden çok seçim veya değer içeren açılır liste nasıl oluşturulur?

Varsayılan olarak, Excel'deki veri doğrulama açılır listesinden yalnızca bir öğe seçebilirsiniz. Aşağıdaki gif gösterildiği gibi açılır listede nasıl çoklu seçim yapabilirsiniz? Bu makaledeki yöntemler sorunu çözmenize yardımcı olabilir.


VBA kodu ile birden çok seçim içeren açılır liste oluşturun

Bu bölüm, bir çalışma sayfasındaki açılır listelerde birden çok seçim yapmanıza yardımcı olacak iki VBA kodu sağlar. İki VBA kodu şunları başarabilir:

VBA kodu 1: Bir açılır listede kopyalar olmadan birden çok seçime izin ver
VBA kodu 2: Bir açılır listede kopyalar olmadan birden çok seçime izin verin (tekrar seçerek mevcut öğeleri silin)

Excel'deki bir çalışma sayfasındaki açılır listede birden çok seçim yapmak için aşağıdaki VBA kodlarından birini uygulayabilirsiniz. Lütfen aşağıdaki gibi yapın.

1. Birden çok seçim yapmak istediğiniz veri doğrulama açılır listelerini içeren çalışma sayfasını açın. Sayfa sekmesine sağ tıklayın ve seçin Kodu Görüntüle bağlam menüsünden.

2. içinde Uygulamalar için Microsoft Visual Basic penceresi, aşağıdaki VBA kodunu kod penceresine kopyalayın. Ekran görüntüsüne bakın:

VBA kodu 1: Bir açılır listede kopyalar olmadan birden çok seçime izin ver

Private Sub Worksheet_Change(ByVal Target As Range)
    'Updated by Extendoffice 2019/11/13
    Dim xRng As Range
    Dim xValue1 As String
    Dim xValue2 As String
    If Target.Count > 1 Then Exit Sub
    On Error Resume Next
    Set xRng = Cells.SpecialCells(xlCellTypeAllValidation)
    If xRng Is Nothing Then Exit Sub
    Application.EnableEvents = False
    If Not Application.Intersect(Target, xRng) Is Nothing Then
        xValue2 = Target.Value
        Application.Undo
        xValue1 = Target.Value
        Target.Value = xValue2
        If xValue1 <> "" Then
            If xValue2 <> "" Then
                If xValue1 = xValue2 Or _
                   InStr(1, xValue1, ", " & xValue2) Or _
                   InStr(1, xValue1, xValue2 & ",") Then
                    Target.Value = xValue1
                Else
                    Target.Value = xValue1 & ", " & xValue2
                End If
            End If
        End If
    End If
    Application.EnableEvents = True
End Sub

3. Tuşuna basın. Ara Toplam + Q kapatmak için anahtarlar Uygulamalar için Microsoft Visual Basic pencere.

Artık mevcut çalışma sayfasındaki açılır listeden birden çok öğe seçebilirsiniz.

Diyelim ki yanlışlıkla bir öğe seçtiniz ve tüm hücreyi temizlemeden ve baştan başlamadan onu çıkarmanız gerekiyor. Aşağıdaki VBA kodu 2 size bir iyilik yapabilir.

VBA kodu 2: Bir açılır listede kopyalar olmadan birden çok seçime izin verin (tekrar seçerek mevcut öğeleri silin)

Private Sub Worksheet_Change(ByVal Target As Range)
    'Updated by Extendoffice 2023/01/11
    'Updated by Ken Gardner 2022/07/11
    Dim xRng As Range
    Dim xValue1 As String
    Dim xValue2 As String
    Dim semiColonCnt As Integer
    Dim xType As Integer
    If Target.Count > 1 Then Exit Sub
    On Error Resume Next
    
    xType = 0
    xType = Target.Validation.Type
    If xType = 3 Then
        Application.ScreenUpdating = False
        Application.EnableEvents = False
        xValue2 = Target.Value
        Application.Undo
        xValue1 = Target.Value
        Target.Value = xValue2
        If xValue1 <> "" Then
            If xValue2 <> "" Then
                If xValue1 = xValue2 Or xValue1 = xValue2 & ";" Or xValue1 = xValue2 & "; " Then ' leave the value if only one in list
                    xValue1 = Replace(xValue1, "; ", "")
                    xValue1 = Replace(xValue1, ";", "")
                    Target.Value = xValue1
                ElseIf InStr(1, xValue1, "; " & xValue2) Then
                    xValue1 = Replace(xValue1, xValue2, "") ' removes existing value from the list on repeat selection
                    Target.Value = xValue1
                ElseIf InStr(1, xValue1, xValue2 & ";") Then
                    xValue1 = Replace(xValue1, xValue2, "")
                    Target.Value = xValue1
                Else
                    Target.Value = xValue1 & "; " & xValue2
                End If
                Target.Value = Replace(Target.Value, ";;", ";")
                Target.Value = Replace(Target.Value, "; ;", ";")
                If Target.Value <> "" Then
                    If Right(Target.Value, 2) = "; " Then
                        Target.Value = Left(Target.Value, Len(Target.Value) - 2)
                    End If
                End If
                If InStr(1, Target.Value, "; ") = 1 Then ' check for ; as first character and remove it
                    Target.Value = Replace(Target.Value, "; ", "", 1, 1)
                End If
                If InStr(1, Target.Value, ";") = 1 Then
                    Target.Value = Replace(Target.Value, ";", "", 1, 1)
                End If
                semiColonCnt = 0
                For i = 1 To Len(Target.Value)
                    If InStr(i, Target.Value, ";") Then
                        semiColonCnt = semiColonCnt + 1
                    End If
                Next i
                If semiColonCnt = 1 Then ' remove ; if last character
                    Target.Value = Replace(Target.Value, "; ", "")
                    Target.Value = Replace(Target.Value, ";", "")
                End If
            End If
        End If
        Application.EnableEvents = True
        Application.ScreenUpdating = True
    End If
End Sub

notlar:

1). Açılır listede yinelenen değerlere izin verilmez.
2). Yukarıdaki VBA kodu 2, hevesli kullanıcımız Ken Gardner tarafından 2022/07/11 tarihinde sağlandı.
3). Lütfen çalışma kitabını bir Excel Makro Etkin Çalışma Kitabı kodun gelecekte de çalışmasını sağlamak için.
4). VBA kodu 2'yi ekledikten sonra, açılır listeden yeniden seçerek mevcut bir öğeyi kaldırabilirsiniz. Aşağıdaki gife bakın:


Harika bir araçla birden fazla seçim içeren açılır listeyi kolayca oluşturun

Burada şiddetle tavsiye ediyoruz Çoklu Seçim Açılır Liste özelliği Kutools for Excel senin için. Bu özellik sayesinde, açılır listeden, belirli bir aralıktaki, geçerli çalışma sayfasındaki, mevcut çalışma kitabındaki veya ihtiyacınız olan tüm açık çalışma kitaplarındaki birden çok öğeyi kolayca seçebilirsiniz.

Başvurmadan önce Kutools for ExcelLütfen önce indirin ve kurun.

1. tık Kutools > Açılır liste > Çoklu Seçim Açılır Liste > Ayarlar. Ekran Bkz:

2. içinde Çoklu Seçim Açılır Liste Ayarları iletişim kutusu, lütfen aşağıdaki gibi yapılandırın.

  • 2.1) Uygulama kapsamını Uygula Bölüm. Bu durumda seçiyorum Mevcut çalışma sayfası itibaren Belirtilen Kapsam açılır liste;
  • 2.2) içinde Metin yönü bölümünde ihtiyaçlarınıza göre bir metin yönü seçin;
  • 2.3) içinde Separatör kutusuna birden çok değeri ayırmak için kullanacağınız bir sınırlayıcı girin;
  • 2.4) Kontrol edin Yinelenenleri eklemeyin kutusu Opsiyonlar açılır liste hücrelerinde kopyalar yapmak istemiyorsanız bölümü;
  • 2.5) OK buton. Ekran görüntüsüne bakın:

3. Lütfen tıklayın Kutools > Açılır liste > Çoklu Seçim Açılır Liste özelliği etkinleştirmek için.

Artık geçerli çalışma sayfasındaki açılır listeden veya 2. adımda belirlediğiniz herhangi bir kapsamdan birden çok öğe seçebilirsiniz.

  Ücretsiz deneme yapmak istiyorsanız (30-gün) bu yardımcı programın, indirmek için lütfen tıklayınızve ardından yukarıdaki adımlara göre işlemi uygulamaya gidin.


İlgili yazılar:

Excel açılır listesine yazarken otomatik tamamlama
Büyük değerlere sahip bir veri doğrulama açılır listeniz varsa, yalnızca uygun olanı bulmak için listede aşağı kaydırmanız veya tüm kelimeyi doğrudan liste kutusuna yazmanız gerekir. Açılır listedeki ilk harfi yazarken otomatik tamamlamaya izin verme yöntemi varsa, her şey daha kolay hale gelecektir. Bu eğitim, sorunu çözme yöntemini sağlar.

Excel'de başka bir çalışma kitabından açılır liste oluşturun
Bir çalışma kitabındaki çalışma sayfaları arasında bir veri doğrulama açılır listesi oluşturmak oldukça kolaydır. Ancak, veri doğrulama için ihtiyacınız olan liste verileri başka bir çalışma kitabında bulunuyorsa, ne yapardınız? Bu öğreticide, Excel'deki başka bir çalışma kitabından açılır listenin nasıl oluşturulacağını ayrıntılı olarak öğreneceksiniz.

Excel'de aranabilir bir açılır liste oluşturun
Çok sayıda değeri olan bir açılır liste için, uygun olanı bulmak kolay bir iş değildir. Daha önce, açılır kutuya ilk harfi girerken otomatik tamamlama açılır listesi için bir yöntem getirmiştik. Otomatik tamamlama işlevinin yanı sıra, açılır listede uygun değerleri bulmada çalışma verimliliğini artırmak için açılır listeyi aranabilir hale de getirebilirsiniz. Açılır listeyi aranabilir hale getirmek için bu eğitimdeki yöntemi deneyin.

Excel açılır listesindeki değerleri seçerken diğer hücreleri otomatik olarak doldurun
B8: B14 hücre aralığındaki değerlere dayalı bir açılır liste oluşturduğunuzu varsayalım. Açılır listeden herhangi bir değeri seçtiğinizde, C8: C14 hücre aralığındaki karşılık gelen değerlerin seçili bir hücrede otomatik olarak doldurulmasını istersiniz. Sorunu çözmek için, bu eğitimdeki yöntemler size bir iyilik yapacaktır.

Açılır liste için daha fazla eğitim ...


En İyi Ofis Üretkenliği Araçları

Kutools for Excel Sorunlarınızın Çoğunu Çözer ve Verimliliğinizi% 80 Artırır

  • Yeniden: Hızlıca yerleştirin karmaşık formüller, grafikler ve daha önce kullandığınız her şey; Hücreleri Şifrele şifre ile; Posta Listesi Oluşturun ve e-posta gönder ...
  • Süper Formül Çubuğu (birden çok metin ve formül satırını kolayca düzenleyin); Okuma Düzeni (çok sayıda hücreyi kolayca okuyun ve düzenleyin); Filtrelenmiş Aralığa Yapıştır...
  • Hücreleri / Satırları / Sütunları Birleştirme Veri kaybetmeden; Bölünmüş Hücre İçeriği; Yinelenen Satırları / Sütunları Birleştirme... Yinelenen Hücreleri Önleyin; Aralıkları Karşılaştır...
  • Yinelenen veya Benzersiz'i seçin Satırlar; Boş Satırları Seçin (tüm hücreler boştur); Süper Bul ve Bulanık Bul Birçok Çalışma Kitabında; Rastgele Seçim ...
  • Tam kopya Formül referansını değiştirmeden Birden Çok Hücre; Otomatik Referans Oluştur Birden Çok Sayfaya; Madde İşaretleri Ekle, Onay Kutuları ve daha fazlası ...
  • Metni Çıkar, Metin Ekle, Konuma Göre Kaldır, Alanı Kaldır; Sayfalama Alt Toplamları Oluşturma ve Yazdırma; Hücre İçeriği ve Yorumları Arasında Dönüştür...
  • Süper Filtre (filtre şemalarını kaydedin ve diğer sayfalara uygulayın); Gelişmiş Sıralama ay / hafta / gün, sıklık ve daha fazlasına göre; Özel Filtre kalın, italik ...
  • Çalışma Kitaplarını ve Çalışma Sayfalarını Birleştirin; Tabloları anahtar sütunlara göre birleştirin; Verileri Birden Çok Sayfaya Bölme; Toplu dönüştürme xls, xlsx ve PDF...
  • 300'den fazla güçlü özellik. Office / Excel 2007-2021 ve 365'i destekler. Tüm dilleri destekler. Kuruluşunuzda veya kuruluşunuzda kolay devreye alma. Tam özellikler 30 günlük ücretsiz deneme. 60 günlük para iade garantisi.
kte sekmesi 201905

Office Tab, Office'e Sekmeli Arayüz Getirir ve İşinizi Çok Daha Kolay Hale Getirir

  • Word, Excel, PowerPoint'te sekmeli düzenlemeyi ve okumayı etkinleştirin, Publisher, Access, Visio ve Project.
  • Yeni pencereler yerine aynı pencerenin yeni sekmelerinde birden çok belge açın ve oluşturun.
  • Üretkenliğinizi% 50 artırır ve her gün sizin için yüzlerce fare tıklamasını azaltır!
ofis tabanı
Yorumları sıralama ölçütü
Yorumlar (67)
Henüz derecelendirme yok. İlk değerlendiren siz olun!
Bu yorum sitedeki moderatör tarafından en aza indirildi
Merhaba, çözüm ve kod için teşekkürler. Ancak bir sonraki adım, kullanıcının açılır listeden "yinelenen" değerleri seçmediğinden nasıl emin olunacağıdır. Örneğin, listede 4 öğe varsa - portakal, elma, muz, şeftali ve kullanıcı zaten "portakal" ı seçtiyse, o zaman excel kullanıcının "portakal" ı seçmesine izin vermemeli VEYA bu seçenek listenin geri kalanından kaldırılmalıdır. liste. Bu özelliği gerçekleştirmek için lütfen kodu yayınlayabilir misiniz? Teşekkürler. Yezdi
Bu yorum sitedeki moderatör tarafından en aza indirildi
Merhaba Yezdi, yorumunuz için teşekkür ederiz. Kod güncellendi ve artık açılır listede yinelenen değerlere izin verilmez. Teşekkürler. Gunes isigi
Bu yorum sitedeki moderatör tarafından en aza indirildi
Bunun birden fazla seçime izin vermesi harika ama @Yezdi'nin yorumladığı gibi, seçmesem bile bir veya birkaç kopya ekleyeceğini görüyorum. Yani, şu anda, bu %80'lik bir çözüm... mükemmelden bir ince ayar uzakta. Ben bir VB kodlayıcı değilim veya çözümü öneriyorum.
Bu yorum sitedeki moderatör tarafından en aza indirildi
Kopyaları önlemek için aşağıdaki satırlardaki kodu değiştirebilirsiniz: If xValue2 "" Then Target.Value = xValue1 & ", " & xValue2 End If To: If xValue2 "" Then If CheckIfAlreadyAdded(xValue1, xValue2) = False Then Target .Value = xValue1 & ", " & xValue2 Else Target.Value = xValue1 End If End If Ve sonra aşağıdaki işlevi ekleyin: Özel İşlev CheckIfAlreadyAdded(ByVal sText As String, sNewValue As String) As Boolean CheckIfAlreadyAdded = False Dim WrdArray() As String WrdArray() = Split(sText, ",") For i = LBound(WrdArray) için UBound(WrdArray) If Trim(WrdArray(i)) = Trim(sNewValue) Sonra CheckIfAlreadyAdded = True Sonraki i End Function -- Muhtemelen var kodlamanın daha iyi yolları ama şimdilik işe yarıyor.
Bu yorum sitedeki moderatör tarafından en aza indirildi
Koşul ayarlanmışsa, diğer girişleri kontrol etmemize gerek kalmaması için yeni işlevdeki döngüden çıkmadığımı yeni fark ettim.
Bu yorum sitedeki moderatör tarafından en aza indirildi
Merhaba. Kod ve kopyaları sınırlayan ekleme için teşekkür ederiz. Bir istek daha - yalnızca bir veya iki belirli sütunda çoklu seçime izin vermek için hangi ekleme/değişiklik yapılmalıdır? Bu kod, yalnızca 'normal' davranmak ve değişikliği kabul etmek yerine, bir yazım hatasını düzeltmeye gidersem veya hücredeki metne bir değişiklik veya ekleme yaparsam 'düz' hücreler olması gerekenlere metin satırlarını yeniden ekliyor. (metnin tamamını yeniden eklemeden). Örneğin, A sütunu 'düz' bir sütundur. "En çok istediğin üç şey nedir?" diye bir cümle yazarım. Sütun B, yalnızca tek bir değer seçebilmek istediğim bir 'liste' sütunudur (bu durumda, diyelim ki bir çocuğun adı). Sütun C, kullanıcının birden fazla öğe seçebilmesi gereken başka bir 'liste' sütunudur (ki bu kod, mükemmel bir şekilde yapmama izin verir). Devam ederken, A sütununda bir yazım hatası yaptığımı ve düzeltmek istediğimi fark ettim. Bu kod olduğu gibi, eğer içeri girersem (çift tıklama, F2) ve "öğeler" kelimesini düzeltirsem, hücremde şu sonucu alıyorum: "En çok istediğin üç madde nedir? Üçü nedir? en çok istediğin şeyler?" herhangi bir yardım için şimdiden teşekkür ederim (VBA'yı GERÇEKTEN seven, ancak hala öğrenmenin en erken aşamalarında olan bir kullanıcıdan!)
Bu yorum sitedeki moderatör tarafından en aza indirildi
Kodun çalışmasını sağladım, ancak daha sonra belgeyi kaydettiğimde (makrolar etkinken), kapatıp geri döndüğümde kod artık çalışmadı (hala orada olmasına rağmen). Neyi yanlış yaptığımı anlayamıyorum. Herhangi bir fikir?
Bu yorum sitedeki moderatör tarafından en aza indirildi
Merhaba Cynthia, Asıl yazar cevap vermezse, sana bir cevap getireceğim ama yine 29 Aralık'ta bilgisayar başında olacağım. Ayrıca VBA programcısı değilim. Bu arada yapabileceğiniz şey, Google'ın sütun numarasını nasıl tanımlayacağınızı aramak ve yalnızca bu belirli sütunlarda veriler düzenlenirse kodun çalışmasına izin vermektir. Yaptım ama kod iş bilgisayarımda ve şu anda hatırlayamıyorum, belki de size düzenlenen sütun numarasını verip vermediğini görmek için target.column'a bir debug.print koymayı veya bu yönde bir şey yapmayı deneyin. . Üzgünüm Jennifer, yaşadığın sorundan emin değilim :(
Bu yorum sitedeki moderatör tarafından en aza indirildi
@Cynthia, Hala gerekirse, kodun yalnızca belirli sütunlarda çalışmasını sağlamak için böyle bir şey yapabilmelisiniz, benim durumumda, sütun 34 ve 35: If (Target.Column 34 And Target.Column 35) Then Exit Sub 'Bu kodu dim ifadelerinden sonra başına koy
Bu yorum sitedeki moderatör tarafından en aza indirildi
[quote]@Cynthia, Yine de gerekirse, kodun yalnızca belirli sütunlarda çalışmasını sağlamak için böyle bir şey yapabilmelisiniz, benim durumumda, sütun 34 ve 35: If (Target.Column 34 And Target.Column 35) Ardından Exit Sub 'Bu kodu dim ifadelerinizden sonra başa koyunMervyn tarafından[/quote] Merhaba @Mervyn, Konunun izini tamamen kaybettim ama yanıtlarınız için çok teşekkür ederim. If (Target.Column 34 And Target.Column 35) Then Exit Sub'ı uygulamayı denedim (benim versiyonum If (Target.Column4 And Target.Column5) yazıyor, sonra sizin sağladığınız gibi Exit Sub, ancak "Çalışma zamanı" alıyorum '438' hatası: Nesne bu özelliği veya yöntemi desteklemiyor"" hatası bu yeni satırda. Kodumun ilk birkaç satırı: Private Sub Worksheet_Change(ByVal Target As Range) Dim xRng As Range Dim xValue1 As String Dim xValue2 As String If (Target.Column4 Ve Target.Column5) Sonra Exit Sub If Target.Count > 1 Sonra Exit Sub Hata Onda Devam Et Sonraki Çalışma sayfamda sadece 6 sütun var: Soru | Cevap | Kategori | Alt-Kategori | Etiketler | Fotoğraf bağlantısı Sadece Alt-Kategori ve Etiketlerde (sütunlar 4 ve 5) birden fazla değer düşüşüne ihtiyacım var.12/23'de önerdiğiniz gibi bilgi aramaya devam edeceğim ve sağlanan Hayır Kurumu bağlantısına bakacağım.
Bu yorum sitedeki moderatör tarafından en aza indirildi
If Target.Column <> 34 Sonra Sub'dan Çıkın

'Bu kodu dim ifadelerinden sonra başına koy
Bu yorum sitedeki moderatör tarafından en aza indirildi
Merhaba, şu anda bu formülü kullanıyorum ve veri doğrulamalı tüm sütunlarda artık çoklu seçim seçeneği var, ancak çoklu seçimi yalnızca bir sütunla sınırlamak istiyorum. Çoklu seçimin yalnızca Sütun4'e uygulanabilmesi için birisi bu formülü benim için düzenleyebilir mi? Teşekkürler :) Private Sub Worksheet_Change(ByVal Target As Range) 'Güncelleme: 2016/4/12 Dim xRng As Range Dim xValue1 As String Dim xValue2 As String If Target.Count > 1 Sonra Exit Sub On Error Sonraki Set xRng = Hücreler. SpecialCells(xlCellTypeAllValidation) xRng Hiçbir Şey Değilse, Alt Uygulamadan Çıkın.EnableEvents = Application,Intersect(Target, xRng) Hiçbir Şey Değilse xValue2 = Target.Value Application.Undo xValue1 = Target.Value Target.Value = xValue2 If xValue " O zaman xValue1 ise "" O zaman xValue2 = xValue1 Veya _ InStr(2, xValue1, ", " & xValue1) Veya _ InStr(2, xValue1, xValue1 & ",") ise Target.Value = xValue2 Başka Hedef.Value = xValue1 & ", " & xValue1 End If End If End If End If Application.EnableEvents = True End Sub Herhangi bir yardım takdir edilecektir!
Bu yorum sitedeki moderatör tarafından en aza indirildi
Bu iyi çalışıyor, ancak bir öğeyi seçtikten sonra kaldıramıyorum. Yanlışlıkla bir şeye tıklarsam ve (umarım) tüm hücreyi temizlemeden ve baştan başlamadan kaldırmam gerekirse herhangi bir öneriniz var mı? Ayrıca, bir sütun veya sütun tanımlamak isteyenler için, Contexttures, burada sağlanan koda, bunu yapmanıza izin veren harika bir eklentiye sahiptir. http://www.contextures.com/excel-data-validation-multiple.html#column
Bu yorum sitedeki moderatör tarafından en aza indirildi
[quote]Bu iyi çalışıyor, ancak bir öğeyi seçtikten sonra kaldıramıyorum. Yanlışlıkla bir şeye tıklarsam ve (umarım) tüm hücreyi temizlemeden ve baştan başlamadan kaldırmam gerekirse herhangi bir öneriniz var mı? Ayrıca, bir sütun veya sütun tanımlamak isteyenler için, Contexttures, burada sağlanan koda, bunu yapmanıza izin veren harika bir eklentiye sahiptir. http://www.contextures.com/excel-data-validation-multiple.html#columnHayır Kurumu tarafından[/quote] Kod sorunsuz çalışıyor. Ancak, bir öğenin seçimini kaldıramıyorum. Seçimden bir öğeyi çıkarmak istediğimde, kaldırılmıyor. Bu sorunu başka yaşayan var mı?[/quote] Merhabalar, Bu soruna bir çözüm bulundu..lütfen paylaşın..
Bu yorum sitedeki moderatör tarafından en aza indirildi
Merhaba, Kod iyi çalışıyor. Ancak, bir öğenin seçimini kaldıramıyorum. Seçimden bir öğeyi çıkarmak istediğimde, kaldırılmıyor. Bu sorunu başka yaşayan var mı?
Bu yorum sitedeki moderatör tarafından en aza indirildi
Bu konuya cevap geldi mi. Benim de yaşadığım sorun aynı. Seçilmiş bir öğeyi kaldırmanın bir yolu yok gibi görünüyor.
Bu yorum sitedeki moderatör tarafından en aza indirildi
hücredeki içeriği silin, ardından yeniden seçin
Bu yorum sitedeki moderatör tarafından en aza indirildi
Herkese selam, bir excel sayfasında bu kodum var ve hücre seçildiğinde açılır listedeki içeriği temizliyor - Kodun hangi bölümünün bunu yaptığını biliyorum ('fillRng.ClearContents' yazan bölüm) ve ben başarısız bir şekilde düzeltmek için yukarıdakilerden bazılarını kullanmayı denedim... VBA programlama vb. konusunda yeniyim. Herhangi biri, hücre seçildiğinde netleşmemesi ve girişlerin olmaması için nasıl değiştirileceği konusunda herhangi bir yardım sunabilir mi? kopya lütfen?? Seçenek Explicit Dim fillRng As Range Private Sub Worksheet_SelectionChange(ByVal Target As Range) Dim Niteleyicileri As MSForms.ListBox Dim LBobj As OLEObject Dim i As Long Set LBobj = Me.OLEObjects("ListBox1") Set Niteleyicileri = LBobj.Object If Target. > 3 Ve Target.Column = 3 Ardından fillRng = LBobj ile Hedef Ayarlayın .Left = fillRng.Left .Top = fillRng.Top .Width = fillRng.Width .Height = 155 .Visible = Else ile True End LBobj.Visible = False If FillRng Değilse Hiçbir Şey Değildir O zaman fillRng.ClearContents Niteleyicilerle If .ListCount 0 Sonra For i = 0 To .ListCount - 1 If fillRng.Value = "" Sonra If .Selected(i) Sonra fillRng.Value = .List(i) Else If .Selected(i) Sonra fillRng.Value = _ fillRng.Value & ", " & .List(i) End If Next End If For i = 0 To .ListCount - 1 .Selected(i) = False Next End with Set fillRng = End If End If End Sub
Bu yorum sitedeki moderatör tarafından en aza indirildi
Herkese selam, açılır listemi mükemmel bir şekilde yapabilirdim, ama sorum şu: tüm öğeleri seçtiğimde hücrede birbiri ardına yatay bir şekilde gidiyor, örneğin: sarı, yeşil, siyah, kırmızı. Ama onu dikey bir şekilde nasıl gösterebilirim?, daha çok örneğin: Turuncu beyaz sarı Kırmızı Çünkü yatayda hücre çok sayıda öğe seçerken oldukça uzar. Bunu yapmanın bir yolu varsa lütfen söyler misiniz? teşekkürler, arzu
Bu yorum sitedeki moderatör tarafından en aza indirildi
Bu kodu kullanmayı başardım ve çoklu seçim açılır kutularını başarıyla oluşturdum. Farklı günlerde kapatıp yeniden açtığımda çalıştı. Ancak, şimdi başlangıçta seçtiğim hücrelerin tümü çoklu seçime izin vermiyor. Tüm e-tablo için kodu kullanmasına rağmen, yalnızca daha önce yapılanlar. Yardım edebilir misin?
Bu yorum sitedeki moderatör tarafından en aza indirildi
Bendede aynı sorun var.
Bu yorum sitedeki moderatör tarafından en aza indirildi
hücreler büyük olasılıkla kilitlidir, hepsine sağ tıklayın, hücreleri biçimlendirme, koruma'ya gidin, ardından kilitli hücre seçeneğinin işaretini kaldırın.
Bu yorum sitedeki moderatör tarafından en aza indirildi
Her arayanın arama nedeni için "beslenme" , "ağırlık" ve "iş" gibi birden çok metin seçiminin seçilebileceği bir açılır liste oluşturdum. Her bir nedenden kaç tane görmek istediğim bir özet sayfam var. belirli bir ayda belirtilir. Excel'e belirli bir ayda bunların her birini ayrı ayrı çıkarmasını ve hesaplamasını söylemek için hangi formülü kullanırdım? Şu anda, onu kurma şeklim, yalnızca her arayan için hücrede bir nedenim varsa doğru şekilde numaralandırıyor.
Bu yorum sitedeki moderatör tarafından en aza indirildi
Good Day,
Üzgünüz, bu sorunu çözmenize yardımcı olamaz. Cevabı bulursanız lütfen bana bildirin.
Bu yorum sitedeki moderatör tarafından en aza indirildi
Birden çok değer seçebileceğim açılır listelerle 4 sütun oluşturmaya çalışıyorum. "Birden çok seçimli açılır liste" VBA kodunu nasıl değiştirebilirim, böylece önceden girilmiş bir değere tıkladığımda onu hücreden kaldırır mı? Şimdiden teşekkür ederim.
Bu yorum sitedeki moderatör tarafından en aza indirildi
Sevgili Randy,
"Daha önce girilmiş bir değere tıkladığımda hücreden kaldırıyor" ne demek istiyorsun?
Bu yorum sitedeki moderatör tarafından en aza indirildi
Aynı sorum var. Açılır listem seçilen değerleri hatırlamıyor. Birisi önceden doldurulmuş bir hücreye tıklarsa (onlar tarafından değil, başka biri tarafından) seçilen değerler temizlenir ve hücre tekrar boş bırakılır.
Bu yorum sitedeki moderatör tarafından en aza indirildi
Birden çok çalışma sayfasında çoklu seçime izin vermek için aşağıdaki kodu kullanıyorum ancak çalışma kitabında başka bir çalışma sayfasına gittiğimde çoklu seçim kayboluyor. Dosyayı kaydedip geri döndüğümde, kodlu bir sekme için çalışacak ancak yine kodla başka bir sekmeye tıkladığımda artık çalışmıyor. VBA koduyla bir çalışma sayfasına tıklarsam, her zaman çoklu seçime izin verecek şekilde nasıl düzeltileceği hakkında bir fikriniz var mı?
Bu yorum sitedeki moderatör tarafından en aza indirildi
Merhaba, ich bin totaler VBA Laie. Ich versuche den Code so zu modifizieren, dass
a) Mehrfachauswahl nicht in allen, sondern nur ein zwei Spalten aktivist
b) ich Öğeler auch wieder rausnehmen kann, zB in dem ich in der Listenauswahl das Item noch einmal anklicke (Beispiel: ich habe über die Mehrfachauswahl ausgewählt: A, D, X, Y... nun fächt mir D auf, daszu fällt mir D auf, gehört.Beim aktuellen Code müsste ich Eingaben entfernen und neu auswählen).
Şimdiden teşekkür ederiz!
Bu yorum sitedeki moderatör tarafından en aza indirildi
Açılır listenin çoklu seçimini oluşturmaya devam edemiyorum. Öğreticiyi dinledim ve materyal okudum ama yine de oluşturamıyorum. Lütfen birisi bana yardım edebilir mi?
Bu yorum sitedeki moderatör tarafından en aza indirildi
Bunun tamamen rastgele olabileceğini biliyorum, ancak VBA'nın bir varyasyonunu sorunsuz kullanıyorum. Bir sayfa dışında ilk üç seçeneği seçerseniz dördüncüyü seçmenize izin vermez. 5. seçeneği değil, 6., 4. vb. seçenekleri seçmenize izin verir. Düşünceler?
Bu yorum sitedeki moderatör tarafından en aza indirildi
Merhaba Robert,
Kodu test ettim ama bahsettiğiniz sorunu bulamadım. Hangi Excel sürümünü kullandığını söyleyebilir misin? Yorumun için teşekkür ederim.
Buraya henüz hiç yorum yapılmamış
Daha Çok
Lütfen yorum yazın
Misafir olarak yayınlama
×
Bu gönderiyi değerlendirin:
0   Karakterler
Önerilen Konumlar

Bizi takip et

Telif Hakkı © 2009 - www.extendoffice.com. | Tüm hakları Saklıdır. Tarafından desteklenmektedir ExtendOffice. | | | Site Haritası
Microsoft ve Office logosu, Microsoft Corporation'ın Amerika Birleşik Devletleri ve / veya diğer ülkelerdeki ticari markaları veya tescilli ticari markalarıdır.
Sectigo SSL ile korunmaktadır