Koşula uymayan biçimlensin

Katılım
18 Mayıs 2009
Mesajlar
1,184
Excel Vers. ve Dili
Excel 2016 Türkçe
Merhabalar

Amacım (örnek olarak) B2:K200 alanında; bir hücreye “1” (bir) rakamını elle yazdığımda, RENKLENMESİN.

Ama 1 yerine ne yazarsam yazayım, (rakam, harf, -1, 0 vs..) RENKLENSİN.

Şunları yaptım:
*Koşullu biçimlendirme
*Yeni kural
*Yalnızca şunu içeren hücreleri biçimlendir
*Hücre değeri
*Eşit değil
*1
*Biçim ayarı yap (kırmızı rengi seç)

Bunları yaptıktan sonra, seçtiğim tüm alan (aralık) kırmızıya boyanıyor. Bütün boş hücrelerde tabi.

Oysa benim yapmak istemediğim, bir hücreye 1 yazarsam renklenmesin, 1 dışında ne yazarsam yazayım, renklensin. Yani “yanlış yazdın” anlamında beni uyarsın.

Ama boş hücrelerin hepsi de renklendiği için, bir anlamı kalmıyor.
Nasıl yapabilirim doğrusunu? Teşekkürler.


Eğer boş hücrelerin kendiliğinden renklenmemesinin, koşullu biçimlendirme ile yapmanın mümkünü yok ise, o zaman siz uzmanlarımızdan kod rica edeceğim.
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,247
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Alanı seçin. Koşullu biçimlendirme formül bölümüne aşağıdaki formülü uygulayıp deneyiniz.

Ben alanı A1:Z100 gibi varsaydım.

C++:
=VE(A1<>"";A1<>1)
 
Katılım
18 Mayıs 2009
Mesajlar
1,184
Excel Vers. ve Dili
Excel 2016 Türkçe
A1 leri B2 yaptım, sayenizde olmuştur Kohan Ayhan uzmanım :)
 
Katılım
18 Mayıs 2009
Mesajlar
1,184
Excel Vers. ve Dili
Excel 2016 Türkçe
Alanı seçin. Koşullu biçimlendirme formül bölümüne aşağıdaki formülü uygulayıp deneyiniz.

Ben alanı A1:Z100 gibi varsaydım.

C++:
=VE(A1<>"";A1<>1)
Sayın Korhan uzmanım merhaba
Biçimlendirme formülünüz çok güzel, kullanıyorum.

Aynı konuyla ilgili şu makro kodunu oluşturabilir miyiz?
(Biçimlendirme sorusu değil bu)

B2:K200 aralığına (1) rakamı hariç ne yazarsam yazayım, msgbox “1 yazmalısınız” diye uyarı versin.
 

ÖmerFaruk

Destek Ekibi
Destek Ekibi
Katılım
22 Ekim 2017
Mesajlar
4,779
Excel Vers. ve Dili
Microsoft 365 Tr-64
Bu soruda istediğiniz şey.
C++:
Private Sub Worksheet_Change(ByVal Target As Range)
   If Intersect(Target, Range("B2:k200")) Is Nothing Then Exit Sub
   If Target.Value <> 1 Then MsgBox "1 yazmalısınız"
End Sub
Bu da ilgili aralıkta bir şey yazacak olursan sadece 1 olarak değiştiren hali.
C++:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Intersect(Target, Range("B2:K200")) Is Nothing Then Exit Sub
    Application.EnableEvents = False
    If Len(Target) > 0 Then Target = 1
    Application.EnableEvents = True
End Sub
 
Katılım
18 Mayıs 2009
Mesajlar
1,184
Excel Vers. ve Dili
Excel 2016 Türkçe
Bu soruda istediğiniz şey.
C++:
Private Sub Worksheet_Change(ByVal Target As Range)
   If Intersect(Target, Range("B2:k200")) Is Nothing Then Exit Sub
   If Target.Value <> 1 Then MsgBox "1 yazmalısınız"
End Sub
Bu da ilgili aralıkta bir şey yazacak olursan sadece 1 olarak değiştiren hali.
C++:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Intersect(Target, Range("B2:K200")) Is Nothing Then Exit Sub
    Application.EnableEvents = False
    If Len(Target) > 0 Then Target = 1
    Application.EnableEvents = True
End Sub
ÖmerFaruk Uzmanım bravo. Sakin kafayla deneyeceğim. :)
 
Katılım
18 Mayıs 2009
Mesajlar
1,184
Excel Vers. ve Dili
Excel 2016 Türkçe
Bu soruda istediğiniz şey.
C++:
Private Sub Worksheet_Change(ByVal Target As Range)
   If Intersect(Target, Range("B2:k200")) Is Nothing Then Exit Sub
   If Target.Value <> 1 Then MsgBox "1 yazmalısınız"
End Sub
Bu da ilgili aralıkta bir şey yazacak olursan sadece 1 olarak değiştiren hali.
C++:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Intersect(Target, Range("B2:K200")) Is Nothing Then Exit Sub
    Application.EnableEvents = False
    If Len(Target) > 0 Then Target = 1
    Application.EnableEvents = True
End Sub
Sayın ÖmerFaruk uzmanım size teşekkür ederim. Saygılar
 
Üst