Soru Userformda Çoklu Seçimli Listboxtaki Verileri Tek Bir Hücreye Alt Alta Yazdırma

Katılım
12 Nisan 2022
Mesajlar
8
Excel Vers. ve Dili
2015 / Türkçe
Merhabalar iyi çalışmalar..
Bir nöbet çizelgesi üzerinde çalışıyorum, 3 er kişilik gruplar var ve çıkması gereken devriye saatleri mevcut.
Lakin; hazırlamış olduğum sadece ad ve soyadların olduğu çoklu seçimli listboxımda 3 kişi seçip, bu 3 kişiyi tek bir hücreye alt alta yazdırmak istedim ancak başaramadım. Yardımcı olabilir misiniz?
 
Son düzenleme:

kulomer46

Altın Üye
Katılım
23 Mart 2007
Mesajlar
1,513
Excel Vers. ve Dili
Microsoft Office LTSC Professional Plus 2021 - Türkçe
Altın Üyelik Bitiş Tarihi
08-06-2027
Çoklu Listbox Seçimlerini Excel Hücresine Yazdırma

Merhaba

Listboxunuzda çoklu seçim yapılıp örneğin 7C hücresine alt alta yazdırılması istendiğinde aşağıdaki kodu kullanabiliriz.

Kod:
Private Sub CommandButton1_Click()
Cells(7, 3) = ""
For i = 0 To ListBox1.ListCount - 1
If ListBox1.Selected(i) = True Then
    If Cells(7, 3) = "" Then
        Cells(7, 3) = ListBox1.List(i) 
    Else
        Cells(7, 3) = Cells(7, 3) & Chr(10) & ListBox1.List(i)
    End If
End If
Next
End Sub
Selamlar...

https://dosyam.org/2GHl/Çoklu_Listbox_Seçimlerimi_Excel_Hücresine_Yazdır.xlsm

Ekran Resmi
235855
 

Ekli dosyalar

Son düzenleme:
Katılım
12 Nisan 2022
Mesajlar
8
Excel Vers. ve Dili
2015 / Türkçe
Teşekkür ederim hocam çok sağolun iyi çalışmalar dilerim, saygılar..
 
Katılım
12 Nisan 2022
Mesajlar
8
Excel Vers. ve Dili
2015 / Türkçe
Hocam peki burda hücreye gelen ilk kişinin telefon numarasını ve adresini yanındaki hücrelere nasıl getirebilirim. Düşeyara fonksiyonu ile denedim ancak formül hata veriyor mesela C7 hücresinde 3 kişi var D7 hücresine ilk kişinin telefon numarasını ve adresini, kişilerin bilgilerini içeren sayfamdan nasıl getirebilirim ne yazarsam formül kısmına sadece ilk kişiye ait numara ve adresi çekebilirim?
 
Katılım
12 Nisan 2022
Mesajlar
8
Excel Vers. ve Dili
2015 / Türkçe
Hocam düşeyara fonksiyonunu soldan fonksiyonu ve bul fonksiyonu ile iç içe kullanmaya çalıştım ilk kişinin bilgilerini getirebilmek için ama yok hatası alıyorum
Bir yanlışlık olmuş sonradan farkettm bunu demek istemedim şöyle ki soldan ve bul fonksiyonu ile 3 kişiden ilk kişiyi buldum bunuda listemde düşeyara ile aratarak bu kişinin bilgilerini getirmeye çalıştım ancak yok hatası alıyorum bakıyorum listede var ama hata veriyor formül şu şekilde yazdım

=Soldan(‘15FAALİYETLİCİZELGE’!J4;Bul(“
“;’15FAALİYETLİCİZELGE’!J4))

bu formül ile ilk kişinin ad soyadını getirdim rastgele bir hücre diyelim ki C5 hücresi olsun şimdi ben bu c5 hücresindeki ad soyadı personel listesinde aratıp o kişiye ait telefon ve adresi getirmek istiyorum başka bir hücreye ama yok hatası alıyorum
 

kulomer46

Altın Üye
Katılım
23 Mart 2007
Mesajlar
1,513
Excel Vers. ve Dili
Microsoft Office LTSC Professional Plus 2021 - Türkçe
Altın Üyelik Bitiş Tarihi
08-06-2027
Hocam peki burda hücreye gelen ilk kişinin telefon numarasını ve adresini yanındaki hücrelere nasıl getirebilirim. Düşeyara fonksiyonu ile denedim ancak formül hata veriyor mesela C7 hücresinde 3 kişi var D7 hücresine ilk kişinin telefon numarasını ve adresini, kişilerin bilgilerini içeren sayfamdan nasıl getirebilirim ne yazarsam formül kısmına sadece ilk kişiye ait numara ve adresi çekebilirim?
Merhaba

Talebinizdeki C7 hücresinde alt alta sıralanan verilerden ilk satırdaki veriyi örneğin D7 hücresine almak için aşağıdaki formülü kullanabilirsiniz.

=EĞERHATA(PARÇAAL(C7;1;BUL(DAMGA(10);C7;1));"")

Selamlar...


https://dosyam.org/1QJ8/Çoklu_Listbox_Seçimlerimi_Excel_Hücresine_Yazdır_(vers._2).xlsm


Ekran Resmi
235971
 

Ekli dosyalar

Katılım
12 Nisan 2022
Mesajlar
8
Excel Vers. ve Dili
2015 / Türkçe
Merhaba

Talebinizdeki C7 hücresinde alt alta sıralanan verilerden ilk satırdaki veriyi örneğin D7 hücresine almak için aşağıdaki formülü kullanabilirsiniz.

=EĞERHATA(PARÇAAL(C7;1;BUL(DAMGA(10);C7;1));"")

Selamlar...


https://dosyam.org/1QJ8/Çoklu_Listbox_Seçimlerimi_Excel_Hücresine_Yazdır_(vers._2).xlsm


Ekran Resmi
Ekli dosyayı görüntüle 235971
Hocam değerli zamanınızı ayırıp ilgilendiğiniz için çok teşekkür ederim, ancak yukardaki belirttiğim soldan ve bul fonksiyonlarını kullanarak ben ilk satırdaki ismi getirebiliyorum ondan sorun yok. Çözemediğim şey ise bu getirdiğim ilk kişiyi düşeyara ile listeden telefon ve adres bilgisini getirmek. Sizin yaptığınız örneğe göre anlatacak olursam; D7 deki ismi isim listesinde aratıp listedeki telefon ve adres bilgisini yanındaki hücrelere getirmek istiyorum.
 

kulomer46

Altın Üye
Katılım
23 Mart 2007
Mesajlar
1,513
Excel Vers. ve Dili
Microsoft Office LTSC Professional Plus 2021 - Türkçe
Altın Üyelik Bitiş Tarihi
08-06-2027
Tekrar Merhaba

İsim listeniz nerede. Bilgiler nereden hangi satır sütun yada hücrelerden alınacak.

Mümkünse örnek dosyanızı paylaşınız.

Selamlar...
 
Katılım
12 Nisan 2022
Mesajlar
8
Excel Vers. ve Dili
2015 / Türkçe
Tekrar Merhaba

İsim listeniz nerede. Bilgiler nereden hangi satır sütun yada hücrelerden alınacak.

Mümkünse örnek dosyanızı paylaşınız.

Selamlar...
İsim listem “verigirisi” isimli sayfanın D1:F50 hücre aralığında. D sütununda isimler, E sütununda telefon numaraları, F sütununda kısa adresler mevcut hocam.

bu bilgileri “Faaliyet Çizelgesi” adlı sayfamda bulduğum ismin yanına yazdırmak istiyorum

D7 hücresinde Ad Soyad
E7 hücresinde Tel. Numarası
F7 hücresinde Kısa Adres

Düşeyara fonksiyonunu doğru yazdığım halde bilgileri getiremedim, “Yok” hatası alıyorum.
 

kulomer46

Altın Üye
Katılım
23 Mart 2007
Mesajlar
1,513
Excel Vers. ve Dili
Microsoft Office LTSC Professional Plus 2021 - Türkçe
Altın Üyelik Bitiş Tarihi
08-06-2027
İsim listem “verigirisi” isimli sayfanın D1:F50 hücre aralığında. D sütununda isimler, E sütununda telefon numaraları, F sütununda kısa adresler mevcut hocam.

bu bilgileri “Faaliyet Çizelgesi” adlı sayfamda bulduğum ismin yanına yazdırmak istiyorum

D7 hücresinde Ad Soyad
E7 hücresinde Tel. Numarası
F7 hücresinde Kısa Adres

Düşeyara fonksiyonunu doğru yazdığım halde bilgileri getiremedim, “Yok” hatası alıyorum.
Değerli Arkadaşım Tekrar Merhaba

Talebiniz Hazır.

Selamlar...

https://dosyam.org/1QKt/Çoklu_Listbox_Seçimlerimi_Excel_Hücresine_Yazdır_(vers._3).xlsm

Ekran Resmi
235996
 

Ekli dosyalar

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,272
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Bende ek bir bilgi paylaşmak isterim...

Ad Soyad olarak bahsettiğiniz sütundaki verilerde sonda fazladan boşluk karakteri olabilir. Bunu kontrol ediniz.

Ya da tam tersi fonksiyonda oluşturduğunuz ad soyad bölümünde bu boşluk oluşuyor olabilir.

BOŞLUK karakteri gözle tespit edilemedği için verilerin eşit olduğu yanılgısına sebep vermektedir.
 

kulomer46

Altın Üye
Katılım
23 Mart 2007
Mesajlar
1,513
Excel Vers. ve Dili
Microsoft Office LTSC Professional Plus 2021 - Türkçe
Altın Üyelik Bitiş Tarihi
08-06-2027
Hocam aynen dediğiniz gibi sonda fazladan boşluk karakteri var.
Önce bendede formül #Yok hatası verdi.
Sonradan boşluk karakterini farkedince durum düzeldi.

Selamlar...
 
Katılım
12 Nisan 2022
Mesajlar
8
Excel Vers. ve Dili
2015 / Türkçe
Bende ek bir bilgi paylaşmak isterim...

Ad Soyad olarak bahsettiğiniz sütundaki verilerde sonda fazladan boşluk karakteri olabilir. Bunu kontrol ediniz.

Ya da tam tersi fonksiyonda oluşturduğunuz ad soyad bölümünde bu boşluk oluşuyor olabilir.

BOŞLUK karakteri gözle tespit edilemedği için verilerin eşit olduğu yanılgısına sebep vermektedir.
Sayın Hocam yarattığınız farkındalık için teşekkür ederim. İlk kişiyi getirdiğim hücredeki formülde, formül sonuna -1 yazmam gerekiyormuş o yüzden hata alıyormuşum, detaylı inceleyince farkettim. 🤦🏻‍♂️

=Soldan(‘15 FAALİYETLİ ÇİZELGE’!J4;Bul(“
“;’15 FAALİYETLİ ÇİZELGE’!J4))

Burdaki hata formülü bitirip iki parantez ile kapatırken J4)) olan kısım, bu şekilde değil de ilk parantez arasına -1 yazmam gerekiyormuş yani J4)-1) olması gerekiyormuş. Yazınca çalıştı düşeyara formülü.

Dosyam artık hazır,
Her gün faaliyet hazırlarken çok uğraştırıyordu, artık eskisi kadar vaktimi almayacak. 😌
@kolumer46 Hocam vaktinizi ayırdığınız için çok minnettarım sağolun. 🙏🏻
 

MyMamoste

Altın Üye
Katılım
31 Mart 2013
Mesajlar
34
Excel Vers. ve Dili
Excel 2021 Türkçe
Altın Üyelik Bitiş Tarihi
05-08-2027
Bu
Çoklu Listbox Seçimlerini Excel Hücresine Yazdırma

Merhaba

Listboxunuzda çoklu seçim yapılıp örneğin 7C hücresine alt alta yazdırılması istendiğinde aşağıdaki kodu kullanabiliriz.

Kod:
Private Sub CommandButton1_Click()
Cells(7, 3) = ""
For i = 0 To ListBox1.ListCount - 1
If ListBox1.Selected(i) = True Then
    If Cells(7, 3) = "" Then
        Cells(7, 3) = ListBox1.List(i)
    Else
        Cells(7, 3) = Cells(7, 3) & Chr(10) & ListBox1.List(i)
    End If
End If
Next
End Sub
Selamlar...

https://dosyam.org/2GHl/Çoklu_Listbox_Seçimlerimi_Excel_Hücresine_Yazdır.xlsm

Ekran Resmi
Ekli dosyayı görüntüle 235855
Burada C7 değilde Aktif hücreye nasıl gönderebiliriz. Seçili olan hücreye.
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,272
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Cells(7, 3) komutu yerine ActiveCell yazarak deneyiniz. Tümünü değiştiriniz.
 

MyMamoste

Altın Üye
Katılım
31 Mart 2013
Mesajlar
34
Excel Vers. ve Dili
Excel 2021 Türkçe
Altın Üyelik Bitiş Tarihi
05-08-2027
Cells(7, 3) komutu yerine ActiveCell yazarak deneyiniz. Tümünü değiştiriniz.
Çok Teşekkür ederim. İstediğim gibi oldu.

Bir soru daha sorabilir miyim?

Listboxta örneğin;


Ev Sahibi
Kira
Müstakil
Diğer

gibi seçenekler var Diğer seçeneğine tıklayınca ayrı bir kutucuk veya diğer yerine kullanıcının bilgi girebileceği bir kutucuk çıksın o kutucuğu doldurduktan sonra Kaydet desin..

Yardımcı olursanız çok sevinirim.
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,272
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Böyle birşeyler olabilir.

Kendi dosyanıza uyarlarsınız.

C++:
Option Explicit

Private Sub ListBox1_Click()
    Dim Veri As Variant
    If ListBox1.Value = "Diğer" Then
10      Veri = InputBox("Lütfen diğer seçimi için açıklama giriniz...", "Açıklama")
        If Veri = "" Then GoTo 10
        Range("A1") = Veri
    End If
End Sub

Private Sub UserForm_Initialize()
    ListBox1.AddItem "Ev Sahibi"
    ListBox1.AddItem "Kira"
    ListBox1.AddItem "Müstakil"
    ListBox1.AddItem "Diğer"
End Sub
 

MyMamoste

Altın Üye
Katılım
31 Mart 2013
Mesajlar
34
Excel Vers. ve Dili
Excel 2021 Türkçe
Altın Üyelik Bitiş Tarihi
05-08-2027
Böyle birşeyler olabilir.

Kendi dosyanıza uyarlarsınız.

C++:
Option Explicit

Private Sub ListBox1_Click()
    Dim Veri As Variant
    If ListBox1.Value = "Diğer" Then
10      Veri = InputBox("Lütfen diğer seçimi için açıklama giriniz...", "Açıklama")
        If Veri = "" Then GoTo 10
        Range("A1") = Veri
    End If
End Sub

Private Sub UserForm_Initialize()
    ListBox1.AddItem "Ev Sahibi"
    ListBox1.AddItem "Kira"
    ListBox1.AddItem "Müstakil"
    ListBox1.AddItem "Diğer"
End Sub
Hocam Yapamadım Maalesef,

Commandbutton Kodlarım,
Kod:
Private Sub CommandButton1_Click()
Cells(Me.TextBox1, Me.TextBox2) = Me.ListBox1
ActiveCell = ""
For i = 0 To ListBox1.ListCount - 1
If ListBox1.Selected(i) = True Then
    If ActiveCell = "" Then
        ActiveCell = ListBox1.List(i)
    Else
        ActiveCell = ActiveCell & Chr(10) & ListBox1.List(i)
    End If
End If
Next
Unload Me

End Sub
Sayfa Kodlarım

Kod:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)

If Target.Row < 2 Or Target.Column < 4 Or Target.Column > 16 Or Target.Column = 13 Or Target.Column = 14 Then
Exit Sub
Else
hucre = Target.Address

End If

kolon = Mid(hucre, 2, 1)            'Sütun Harfini verir
satir = Target.Row                  'Satır sayısını verir
baslik = kolon & 1                  'Sütun ve satırı birleştirir örneğin A5 gibi
Kriter = Range("" & baslik & "")    'Veri tabanında yer alan başlık ile tablodaki başlığı alır

Dim baglanti As New ADODB.Connection
Dim rs As New ADODB.Recordset
yol = Application.ThisWorkbook.FullName 'Bu çalışma kitabı demek
baglanti.Open "provider=microsoft.ace.oledb.12.0;data source=" & _
yol & ";extended properties=""Excel 12.0;hdr=yes"""

If kolon = "E" Then
sorgu = "select Distinct(" & "[" & Kriter & "]" & ") from [DB$]"
rs.Open sorgu, baglanti, adOpenKeyset, adLockOptimistic

ElseIf kolon = "F" Then
sorgu = "select Distinct(" & "[" & Kriter & "]" & ") from [DB$]"
rs.Open sorgu, baglanti, adOpenKeyset, adLockOptimistic

ElseIf kolon = "D" Then

sorgu = "select Distinct(" & "[" & Kriter & "]" & ") from [DB$]"
rs.Open sorgu, baglanti, adOpenKeyset, adLockOptimistic

ElseIf kolon = "G" Then

sorgu = "select Distinct(" & "[" & Kriter & "]" & ") from [DB$]"
rs.Open sorgu, baglanti, adOpenKeyset, adLockOptimistic

ElseIf kolon = "H" Then

sorgu = "select Distinct(" & "[" & Kriter & "]" & ") from [DB$]"
rs.Open sorgu, baglanti, adOpenKeyset, adLockOptimistic

ElseIf kolon = "I" Then

sorgu = "select Distinct(" & "[" & Kriter & "]" & ") from [DB$]"
rs.Open sorgu, baglanti, adOpenKeyset, adLockOptimistic

ElseIf kolon = "J" Then

sorgu = "select Distinct(" & "[" & Kriter & "]" & ") from [DB$]"
rs.Open sorgu, baglanti, adOpenKeyset, adLockOptimistic

ElseIf kolon = "K" Then

sorgu = "select Distinct(" & "[" & Kriter & "]" & ") from [DB$]"
rs.Open sorgu, baglanti, adOpenKeyset, adLockOptimistic

ElseIf kolon = "L" Then

sorgu = "select Distinct(" & "[" & Kriter & "]" & ") from [DB$]"
rs.Open sorgu, baglanti, adOpenKeyset, adLockOptimistic


ElseIf kolon = "O" Then

sorgu = "select Distinct(" & "[" & Kriter & "]" & ") from [DB$]"
rs.Open sorgu, baglanti, adOpenKeyset, adLockOptimistic
End If

With UserForm1.ListBox1
.Column = rs.GetRows

End With


rs.Close
baglanti.Close

UserForm1.TextBox1 = Target.Row
UserForm1.TextBox2 = Target.Column
UserForm1.Show
End Sub
Sonuna geldim sadece burası kaldı hocam, yardımlarınızı bekliyorum
 
Üst