Excel CheckBox’u hücre ile ilişkilendirilmesi


Soru

Arkadaşlar iyi çalışmalar sitenizi yeni buldum ve incelediğim kadarıyla epey faydalı bilgi edinebileceğim bir site benim sorunum ise Sayfaya Eklediğimiz CheckBox ı hücre ile ilişkilendirme yaparak CheckBox a işaret koyduğumuzda ilişkilendirdiğimiz hücrenin içini renklendirmesi bunun gibi yada buna benzer bir makro kodu varmı varsa yardımcı olursanız memnun olurum şimdiden yardımlarınız için teşekkür ederim.
Örnek A:1 hücresinie ilişkilendireceğimiz bir CheckBox’ı işaretlediğim zaman A:1 hücresi kırmızı olacak.

Cevap

Private Sub CheckBox1_Click()

'==========================================
'Excel CheckBox’u hücre ile ilişkilendirilmesi
'==========================================

If CheckBox1.Value = True Then
    Range("A1").Interior.Color = vbRed
    Range("A1").Font.Color = vbYellow
Else
    Range("A1").Interior.ColorIndex = xlNone
    Range("A1").Font.Color = vbBlack
    End If
End Sub
Örnek dosyayı indirmek için tıklayınız.

MACROLARLA HÜCRE DEĞERİNİN KULLANILMASI

Oluşturacağınız makrolar içerisinde excel hücre değerelerini kullanacak, veya bulmuş olduğunuz bilgileri Excel hücrelerine göndereceksiniz. Şimdi bu işlemleri nasıl gerçekleştireceğinizi örneklerle açıklayalım.

A1 hücresine www.kod.gen.tr yazalım ve Tıkla isimli buton ekleyip aşağıdaki ?okuyucu? isimli makromuzu, oluşturduğumuz butona atayıp, hücre değerini mesaj kutusunda kullanıcıya iletelim.


Aşağıdaki kodu Alt + F11 ile vba yı açalım Insert > Module ile müdül ekleyelim ve aşağıdaki kodu yazalım.

Sub okuyucu()
Dim oku As String
Oku = Range(?A1?).value
MsgBox oku
End Sub
Makromuza bir satır ekleyerek, mesaj kutusundaki değeri istediğimiz hücreye yazdırabiliriz.
Bu örneğimizde mesaj kutusundaki değeri A2 hücresine yazdıralım.
Sub okuyucu()
Dim oku As String
oku = Range("A1").Value
MsgBox oku
Range("A2").Value = oku
End Sub

Exel'de aktif hücreyi renklendirmek

Excel çalışma sayfalarında aktif hücrenin istediğiniz renkte olmasını isteyebilirsiniz. Bunun için ThisWorkbook bölümüne aşağıdaki kodları yazmanız yeterli. Eğer sadece istediğiniz sayfa üzerinde renklendirme yapmak istiyorsanız kodları worksheet prosüdürüne yazmanız gerekiyor.

Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, _
ByVal Target As Excel.Range)
Static OldRange As Range
On Error Resume Next
Target.Interior.ColorIndex = 9 ' renk kodu
OldRange.Interior.ColorIndex = xlColorIndexNone
Set OldRange = Target
End Sub
Açıklama
On Error Resume Next : Hata varsada devam et
Target.Interior.ColorIndex : Aktif hücrenin renginin index numarası