• DİKKAT

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

Koşula uymayan biçimlensin

  • Konbuyu başlatan Konbuyu başlatan izcik
  • Başlangıç tarihi Başlangıç tarihi
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.
 
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)
 
A1 leri B2 yaptım, sayenizde olmuştur Kohan Ayhan uzmanım :)
 
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.
 
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
 
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. :)
 
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
 
Geri
Üst