• DİKKAT

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

1 ise Tamamlandı yazsın

  • Konbuyu başlatan Konbuyu başlatan k0081
  • Başlangıç tarihi Başlangıç tarihi
Katılım
17 Haziran 2008
Mesajlar
1,874
Excel Vers. ve Dili
Microsoft Ofis Profesyonel 2019 x64 TR
Merhaba arkadaşlar;

L6:L17 aralığında ki hücrelerin herhangi birine 1 yazdığımda Tamamlandı 0 yazdığımda tamamlanmadı şeklinde mavi ve kırmızı renkler kullanılmak suretiyle, I6:I17 arasına nasıl yazdırabilirim ?


örnek:

L8 = 1 dediğimde I8 e tamamlandı yazacak.
L16= 0 dediğimde I16 ya tamamlanmadı yazacak..


yardımcı arkadaşa şimdiden teşekkür ederim.

Herkese kolay gelsin.
 
Aşağıdaki kodları sayfanın kod bölümüne yapıştırıp deneyiniz:

Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Range("L6:L17")) Is Nothing Then Exit Sub
If Target = 1 Then
    Target.Offset(0, 2) = "Tamamlandı"
    With Target.Offset(0, 2).Font
        .Color = -1372155
        .TintAndShade = 0
    End With
    Else
    If Target = 0 Then
        Target.Offset(0, 2) = "Tamamlanmadı"
        With Target.Offset(0, 2).Font
            .Color = -16776961
            .TintAndShade = 0
        End With
        Else
        Target.Offset(0, 2) = ""
        With Target.Offset(0, 2).Font
            .ColorIndex = xlAutomatic
            .TintAndShade = 0
        End With
    End If
End If
End Sub
 
Merhaba arkadaşlar;

L6:L17 aralığında ki hücrelerin herhangi birine 1 yazdığımda Tamamlandı 0 yazdığımda tamamlanmadı şeklinde mavi ve kırmızı renkler kullanılmak suretiyle, I6:I17 arasına nasıl yazdırabilirim ?


örnek:

L8 = 1 dediğimde I8 e tamamlandı yazacak.
L16= 0 dediğimde I16 ya tamamlanmadı yazacak..


yardımcı arkadaşa şimdiden teşekkür ederim.

Herkese kolay gelsin.

Bunun için kod yazmaya gerek var mı?
Koşullu biçimlendirme ile sadece renklendirilse yetmez mi?
 
Aşağıdaki kodları sayfanın kod bölümüne yapıştırıp deneyiniz:

Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Range("L6:L17")) Is Nothing Then Exit Sub
If Target = 1 Then
    [B][COLOR="Red"]Target.Offset(0, 2) = "Tamamlandı"[/COLOR][/B]
    With Target.Offset(0, 2).Font
        .Color = -1372155
        .TintAndShade = 0
    End With
    Else
    If Target = 0 Then
       [B] [COLOR="Red"]Target.Offset(0, 2) = "Tamamlanmadı"[/COLOR][/B]
        With Target.Offset(0, 2).Font
            .Color = -16776961
            .TintAndShade = 0
        End With
        Else
        Target.Offset(0, 2) = ""
        With Target.Offset(0, 2).Font
            .ColorIndex = xlAutomatic
            .TintAndShade = 0
        End With
    End If
End If
End Sub
Hocam işaretlediğim bu kısımlarda küçük bir hata var gibi.. sonuc N sütununa yazıyor. i sütununda olması gerekiyor hocam kendim değiştirim sandım ama , denedim yapamadım.
 
Hocam işaretlediğim bu kısımlarda küçük bir hata var gibi.. sonuc N sütununa yazıyor. i sütununda olması gerekiyor hocam kendim değiştirim sandım ama , denedim yapamadım.

Pardon, benim dikkatsizliğim:(

düzeltmek için kodlardaki Target.Offset(0, 2) bölümünü Target.Offset(0, -3) olarak değiştirmeniz yeterlidir, yani 2'ler -3 olacak.

Sayın Necdet Bey'in önerisiyle de yapılabilir tabi. Makro bölümünde olduğu için makroyla çözmeye çalışmıştım.
 
Kod:
Intersect(Target, Range("L6:L17"))
Kodunun anlamı nedir?

Kodun yalnızca o belirtilen hücrelerde değişiklik olduğunda çalışması için bu şekilde bir range (hedef/çalışma alanı/sınır/aralık) belirliyoruz. Target, hedef demektir. O sırada seçili olan/değişiklik yapılan hücreyi/hücreleri ifade eder. O satırın tamamı, "Eğer değiştirdiğimiz hücre L6:L17 aralığında değilse işlem yapma" anlamına gelmektedir.
 
YUSUF44;

-2 ye kadar denemiştim olmamıştı, yapamamıştım... -3 yazmalıymışım. bunuda sayenizde öğrenmiş oldum hocam. çok teşekkür ediyorum, Tamamdır..
 
O zaman şöyle izah edeyim. Offset kullanıldığında parantez içindeki birinci sayı, hedeften kaç satır uzakta olduğunu, ikinci sayı ise kaç sütun uzakta olduğunu belirler.

offset(0,0) ==> aynı satır/aynı sütun
offset(1,0) ==> 1 satır aşağı(fazla)/aynı sütun
offset(0,1) ==> aynı satır/1 sütun sağa(fazla/ileri)
offset(-1,0) ==> bir satır yukarı(eksik)/aynı sütun
offset(0,-1) ==> aynı satır/bir sütun sola(eksik/geriye)
offset(-3,4) ==> 3 satır yukarı(eksik)/4 sütun sağa(ileri/fazla)
 
O zaman şöyle izah edeyim. Offset kullanıldığında parantez içindeki birinci sayı, hedeften kaç satır uzakta olduğunu, ikinci sayı ise kaç sütun uzakta olduğunu belirler.

offset(0,0) ==> aynı satır/aynı sütun
offset(1,0) ==> 1 satır aşağı(fazla)/aynı sütun
offset(0,1) ==> aynı satır/1 sütun sağa(fazla/ileri)
offset(-1,0) ==> bir satır yukarı(eksik)/aynı sütun
offset(0,-1) ==> aynı satır/bir sütun sola(eksik/geriye)
offset(-3,4) ==> 3 satır yukarı(eksik)/4 sütun sağa(ileri/fazla)

Çok teşekkürler hocam..
 
hücredeki değere göre hücrenin yanıp sönmesi

merhaba
benimde ustalarıma bir sorum olacak.. hücreye 00 yazdığım zaman hücre sarı ve beyaz olmak üzere yanıp sönecek (dosyayı kapatıp açsamda) ancak hücredeki değeri sildiğim zaman durup beyaz olarak kalacak. umarım yardımcı olabilirsiniz..
 
Geri
Üst