• DİKKAT

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

koşullu biçimlendirme + fonksiyon

umitumit

Altın Üye
Katılım
5 Eylül 2006
Mesajlar
364
Excel Vers. ve Dili
Excel 2016
Türkçe
a1 hücresini "sarı dolgu" ile boyadığım zaman b1 hücresine "0" yazsın.
a1 hücresi dolgusuz olduğu zaman b1 hücresi 1 olarak kalsın.

sanki fonksiyondan çok macro gibi görünüyor ama ben öncelikle macro istemiyorum.

mümkün mü?
 
Merhaba.
Ofis2007'de olurmu bilmem ama 2007'nin alt versiyonlarında olamaz diye biliyorum.
Bunun için KTF yapmak gerekir kanaatindeyim.:cool:
KTF=Kullnıcı Tanımlı Fonksiyon
 
yanıt

Makrolu Çözüm.
Kod:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Intersect(Target, [a1:b1]) Is Nothing Then Exit Sub
If [a1].Interior.ColorIndex = 6 Then
[b1] = 0
Else
[b1] = 1
End If
End Sub
 
Son düzenleme:
Şimdi düşündümde KTF ile de olmaz.
Çünkü hücre rengi değiştirmekle hücre değeri değişmeyeceği için KTF bunu algılamaz.Sayın Visual Basıc For Application'un verdiği kodları kullanın.:cool:
 
kullanamadım...
olmuyor yaaa....
ben bu macro işini başaramıyorum.
örnek dosya lazım bana.
 
Şimdi düşündümde KTF ile de olmaz.
Çünkü hücre rengi değiştirmekle hücre değeri değişmeyeceği için KTF bunu algılamaz.Sayın Visual Basıc For Application'un verdiği kodları kullanın.:cool:

KTF ile hücre renk format kodu getirilerek yapılabilir.

Function dformat(Cell As Range) As String
dformat = Cell.Interior.ColorIndex
End Function


Örnek dosya ekte.


..
 
olmamış galiba
dolguyu kaldırınca b1 hücresine 1 yazmıyor
 
Sayın hocam, bu durumda yine A1 hücresine bir veri girişi yapmak gerekiyor.
Veri girişi yapmadan sadece hücre rengini değiştirmekle B1 hücresindeki değer değişmiyor.Ben bunu söylemek istemiştim.Soruyu soran arkadaş renk değişikliğnde değer almasını istemişti.
Saygılar.
 
böyle mi istiyorsunuz acaba ? ek dosyaya bakınız..
 
örnek vererek tekrar sordum

soruyu doğru soramamışım.
özür dilerim.
sanırım bu sefer derdimi anlattım
 
sAYFANIN KOD SAYFASINA YAZIN.

Kod:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
On Error Resume Next
If Intersect(Target, [b:b]) Is Nothing Then Exit Sub
For i = 3 To [B65536].End(3).Row
If Cells(i, 2).Interior.ColorIndex = 6 Then
Cells(i, 3) = 0
Else
Cells(i, 3) = 1
End If
Next
End Sub
 
sanki fonksiyondan çok macro gibi görünüyor ama ben öncelikle macro istemiyorum.
Verilen örneklere bakılırsa Makrosuz olmayacak.
Makrolu örneklerden birisini kullanmanız gerekecek.:cool:
 
galiba bu sefer tamam...

teşekkür ederim
 
Geri
Üst