Ek soru:
Bir hücredeki formül sonucuna göre başka bir hücrenin rengini ve içinde yazan metni değiştirebilir miyim?
Örneğin; A1'deki formül sonucu 16-30 aralığındaysa B1 hücresi kırmızı olacak, içinde "DİKKAT" yazacak, 0-15 arasında ise B1 yeşil olacak içinde "OK" yazacak. Bunun için makro mu gerek?
makro değil, formül gerekir.
B1 hücresine:
=EĞER(ve(A1>=16;A1<=30);B1="DİKKAT";EĞER(VE(A1>=0;A1<=15);B1="OK";xxxxxx)
formülünü yazacaksın. xxxxxx yerine bu aralıkların dışında bir sonuç alırsan ne olacağını yazman gerekecek ya da diğer kriterleri de Eğer ile eklemen.
Daha sonra koşullu biçimlendirmeye gelip B1 için 5 farklı sonuç için biçimlendirme yapacaksın. Örneğin B1="DİKKAT" sonucunda hücre rengi kırmızı olacak, B1="OK" sonucunda yeşil olacak vs.
edit: mytonn tam olarak bu anlattıklarımı uygulamış. sadece formülde ufak bir farklılık var ama işlevi aynı.
yapamadım ya la, aklıma takılan sorular var:
@mytonn
parantej içinde 2 eğer yerine 16<=A1<=30 yapsak olmuyor mu? bir de ";"" neden gerekli?
@himmet dayi
"EĞER(ve(" bu "ve"nin olayı nedir? bir de diğer durumlarda hiç bir şey yapmaması(hücre boş olması) için ne yazmalıyım?
iki formülü de birebir yazıyorum ama hata veriyor, nerde yanlış var?
son durum: iki durum için çalışıyor ama 5 değişken yapınca hata veriyor. bir yerde hata yapıyorum kesin.
en Kolay vba ile yapabilirsiniz
size ekte sonucu ve yazdığım komutu gönderiyorum
sanırım aradığınız bu
i.hizliresim.com
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Data As Range
Dim cell As Range
Set currentsheet = ActiveWorkbook.Sheets("SAYFA1")
Set Data = currentsheet.Range("A2:A10")
For Each cell In Data
Select Case (cell.Value)
Case 1 To 10
cell.Interior.ColorIndex = 4
Case 11 To 20
cell.Interior.ColorIndex = 5
Case 21 To 30
cell.Interior.ColorIndex = 6
Case 31 To 40
cell.Interior.ColorIndex = 7
Case 41 To 50
cell.Interior.ColorIndex = 8
End Select
Next
End Sub
Yalnız unutmayın bunu vba modül sayfasında ilgili sayfayı seçerek yapacaksınız
hücrenin boş olması için xxxxxx yazdığım yere iki tane tırnak, yani "" yazarsan hücre boş kalır.
VE'nin olayı EĞER içine yazacağın birden fazla kriter varsa bunları yazabilmen için bir fonksiyon olmasıdır.
Yani Eğer içine (16<=A1<=30) yazamıyorsun, onun yerine bu ibareyi ikiye bölüp benim yazdığım gibi yazıyorsun.
VE fonksiyonunda ikiden fazla kriter yer alabilir. sonucun 'DOĞRU' olması için VE içine yazılan tüm kriterlerin sağlanması gerekir.
Örnek: fonksiyon =EĞER(ve(A1>=16;A1<=30);... şeklinde olsun.
A1 hücresine 42 yazdın, VE içine bakıyoruz, iki tane kriter var. biri 16'dan büyük eşit olması, diğeri 30'dan küçük eşit olması. 42 16'dan büyük, ama 30'dan küçük değil. VE'nin içindeki tüm kriterler sağlanmadı. O yüzden sonuç 'YANLIŞ' döner ve eğer fonksiyonunda [eğer_doğruysa] değil,xxxxxx olarak yazdığım bölüm çalışır.
VE gibi başka bir fonksiyon daha var; VEYA. Bu fonksiyon da yazılan kriterlerin (mantıksal sınama) en az biri dahi sağlanıyorsa sonuç 'DOĞRU' olarak döner. Yukarıdaki örnekte 42 sayısı 16'dan büyük olduğu için kriterlerden biri sağlandığından eğer fonksiyonunun [eğer_doğruysa] sonucu ekrana gelir.
Ek olarak, yukarıda yazılan makro, arkadaşın dediği gibi kolaylık sağlar. Ama ben önermiyorum. Çünkü makro yazılmış bir excel'i kaydederken formatını değiştirmeniz gerekir (xlsm). Ayrıca başka biri bu excel'i açtığında güvenlik uyarılarıyla karşılaşır ve her seferinde 'İçeriği Etkinleştir' butonuna basmak zorunda kalır. Gereksiz teferruat.