Userform Checkbox_click hücreye yazmıyor

Aksuda

Altın Üye
Katılım
14 Nisan 2019
Mesajlar
40
Excel Vers. ve Dili
Excel 2010 ve üzeri. İngilizce
Altın Üyelik Bitiş Tarihi
22-04-2025
Sayın Üstatlar Merhaba,


Bir kontrol giriş programı hazırladım. Checkbox hiç kullanmadım bugüne kadar, forumu aradım ama ya tam isteğimi yazamadım yada yanlış bir yol izliyorum. Bu konuda sizin engin bilginizle desteğinize ihtiyacım var.

Hazırladığım makro bir verinin kontrolüyle alakalı.


--> İlk sheet de ("Sheet1") Slicerdaki seçimlerime göre userforma kolay bir şekilde filtreleme yapıyorum :)
--> ("OK") sheeti ise: listbox1 deki doubleclick ile satırı seçip istediğim hücreleri (CommandButton1) a basınca OK sheet'inde kaydediyorum. Buraya kadar sorun yok.


Sorunum checkbox ve checkbox sayısı kadar satır açılmasında????

Benim yapmak istediğim listbox'da bir satırı seçip gerekli istediğim checkboxları seçerek Command buttona bastığımda OK sheet'ine dosyada örneğini de eklediğim gibi bir sonuç vermesini istiyorum.

Daha açıklayıcı olmak gerekirse. Checkboxların deneme1 deneme2 gibi yazdığım textlerini nasıl kaydedeceğimi bulamadım. Tabi sadece kaydetmekte yetmiyor çünkü listboxdaki tek seçimimin checkbox sayısına göre OK sheetinde çoğalması gerekiyor.

6 checkbox seçtiysem 6 satır olmalı ve J kolonunda Deneme1 den 6 ya kadar ne seçtiysem görükmeli.

Yardımlarınızı rica ediyorum. Şimdiden çok ama çok teşekkür ederim.
 

Ekli dosyalar

muygun

Özel Üye
Katılım
6 Temmuz 2004
Mesajlar
9,180
Excel Vers. ve Dili
Excel-2003 Türkçe
Merhaba;
Versiyon farkından dosyanızı inceleyemedim ama tüm versiyonlarda;
Checkboxlar ın kontrolü için;

If CheckBox1 = True Then say1 = 1
If CheckBox1 = False Then say1 = 0

Burada;
True = işaretli
False =işaretsiz demek
Bunları bir değişkene atayarak işleminizde kullanın.

İyi çalışmalar.
 

Aksuda

Altın Üye
Katılım
14 Nisan 2019
Mesajlar
40
Excel Vers. ve Dili
Excel 2010 ve üzeri. İngilizce
Altın Üyelik Bitiş Tarihi
22-04-2025
Sayın muygun,

Yanıtınız için teşekkürler.


Dediğiniz şekilde deneyeceğim ama başarabilir miyim bilmiyorum. Checkboxları true false olarak getirsem de satır çoğaltmayı nasıl yapacağım onu hiç bilmiyorum.


Dosyamı açabilen varsa yardımınızı rica ediyorum.

Teşekkürler.
 

Aksuda

Altın Üye
Katılım
14 Nisan 2019
Mesajlar
40
Excel Vers. ve Dili
Excel 2010 ve üzeri. İngilizce
Altın Üyelik Bitiş Tarihi
22-04-2025
Sayın hımmmmmmmm,

Çok çok teşekkür ederim, elerinize sağlık. Tam tamına istediğim gibi olmuş. Benim bu şekilde hiç aklıma gelmedi ben sürekli olarak checkbox_change olayına takıldım kaldım. Gerçekten çok çok teşekkür ederim.
 

Aksuda

Altın Üye
Katılım
14 Nisan 2019
Mesajlar
40
Excel Vers. ve Dili
Excel 2010 ve üzeri. İngilizce
Altın Üyelik Bitiş Tarihi
22-04-2025
Merhaba Üstatlarım,

Aynı isteğimi listbox ile yapmak istiyorum. Listbox2 den multi select ayarladım seçimlerimi yapıyorum ama OK sheet'ine kaydetmek istediğimde checkbox daki gibi olmuyor. TEk satır olarak yada 30 satır olarak kaydediyor.


Yani Listbox2 de 1 seçim yaptığım da 1 satır, 5 seçim yaptığımda 5 satır olacak ve seçtiklerim J kolonunda gözükecek şeklinde.


Çok aradım ama listbox multi select le ilgili bu şekilde bir örnek bulamadım. Sayın @hmmmmmm sizin hazırladığın makro üzerinden denemedim ama çalıştıramadım bir türlü.

Aşağıdaki gibi olacağını düşündüm ama olmadı. Yardımlarınızı rica ediyorum.

Şimdiden yardımlarınız için çok teşekkür ederim. Kod konusunda çok iyi değilim, öğrenmeye çalışıyorum sizden aldığım bilgilerin hepsini inceliyorum.

Kod:
Private Sub CommandButton1_Click()

Application.DisplayAlerts = False



Sheets("HATA").Select

For X = 30 To 1 Step -1

If UserForm2.ListBox1.MultiSelect & X = True Then

Rows("2:2").Select

Selection.Insert Shift:=xlDown

Sheets("HATA").Range("A2").Value = Label5 'LOT

Sheets("HATA").Range("B2").Value = Label6 'FAM

Sheets("HATA").Range("C2").Value = Label7 'TARIH

Sheets("HATA").Range("D2").Value = Label9 'SIRANO

Sheets("HATA").Range("E2").Value = Label10 'TANIM

Sheets("HATA").Range("F2").Value = Label11 'ITM_NAME

Sheets("HATA").Range("G2").Value = Label12 'SEC20_NAME

Sheets("HATA").Range("H2").Value = Label13 'PRM_KOD

Sheets("HATA").Range("I2").Value = Label8 'GIRISCI

Sheets("HATA").Range("J2").Value = Now 'TARIH-SAAT



Sheets("HATA").Range("K2").Value = UserForm2.ListBox1 & X

End If

Next X



Range("A1").Select

Sheets("Sheet1").Select

End Sub
 

Ekli dosyalar

Son düzenleme:

Aksuda

Altın Üye
Katılım
14 Nisan 2019
Mesajlar
40
Excel Vers. ve Dili
Excel 2010 ve üzeri. İngilizce
Altın Üyelik Bitiş Tarihi
22-04-2025
Yukarıdaki isteğimi yanlış aktarmışım görmezden gelin lütfen. Doğrusu bu mesajdan sonraki...
 
Son düzenleme:

Aksuda

Altın Üye
Katılım
14 Nisan 2019
Mesajlar
40
Excel Vers. ve Dili
Excel 2010 ve üzeri. İngilizce
Altın Üyelik Bitiş Tarihi
22-04-2025
Merhaba Üstatlarım,

Aynı isteğimi listbox ile yapmak istiyorum ama 3 listboxım var. Listbox2, Listbox3 ve Listbox4 den yapacağım multi selectlerle OK sheet'ine kaydetmek istiyorum fakat checkbox daki gibi olmuyor. tek satır olarak yada 10 satır olarak kaydediyor.


Yani Listbox2, 3, 4 de toplamda 1 satır seçtiysem 1 satır , 5 yada daha fazla seçim yaptığımda ne kadarsa o kadar satır olacak ve seçtiklerim J kolonunda gözükecek şeklinde.


Çok aradım ama listbox multi select le ilgili ama hiç çözemedim kendi isteğime göre olacağını.

Yardımlarınızı rica ediyorum.

Şimdiden çok teşekkür ederim. Dediğim gibi kod konusunda çok iyi değilim, öğrenmeye çalışıyorum sizden aldığım bilgilerin hepsini inceliyorum.

Birgün bende birine yardımcı olacağım günü iple çekiyorum :)
 

Ekli dosyalar

Aksuda

Altın Üye
Katılım
14 Nisan 2019
Mesajlar
40
Excel Vers. ve Dili
Excel 2010 ve üzeri. İngilizce
Altın Üyelik Bitiş Tarihi
22-04-2025
Merhaba,

Araştırarak kodlarımı aşağıdaki duruma getirebildim. Yalnız burada da tek listbox ile çalışıyor istediğim gibi ama 3 listboxla nasıl yapacağımı çözemedim bir sürü deneme yaptım ama olmadı. Nerede yanlış yapıyorum yardımcı olabilir misiniz?

Yapmak istediğim userformdaki listbox2,3,4 de yapacağım seçimleri "çoklu seçim" OK sheetine kaydedebilmek.

Kod:
Private Sub CommandButton1_Click()
Application.DisplayAlerts = False
    Sheets("OK").Select

Dim i As Long 'listbox2
For i = 0 To ListBox2.ListCount - 1
If ListBox2.Selected(i) = True Then
    
    Rows("2:2").Select
    Selection.Insert Shift:=xlDown
Sheets("OK").Range("A2").Value = Label5 'LOT
Sheets("OK").Range("B2").Value = Label6 'FAM
Sheets("OK").Range("C2").Value = Label7 'TARIH
Sheets("OK").Range("D2").Value = Label9  'SIRANO
Sheets("OK").Range("E2").Value = Label10  'TANIM
Sheets("OK").Range("F2").Value = Label11  'ITM_NAME
Sheets("OK").Range("G2").Value = Label12  'SEC20_NAME
Sheets("OK").Range("H2").Value = Label13  'PRM_KOD
Sheets("OK").Range("I2").Value = Label8 'GIRISCI
Sheets("OK").Range("J2").Value = Now 'TARIH-SAAT

Sheets("OK").Range("K2").Value = ListBox2.List(i, 0)


End If

Next i

i = Empty

Range("A1").Select
Sheets("Sheet1").Select

End Sub
 

Ekli dosyalar

Üst