Userform ve Nesneleri, Hücre Başvurusuyla Renklendirme


Excel Userformlarımızı ve üzerindeki nesneleri, çalışma sayfamızda kullandığımız şablon renklerine uygun bir şekilde düzenlemek isteyebiliriz. Userformumuzun renklerini, belirlediğimiz hücrelere doldurduğumuz renklerden alıyor olacak. Excel hücre rengi değişince otomatik olarak userformumuz ve üzerindeki nesneler de hızlı bir şekilde çalışma sayfamızla uyumlu renk paletiyle boyanacaktır... Alttaki Kodları Userformumuzun Initialize bölümüne yapıştırın ve formumuzun referans alacağı hücreleri renklerle doldurun. Alttaki Userform hücre başvurularını kendi sayfa ve hücrelerinize göre düzenlemeyi unutmayın... Esen Kalın... 
 Private Sub UserForm_Initialize()

Dim nesne As Control
For Each nesne In Me.Controls
If TypeName(nesne) = "TextBox" Then nesne.BackColor = Sheets("bilgiler").Range("l5").Interior.Color
If TypeName(nesne) = "Frame" Then nesne.BackColor = Sheets("bilgiler").Range("l4").Interior.Color
If TypeName(nesne) = "CommandButton" Then nesne.BackColor = Sheets("bilgiler").Range("l4").Interior.Color
Next
Me.BackColor = Sheets("bilgiler").Range("l4").Interior.Color

End Sub


Excel Hücreye Çift Tıklayınca Onay (Check) İşareti Koyma

Merhaba Excel Dostları. 

Excel Hücrelerine çift tıklayınca onay (check) işareti nasıl yazdırabiliriz?...
 
İleri seviye excel kullanıcıları bu tarz kısa yollara ihtiyaç duyar ve tablolarının etkileşim içerisinde daha dinamik olmasını isterler... :] 
 
Bu cümle içerisinde bir nümayiş var sanırım... 
 
Ben de bu tarz işlevsel kısa yollara ihtiyaç duyduğuma göre, ileri seviye excel kullanıcısı oluduğumu söyledim... 
 
Evet... 
 

İnsan bazen olduğundan ziyade olmak istediği konumlardan lakırdılar sarfedebiliyor... Ne diyelim? İnsanlık! :] 

 
Konuya dağıtmadan, belirli bir alıkta bulunan excel hücrelerine çift tıklayınca hücreye onay işareti yazdıracağız... 
 

Yapmamız Gerekenler; 

 
1- Kutuların içindeki yazı tipi Marlett  (alttaki kod otomatik seçim yaptırıyoruz... )

2- Klavye tuşu a 
 
3- ilgili sayfanın kod bölümüne alttaki kodu yazıyoruz ve hücre aralıklarını kendi uygulamamıza göre yeniden yazıyoruz... Hepsi Bu kadar sevgili excel dostlarım... Sağlıcakla kalınız...

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Target.Cells.Count > 1 Then Exit Sub 'Count kelimesinin Türkçe karşılığı saymak demektir
 Application.EditDirectlyInCell = True 'Hücreye çift tıklayınca veri girmeyi serbest bırak
' Target hedef demektir. Sayfa olaylarında kullanılan bir değişkendir. Yerine istediğiniz kelimeyi yazabilirsiniz
    If Not Intersect(Target, Range("K19:P119")) Is Nothing Then 'Intersect(Aktif_Hücre, Hedef_Aralık)
    ' Intersect komutu  kesişme anlamına gelmektedir.
Application.EditDirectlyInCell = False 'Hücreye çift tıklayınca veri girmeyi iptal et
        Target.Font.Name = "Marlett"
        If Target = vbNullString Then 'Bir değişken veri içermiyorsa bu değişken Null değere sahiptir diyebiliriz.
            Target = "a" 'çift tıklayınca hücreye a harfinin marlett yazı tipi olarak karşılığı onay işaretidir
        Else
            Target = vbNullString 'Stringler (metinler)
          End If
    End If
End Sub

Dikkat!
Birden fazla sütuna başvuru yaparak onay işareti yazdırmak istiyorsanız üstteki kodlarda ilgili bölümde, alttaki gibi yeniden düzenleme yapabilirsiniz...
    If Not Intersect(Target, Range("f6:f297, j6:j297, N6:N297")) Is Nothing Then 'Intersect(Aktif_Hücre, Hedef_Aralık) 
Örnek Excel dosyasını indirmek için tıklayınız...

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ı