Kosullu bicimlendirme gelistirilebilir mi?

Katılım
3 Nisan 2006
Mesajlar
118
Excel Vers. ve Dili
Vers. 2013 Almanca
Sayin Hocalarim,

Benim sizlerin yardimina ihtiyacim var.
Bir izin sahifesi olusturmak istiyorum. Bu izin sahifesinde, satirlarda 3. kayittan sonraki kayiti yapmak istedigimde, kayiti yapabileyim ama beni bir sekilde 4. ve 4 ten sonraki kayiti yapinca uyarmasi lazim.
"Kesisme var. En fazla 3 kisi izin kullanabilir."

Uyari olanaklari söyle olabilir:
1.) MsgBox ile uyarilabilirim: "Kesisme var. En fazla 3 kisi izin kullanabilir."
2.) Arka cephe renklendirilebilir.
3.) Sizlerin baska önerileri varsa oda olabilir.
Bu soruma Sayin Veyselemre cevap verdi. Kendisine yardimindan dolayi tesekkür ederim. Ama benim icin yeterli degil. Sayin veyselemre’ nin söyledigine gore “kosullu bicimlendirme” ile oluyor.

Ama Kosullu bicimlendirmede en fazla üc Formül uygulayabiliyoruz. Bunu 5 formüle cikartmanin bir yolu varmi? Cünkü ben kayit icin bes tane kisaltma kullanmak istiyorum. Asagidaki örnek gibi:

Kosul 1: =ZÄHLENWENN($C5:$R5;"=i")>3
Kosul 2: =ZÄHLENWENN($C5:$R5;"=au")>3
Kosul 3: =ZÄHLENWENN($C5:$R5;"=su")>3
Kosul 4: =ZÄHLENWENN($C5:$R5;"=gz")>3
Kosul 5: =ZÄHLENWENN($C5:$R5;"=k")>3
Örnek: Ayin 15.01.06 icin: (1.Isim= i, 2. Isim= au, 3. Isim=su, 4. Isim=k) Bu sekilde de kayit gelebilir.
Bu bestane verilerden, 3 ün den fazlasi yan yana gelirse, kullana bilecegimiz bir formül de varmidir? varsa VBA benim icin daha iyi kullanisli (Cünkü baska kullanicilarin silememesi icin VBA' yi kodlayabiliyorum ve kodu bilmeyen Formülleri silemez ve degistiremez. Eger VBA ile olmazsa, kosullu bicimlendirme de isimi görür.

kaleci
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,057
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
Aşağıdaki kodu sayfanın kod sayfasına kopyalayın. Ayrıca sorunuz koşullu biçimlendirme ile de çözülür. Koşul olarak C ve R sütunları arasındaki veri sayısını saydıran bir formül uygulayabilirsiniz.

[vb:1:dd594506f7]Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, [c:r]) Is Nothing Then Exit Sub
sat = Target.Row
adr = "c" & sat & ":r" & sat
say = WorksheetFunction.CountA(Range(adr))
If say > 3 Then
Range(adr).Interior.ColorIndex = 7
MsgBox "FAZLA SAYIDA KİŞİYE İZİN VERİLDİ"
Range(adr).Select
End If
End Sub[/vb:1:dd594506f7]
 
Katılım
17 Şubat 2006
Mesajlar
981
Excel Vers. ve Dili
M.Office Excel 2003 Tr.
sn.leventm
Acemiliğimi bağışlayın ama yukarıdaki makroda yazmış olduğunuz ve aşağıdaki makroda kırmızı işaretli yerler ne anlama geliyor.
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, [a:c]) Is Nothing Then Exit Sub
sat = Target.Row
If Cells(sat, "a") <= Cells(sat, "c") And Cells(sat, "c") <= Cells(sat, "b") Then
Cells(sat, "d") = "başarılı"
Else
Cells(sat, "d") = "başarısız"
End If
If Cells(sat, "c") = 0 Then Cells(sat, "d") = ""
End Sub

benim daha çok ekmek yemem gerek galiba fırıncıya ortak olsam daha iyi. :agla:
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,057
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
Yukarıdaki gibi sayfa nesnesinin change olayına yazılan makrolarda eğer hangi hücreler aralığında çalışması gerektiğini tanımlamazsanız, makro; her hücredeki değişimin ardından gereksiz yere çalışacaktır. İşte bu satır yani intersect fonksiyonu; makronun çalışma aralığını sınırlamak için kullanılmaktadır. Buradaki örnekte, makro sadece a ve c sütunlarında bir hedef hücre(target) seçildiğinde çalışmaktyadır. (target: imleçin son ayrıldığı hücredir)
 
Katılım
17 Şubat 2006
Mesajlar
981
Excel Vers. ve Dili
M.Office Excel 2003 Tr.
Gerçekten çok net bir şekilde anlattınız . Çok teşekkür ederim.
Sağlıcakla kalın.
 
Katılım
3 Nisan 2006
Mesajlar
118
Excel Vers. ve Dili
Vers. 2013 Almanca
Sayin leventm,

Bu dosyami isteyen her Form arkadaslarim isine yararsa kullanabilir.

Vermis oldugunuz kod cok güzel calisiyor. Ben size bitirmek üzere oldugum dosyami gönderiyorum. Lütfen incelermisiniz.

Arka cephe tamamen renklenirse benim diger renkli kayitlarim kayboluyor. Buna bir care bulabilirmiyiz. Bu cözüm gercekten güzel ama benim renklendirdigim kisaltmalar degismemesi gerekiyor. Bana saadece uyarida yeterlidir.

Simdiden duyarliliginiza tesekkür ederim.
kaleci
 
Katılım
3 Nisan 2006
Mesajlar
118
Excel Vers. ve Dili
Vers. 2013 Almanca
Sayin leventm,

Kardesim ellerinize saglik. Simdi istedigim gibi oldu.

Bu Kod: Range(adr).Select ne anlama geliyor

Calismalarinizda basarilar dilerim.

kaleci
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,057
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
Bu satırı sadece hata yapılan hücre aralığı seçili olsun diye koymuştum. Önemli değil o satırıda silebilirsiniz.
 
Katılım
3 Nisan 2006
Mesajlar
118
Excel Vers. ve Dili
Vers. 2013 Almanca
Bilgilerinizi paylastiginiz icin tesekkür ederim.

kaleci
 
Katılım
3 Nisan 2006
Mesajlar
118
Excel Vers. ve Dili
Vers. 2013 Almanca
Sayin leventm,

Vermis oldugunuz kodu:

Isimler Sutunlarda olursa nasil bir degisiklik yapmam lazim. Yani yukaridan asagiya alt alta kisaltmalari yazarsam nasil olmasi lazim?

kaleci
 
Üst