Raporlamada Tümünü seçmek

Katılım
31 Ağustos 2005
Mesajlar
1,534
Excel Vers. ve Dili
Excel 2003 - Türkçe
Merhabalar;

Yaptığım programda, Userform4. te raporlama yapmak istediğim kişi veya kişileri Listbox1.den seçip raporlama yapıyorum.

Fakat kayıtlı çok kişi olduğunda tek tek hepsini işaretlemek zaman alabileceğinden;

Userfoma koyduğum "TÜMÜNÜ SEÇ" butonuna nasıl bir kod yazılmalı ki, listboxtaki kişilerin tümü seçili hale gelsin.

Şimdiden Teşekkürler.

NOT: Programa giriş şifresi: 123456
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,057
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
Aşağıdaki kodu denermisiniz.

Kod:
For a = 0 To ListBox1.ListCount - 1
ListBox1.Selected(a) = True
Next
 
Katılım
31 Ağustos 2005
Mesajlar
1,534
Excel Vers. ve Dili
Excel 2003 - Türkçe
Sayın Levent bey;

Merhabalar.Nasılsınız?

Verdiğiniz kodla bütün kişiler seçili hale geliyor. Buraya kadar tamam.

Fakat RAPORLA tuşuna bastığımda:

"LÜTFEN YANDAKİ LİSTEDEN SEÇİM YAPINIZ." Şeklinde mesaj çıkıyor vbe RAPORLAMA YAPMIYOR.

Tahminime göre 82 no.lu butondaki kod ile bu kodun revize edilmesi gerekiyor. Raporla butonundaki kod ise:
Private Sub CommandButton82_Click()
Set s1 = Sheets("veri")
Set s2 = Sheets("raporlama")
If ListBox1.ListIndex = -1 Then
MsgBox "LÜTFEN YANDAKİ LİSTEDEN 1 VEYA BİRKAÇ İSİM SEÇİNİZ.."
Exit Sub
End If
s2.Range("A1:AC65536").ClearContents
s2.Rows(1) = s1.Rows(1).Value
s2.Rows(1).Font.Bold = True
For a = 0 To ListBox1.ListCount - 1
If ListBox1.Selected(a) = True Then
sat = s2.[a65536].End(3).Row + 1
s2.Rows(sat) = s1.Rows(a + 2).Value
End If
Next
For a = 18 To 1 Step -1
If Controls("checkbox" & a).Value = False Then s2.Columns(a + 2).Delete
Next
s2.[a:j].EntireColumn.AutoFit
s2.Select
MsgBox "VERİLER İLGİLİ YERE YAZILDI"
End Sub
Saygılarımla.
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,190
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Selamlar,

Kullanmış olduğunuz odu aşağıdaki şekilde değiştirip denermisiniz.

Kod:
Private Sub CommandButton82_Click()
    Set s1 = Sheets("veri")
    Set s2 = Sheets("raporlama")
    For a = 0 To ListBox1.ListCount - 1
    If ListBox1.Selected(a) = False Then say = say + 1
    Next
    If say = ListBox1.ListCount Then
    MsgBox "LÜTFEN YANDAKİ LİSTEDEN BİR VEYA BİRKAÇ İSİM SEÇİNİZ !"
    Exit Sub
    End If
    s2.Range("A1:AC65536").ClearContents
    s2.Rows(1) = s1.Rows(1).Value
    s2.Rows(1).Font.Bold = True
    For a = 0 To ListBox1.ListCount - 1
    If ListBox1.Selected(a) = True Then
    sat = s2.[a65536].End(3).Row + 1
    s2.Rows(sat) = s1.Rows(a + 2).Value
    End If
    Next
    For a = 18 To 1 Step -1
    If Controls("checkbox" & a).Value = False Then s2.Columns(a + 2).Delete
    Next
    s2.[a:j].EntireColumn.AutoFit
    s2.Select
    MsgBox "VERİLER İLGİLİ YERE YAZILDI."
End Sub
 
Katılım
31 Ağustos 2005
Mesajlar
1,534
Excel Vers. ve Dili
Excel 2003 - Türkçe
Sayın COST_CONTROL

Ben UZMAN diye buna derim. :hey:

Bu benim exceli yarım bilmemden kaynaklanıyor.

Sorunumu çözdüğünüz Çok teşekkür ediyorum.
 
Katılım
24 Şubat 2006
Mesajlar
243
Excel Vers. ve Dili
EXCEL 2003
Arkadaşlar aynı sorun bende de vardı, güzel bir şekilde çözüldü.
Sayın küçükşengün' e, sayın leventm' e ve sayın COST_CONTROL' a çok teşekkür ederim. Herkesin ellerine sağlık.
 
Üst