Çoklu Listbox seçimini tek bir hücreye yazdırmak

UserForm ve üzerine eklenecek nesneler ile ilgili bilgileri bu alanda bulabilirsiniz.

Çoklu Listbox seçimini tek bir hücreye yazdırmak

İleti#1)  kesiq » 29 Mar 2021 18:08

Merhabalar,
Aslında 2 sorum var. 1si yapmak istediğim şey şu. Listbox1 kutumda "Ali Veli Mehmet Ahmet Hakan Kemal" isimleri mevcut. Userform çalıştığında kullanıcı bu listboxtan 3 isim veya daha fazla seçim yaptığında bu seçimlerin A1 hücresine Ali,Veli,Kemal şeklinde aynı hücre içerisine aralarında virgül olacak şekilde yazdırmak istiyorum nasıl yapabilirim?

2.olarak. Excelde veri doğrulamayla açılır listeye birden fazla veri seçtiğimde aşağıdaki makro koduyla yan yana yazıyordu. Fakat ben bunu userformda comboboxta yapamıyorum. Comboboxta bir seçim yaptım daha sonra ikinci bir seçim yaptığımda eskisi duracak virgülle yenisi yan yana durabilir mi? Veri doğrulama şeklinde yapılan görsel ve kod aşağıda mevcut?

Resim

Kod: Tümünü seç
Private Sub Worksheet_Change(ByVal Target As Range)
Dim rngDV As Range
Dim oldVal As String
Dim newVal As String
Dim strVal As String
Dim i As Long
Dim lCount As Long
Dim Ar As Variant
On Error Resume Next
Dim lType As Long
If Target.Count > 1 Then GoTo exitHandler

lType = Target.Validation.Type
If lType = 3 Then
    Application.EnableEvents = False
    newVal = Target.Value
    Application.Undo
    oldVal = Target.Value
    Target.Value = newVal
    If Target.Column = 11 Then
        If oldVal = "" Then
        Else
            If newVal = "" Then
            Else
                On Error Resume Next
                Ar = Split(oldVal, ", ")
                strVal = ""
                For i = LBound(Ar) To UBound(Ar)
                    Debug.Print strVal
                    Debug.Print CStr(Ar(i))
                    If newVal = CStr(Ar(i)) Then
                        strVal = strVal
                        lCount = 1
                    Else
                        strVal = strVal & CStr(Ar(i)) & ", "
                    End If
                Next i
                If lCount > 0 Then
                    Target.Value = Left(strVal, Len(strVal) - 2)
                Else
                    Target.Value = strVal & newVal
                End If
            End If
        End If
    End If
End If

exitHandler:
  Application.EnableEvents = True
Kullanıcı avatarı
kesiq
Yeni Başlamış
 
Kayıt: 21 Eyl 2020 09:06
Meslek: Elektrik Elektronik Mühendisi
Yaş: 23
İleti: 19
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: Ankara

Cevap: Çoklu Listbox seçimini tek bir hücreye yazdırmak

İleti#2)  okutkan » 29 Mar 2021 21:25

Kod: Tümünü seç
Private Sub CommandButton1_Click()
    Sheets("Sayfa1").Range("a1") = ""
For i = 0 To ListBox1.ListCount - 1
deneme = ListBox1.List(i, 0)

  If ListBox1.Selected(i) Then
    Sheets("Sayfa1").Range("a1") = Sheets("Sayfa1").Range("a1").Text & ListBox1.List(i, 0) & ","

  End If
Next
End Sub
Excel VBA konusunda profesyonel değilim. Excel VBA öğrenmeye çalışıyorum.
Sorulara cevap vermek için araştırıyorum; araştırdıkça daha fazlasını öğreniyorum.
Kullanıcı avatarı
okutkan
Site Dostu
 
Kayıt: 27 May 2017 02:45
Meslek: pol. mem.
Yaş: 29
İleti: 932
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: DENİZLİ

Cevap: Çoklu Listbox seçimini tek bir hücreye yazdırmak

İleti#3)  okutkan » 29 Mar 2021 21:44

Butonsuz kullanmak isterseniz, aşağıdaki gibi change altına yazın.

Kod: Tümünü seç
Private Sub ListBox1_Change()
    Sheets("Sayfa1").Range("b2") = ""
For i = 0 To ListBox1.ListCount - 1
deneme = ListBox1.List(i, 0)

  If ListBox1.Selected(i) Then
    Sheets("Sayfa1").Range("b2") = Sheets("Sayfa1").Range("b2").Text & ListBox1.List(i, 0) & ","

  End If
Next
End Sub
Excel VBA konusunda profesyonel değilim. Excel VBA öğrenmeye çalışıyorum.
Sorulara cevap vermek için araştırıyorum; araştırdıkça daha fazlasını öğreniyorum.
Kullanıcı avatarı
okutkan
Site Dostu
 
Kayıt: 27 May 2017 02:45
Meslek: pol. mem.
Yaş: 29
İleti: 932
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: DENİZLİ

Cevap: Cevap: Çoklu Listbox seçimini tek bir hücreye yazdırm

İleti#4)  kesiq » 29 Mar 2021 22:19

okutkan yazdı:
Kod: Tümünü seç
Private Sub CommandButton1_Click()
    Sheets("Sayfa1").Range("a1") = ""
For i = 0 To ListBox1.ListCount - 1
deneme = ListBox1.List(i, 0)

  If ListBox1.Selected(i) Then
    Sheets("Sayfa1").Range("a1") = Sheets("Sayfa1").Range("a1").Text & ListBox1.List(i, 0) & ","

  End If
Next
End Sub


Merhabalar çok teşekkür ederim aynı şeyi comboboxtada yapabilir miyiz? Hem üzerindeki text kısmına seçim tıkladıkça eklenicek hemde excele aynı şekilde işneicek mümkün mü?
Kullanıcı avatarı
kesiq
Yeni Başlamış
 
Kayıt: 21 Eyl 2020 09:06
Meslek: Elektrik Elektronik Mühendisi
Yaş: 23
İleti: 19
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: Ankara

REKLAM
Excel Logo XML Oluşturucu
Logo Object Designer ile Uyarlama

Cevap: Çoklu Listbox seçimini tek bir hücreye yazdırmak

İleti#5)  okutkan » 29 Mar 2021 22:57

Combobox un çoklu seçimi bulunmuyor. Combobox un yanına textbox ekleyip yapılabilir. Comboboxta seçtikçe textbox a ekleme yapar.
Excel VBA konusunda profesyonel değilim. Excel VBA öğrenmeye çalışıyorum.
Sorulara cevap vermek için araştırıyorum; araştırdıkça daha fazlasını öğreniyorum.
Kullanıcı avatarı
okutkan
Site Dostu
 
Kayıt: 27 May 2017 02:45
Meslek: pol. mem.
Yaş: 29
İleti: 932
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: DENİZLİ

Cevap: Cevap: Çoklu Listbox seçimini tek bir hücreye yazdırm

İleti#6)  kesiq » 30 Mar 2021 10:53

okutkan yazdı:Combobox un çoklu seçimi bulunmuyor. Combobox un yanına textbox ekleyip yapılabilir. Comboboxta seçtikçe textbox a ekleme yapar.


Rica etsem örnek kodu paylaşabilir misiniz?
Kullanıcı avatarı
kesiq
Yeni Başlamış
 
Kayıt: 21 Eyl 2020 09:06
Meslek: Elektrik Elektronik Mühendisi
Yaş: 23
İleti: 19
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: Ankara

REKLAM
ETA - Excel Konsolide Raporlama
ETA Excel Personel Entegre Raporu

Forum UserForm ve Diğer Nesneler

Online Kullanıcılar

Bu forumu görüntüleyenler: Kayıtlı kullanıcı yok ve 1 misafir

Bumerang - Yazarkafe