• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

CheckBox onayında boş satır kalmasın

mustafa

Altın Üye
Katılım
8 Eylül 2004
Mesajlar
245
Excel Vers. ve Dili
Excel 365 - Türkçe
Başlığa ne uygun olur diye epey düşünmeme rağmen mantıklı bir şey bulamadım.

Sorumu ekli belgede belirttim fakat burayada yazayım.

UserForm üzerinde CheckBox onayı ile satırlara veri aktarmak istiyorum. Fakat onay kutusunu işaretlemediğim veri satırları boş kalıyor. Buna bir çare bulamadım.
 
Kaydet butonuna aşağıdaki kodu yazarak deneyin.

[vb:1:73926652c6]Private Sub CommandButton1_Click()
For a = 1 To 5
If Controls("checkbox" & a) = True Then
c = c + 1
Cells(c, 1) = Controls("textbox" & a).Value
End If
Next
End Sub[/vb:1:73926652c6]
 
Levent bey, kodu denedim tam istediğim gibi oldu. Elinize sağlık, fakat bir eksiği var.

Ã?rneğin; 4 seçenek işaretleyip kaydediyorum, ikinci bir sefer 2 seçenek işaretleyip kaydedince ilk kayıttaki verilerden ikinci kayıtta işaretlenmeyenlerin silinmesi gerekiyor. Çünkü zaman zaman ekler değişebiliyor.
 
Kodu aşağıdaki ile değiştirin.

[vb:1:7057be2664]Private Sub CommandButton1_Click()
columns(1).clearcontents
For a = 1 To 5
If Controls("checkbox" & a) = True Then
c = c + 1
Cells(c, 1) = Controls("textbox" & a).Value
End If
Next
End Sub [/vb:1:7057be2664]
 
Levent bey, elinize sağlık büyük bir sıkıntıdan kurtuldum (her defasında ekleri elle yazmak sıkıntı veriyordu).

Fakat koda son eklediğiniz
Kod:
columns(1).clearcontents
bölümü, sütundaki herşeyi siliyordu. Oysa aynı sütunda başka verilerim de var, bu nedenle kodu

Kod:
Range("A1:A5").clearcontents
şeklinde değiştirdim. Sorun kalmadı. Herşey için teşekkür ederim.
 
Eğer çok olmayacaksam ufak bir ricam daha var. Kod verileri A1:A5 aralığına kaydediyor. Fakat başka bir belgemde verileri R52:T55 aralığına kaydetmem gerekiyor. Kod' a nasıl bir ekleme yapmalıyım?
 
R52:T55 aralığı geniş bir aralık bu aralıkta hangi hücrelere yazdıracaksınız.
 
Levent bey, mesajdan sonra dikkat ettim, eklerin tamamı aynı anda yazılmayacağına göre aralık R52:R55 olacak.
 
Cells(c, 1) = Controls("textbox" & a).Value

satırını aşağıdaki gibi değiştirin.

Cells(c+51, 18) = Controls("textbox" & a).Value
 
Levent bey, elinize sağlık, problem kalmadı.
 
Geri
Üst