• DİKKAT

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

imlecin bulunduğu hücreyi renklendirme.

Katılım
13 Nisan 2015
Mesajlar
17
Excel Vers. ve Dili
2010 türkçe
iyi çalışmalar. imlecin bulunduğu hücreyi aşağıdaki kod ile renklendirdim. Fakat kod sayfadaki diğer bütün renk biçimlendirmelerini sıfırladı, beyaza çevirdi. bunu nasıl engelleyebilirim. Kod aşağıda.

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Cells.Interior.ColorIndex = xlNone
If Intersect(Target, [A1:E3]) Is Nothing Then Exit Sub
Selection.Interior.ColorIndex = 22
End Sub
 
Merhaba
Aşağıdaki şekillerde olabilir.
[A1:E3] rengine göre indexi (4) değiştirin
Kod:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
[A1:E3].Interior.ColorIndex = [COLOR="Red"]4[/COLOR]
If Intersect(Target, [A1:E3]) Is Nothing Then Exit Sub
[A1:E3].Interior.ColorIndex = [COLOR="Red"]4[/COLOR]
Selection.Interior.ColorIndex = 22
End Sub
veya
Kod:
Private v
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If v <> Empty Then
If Not Intersect(Range(v), [A1:E3]) Is Nothing Then
Range(v).Interior.ColorIndex = 4
End If: End If
v = Target.Address
If Intersect(Target, [A1:E3]) Is Nothing Then Exit Sub
[A1:E3].Interior.ColorIndex = 4
Selection.Interior.ColorIndex = 22
End Sub
 
Son düzenleme:
kodlar için teşekkürler fakat...

kodlar için çok teşekkürler, fakat kodlar da grafik alanına renk tanımlandığı için ya sayfanın tamamı yada grafik alanı tanımlanan renge dönüyor. ben istiyorum ki sayfanın kendi var olan renklendirmeleri bozulmadan sadece imlecin bulunduğu hücre renklensin.
 
Muhtemelen bu isteğinizin olmamasının nedeni şudur: Kodlar vasıtasıyla yapılan renk değişikliği kalıcı oluyor. Bir hücre seçildiğinde kırmızı olacak şeklinde ayarlanırsa eğer başka düzenleme yapılmazsa başka hücreye geçtiğinde eski hücre kırmızı olarak kalır. bu nedenle kodlar düzenlenirken önce diğer hücrelerin rengi iptal edilir sonra seçili hücreye renk ayarlanır. sizin istediğinizin olması için sayfadaki her hücrenin renginin makroya ayrıca tanımlanması gerekir ki her değişiklikte eski rengine dönsün.
 
bir fikrim var

Merhabalar,
benim bir fikrim var kodun başına tüm sayfayı seç ve renkleri düzenleden renksiz seçerek peşine kodu ilave edersek olabilir gibi geliyor.
İmleç başka bir hücreyi seçtiğinde kod baştan çalışsa olur gibi
 
Ancak arkadaşın istediği bir hücrede renk varsa o bozulmasın. Zaten bu amaçla kullanılan kodlar önce diğer renkleri iptal edip seçili olana renk vermek üzere ayarlanıyor. sizin dediğiniz olursa örneğin önceden kırmızı olan bir hücrenin rengini iptal etmemiz gerekecek.
 
anladım.Ozaman dediğiniz gibi hücre hücre ele almak lazım konuyu :)
 
Sayfada koşullu biçimlendirme kullanılmıyorsa, seçilen hücreyi renklendirme işlemi koşullu biçimlendirme ile yapılarak eski renklerin korunması sağlanabilir.

Bununla ilgili forumda örnekler var. Araştırma yapmanız gerekiyor.
 
Merhaba.
Alternatif olarak; aktif hücre adresini kullanılmayan bir hücreye (ben AA1 hücresini kullandım) yazdırıp,
alanın koşullu biçimlendirmesinde de bu hücreye atıf yapılabilir.

Örnek belge göremiyoruz ama, aşağıdaki yöntem ile istenilen şeyin gerçekleştirilebileceğini sanıyorum.

İşlemin uygulanacağı alanı seçip koşullu biçimlendirme->formül kullan seçeneğine aşağıdaki formülü uygulayın ve
aktif hücre renginin hangi renk olmasını istiyorsanız o rengi seçerek işlemi tamamlayın.
Kod:
=ADRES(SATIR();SÜTUN();1)=[B][COLOR="Red"]$AA$1[/COLOR][/B]

Sonra, sayfanın kod bölümüne aşağıdaki KOD'u yapıştırın.
(alt taraftan sayfa adına fareyle sağ tıklayıp KOD GÖRÜNTÜLEyi seçtiğinizde açılan ekranın sağ tarafındaki boş alana)
Kod:
[B]Private Sub Worksheet_SelectionChange(ByVal Target As Range)[/B]
    Range("[B][COLOR="Red"]AA1[/COLOR][/B]") = ActiveCell.Address
Application.ScreenUpdating = True
[B]End Sub[/B]
Böylece ilgili alandaki hücrelere elle uygulanan renklendirmeler bu işlemden etkilenmemiş olur,
yani başka bir hücreye geçildiğinde eski haline döner.
 
tam da istediğim gibi

Sayın Ömer BARAN çok teşekkür ederim tam da istediğim gibi oldu.
Hücre alanındaki renkler resetlenmiyor ve aktif hücre değişince eski renginde kalıyor.
 
Alternatif olarak; aktif hücre adresini kullanılmayan bir hücreye (ben AA1 hücresini kullandım) yazdırıp,
alanın koşullu biçimlendirmesinde de bu hücreye atıf yapılabilir.
....................
Böylece ilgili alandaki hücrelere elle uygulanan renklendirmeler bu işlemden etkilenmemiş olur,
yani başka bir hücreye geçildiğinde eski haline döner.


Sayın Ömer BARAN çok teşekkür ederim tam da istediğim gibi oldu.
Hücre alanındaki renkler resetlenmiyor ve aktif hücre değişince eski renginde kalıyor.
Demek ki, iyi fikirmiş. İyi günler dilerim.
 
Alternatif olarak birde bunu denermisiniz.

Kod:
Dim Renk
Dim Renk2

Private Sub Worksheet_Activate()
Range("F1").Select
End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

If Renk = Empty Then
Renk = "F1"
'Renk2 = xlNone
End If
Range(Renk).Interior.ColorIndex = xlNone
Range(Renk).Interior.ColorIndex = Renk2
If Intersect(Target, [A1:E3]) Is Nothing Then Exit Sub

Dim iColor As Integer
On Error Resume Next
iColor = Target.Interior.ColorIndex
If iColor < 0 Then
iColor = 22
Else
iColor = iColor + 1
End If
If iColor = Target.Font.ColorIndex Then iColor = iColor + 1
Renk2 = Target.Interior.ColorIndex
Target.Interior.ColorIndex = xlNone
Target.Interior.ColorIndex = iColor
Renk = Target.Address
End Sub
 
Geri
Üst