• DİKKAT

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

hücreler yazılı değilken renksiz olsun

Katılım
10 Ekim 2010
Mesajlar
1,469
Excel Vers. ve Dili
2010 Türkçe
Merhaba arkadaşlar
E sutunundaki hücreler yazılı değilken renksiz, herhangi bişey yazıldığında yeşil olmasını istiyorum,
B sutununda ki hücrelere ise bu e sutunundaki Hücrelerden yazılı olanlar girildiğinde, e sutunundaki o girilen hücreler kırmızı olmasını istıyorum.
b stununa 1 yada bir kaç lokasyon girelebilir.
makrolu olması öenmlidir. ek dosyada sanırım daha net anlaşılabilir.

bi arkadaşımız yaptı ama benım yanlış anlatmam sonucunda yanlışlıklar oldu. oyuzden konuyu yenıden açtım. o arkadaşıma da gönulden tşk ederım.
 

Ekli dosyalar

Son düzenleme:
arkadaşlar konu biraz acil küçük küçük çalışmamı hazırlıyorum. daha önumde uzun yol var ve bir an önce yetiştirmem lazım. sizden ricam yardımcı olursanız çok sevınırım

emeği geçen herkese tşklerımı sunarm.
 
arkadaşlar sözlerime başlamadan önce herkesten özur dılıyorum ama neden bu konuya bakılmıyor merak ettim. olumlu olumsuz bişeyler yazsanız...

bu istediğim şeyler sizler için emınım mınık şeyler bile sayılmaz :(
 
uzman arkadaşlarım. konuyla ilgiilenebilirmısınız çok rica edıyorum hepınızden. herkese tşk ederım
 
bu konu bu kadarmı zor arkadaşlar. burda ne çalışmalara imza attınız bunu anlayamadım.
 
B sütunundaki hücrelerde E sütundaki birden fazla hücrenin değeri "-" ile ayrılmış olarak var.
eğer E sütunundaki 1 hücrenin değeri olsa idi çok kolaydı.

varsayımlar:
makro çalıştırılmadan önce veri girişleri tamamlanmıştır.
B sütunundaki hücrelerde bulunan değerler, E sütunundan bir veya boşluk bırakılmadan "-" ile arılmış birden fazla değeri içerir.

Kod:
Sub KosulluBicim()

Dim Rng As Range, Cll As Range
Dim SonSat As Long, B_son  As Long
Dim x As Variant, var As Variant

SonSat = Cells.Find(What:="*", SearchDirection:=xlPrevious, SearchOrder:=xlByRows).Row
Set Rng = Range("E3:E" & SonSat)
Rng.Interior.Color = xlNone 'var ise mevcut dolgu renginin kaldırılması

B_son = Cells(Rows.Count, "B").End(xlUp).Row

For Each Cll In Rng
    If Len(Trim(Cll.Value)) > 0 Then
        Cll.Interior.Color = vbGreen
        For i = 3 To B_son
            x = Split(Cells(i, 2), "-")
            var = Application.VLookup(Cll.Value, Application.Transpose(x), 1, 0)
            If Not IsError(var) Then
                Cll.Interior.Color = vbRed
            End If
        Next
    End If
Next

End Sub
 
Son düzenleme:
merhaba mancubus, ilginiz için tşk ederım ama bu kodu kod göruntelemeden ekledim herhangi bi sonuca ulaşamadım. (-) daha önceden, bu linkte yapıldı
http://www.excel.web.tr/f48/bo-yada-dolu-olduounu-oorenmek-t108129.html
ama benim yanlış yönlendirmem sonucunda olmadı sizde kontrol edebilirseniz, daha net bilgiye sahip olacaksınızdır. ama ben bunu bu sayfadaki durum öğrenme isimli excele kodları eklersenız çok daha memnun olurum, verdiğim linkteki dosya pek çalışma sayfama uygun değil.
onda buton ile güncelleme yapılıyor. ben butonsuz e sutundaki hücrelere her ne girilirse yeşil olsun, bu e sutununa girilenlerden, b sutunundaki hücrelere de girilirse e sutununda o girilenler kırmızı olsun istıyorum.

ilgilnen tum arkadaşlarıma gönulden tekrar tşk edıyorum. herşey gonlunuzce olsun..
 
daha önceden cevap alınan bir soruyu tekrar sorarak benim zamanımın boşa gitmesine yol açtın arkadaşım.

ilave bir ihtiyaç var ise aynı konudan devam etmeliydin.

aslında bende de hata var. cevap verilmemesinden anlamalıydım.
 
merhaba,
isteyerek yapılan bi tavır değil bu. yanlışın üzerinden devam ederek yanlış sonuçlar elde etmemek için, ve sizlerin zamanını mümkün olduğunca saygıyla karşılayıp, sizi ne kadar az yorsam benim için bu öenmli diye böyle bişey yaptım. art niyetin olmadığına emin olmanızı isterim. bi kusurumuz olduysa da af ola diyorum. yinede herşey için tekrar tekrar tşklerimi sunarım.

saygıyla...
 
sayfanın renk sorunu

tekrardan hayırlı akşamlar,
değerli hocalarım, arkadaşlarım...


ana sayfanın e sutununa her ne girilirse yeşil olmasını, ve bu girilenden de b sutununda olursa kırmızı olmasını, sayın mancubus arkadaşımızın yazmış olduğu kodu ekleyerek yapılıyor, ancak her ne değişilık yaparsak yapalık ana sayfa da iken, sayfanın kod kısmından kaydedip, run f5 yaptığımızda kod görevini yapıyor, ben bunu sayfada her ne değişiklık olursa,değişilıkten sonra otomatık algılmasını sağlayabilmek istemiştim. ya da sayfanın önceki koduyla alakası olabilir mi çakışma gibi.

yada bunu istediğimiz şekilde nasıl uyarlayabiliriz.

dosya ve renk kodu ektedir.

herkese gönulden tşk ederım.


saygıyla.
 

Ekli dosyalar

ilk anda çok fazla tepki göstermişim.
bunun için özür dilerim.


anasayfa'nın kod modülüne:
Private Sub Worksheet_Activate()
olay kodlarının altına

Kod:
Private Sub Worksheet_Change(ByVal Target As Range)

    If Target.Column <> 5 Then Exit Sub
    
    Dim B_son  As Long
    Dim x As Variant, var As Variant
    
    B_son = Cells(Rows.Count, "B").End(xlUp).Row
    
    If Len(Trim(Target.Value)) > 0 Then
        Target.Interior.Color = vbGreen
        For i = 3 To B_son
            x = Split(Cells(i, 2), "-")
            var = Application.VLookup(Target.Value, Application.Transpose(x), 1, 0)
            If Not IsError(var) Then
                Target.Interior.Color = vbRed
            End If
        Next
    Else
        Target.Interior.Color = xlNone
    End If

End Sub
 
Merhaba mancubus, gösterdiğiniz tepkiyi anlayışla karşılıyorum, Tepkinize göre sizde haklısınız,
bu arada ilginiz için tşk ederim tekrardan,

ben bu kodları sızın dediğiniz gibi ekledım. bi sonuca gidemedim. hiç bi işlem yapmadı desemde yeridir. ya da benmi bi yerlerde hata yapıyorum. bilemedim. af buyurun sizden ricam 11 nolu konuda ki renk sorunu isimli dosyamıza ekleyip dosya halınde paylaşıma sunarmısını.

ilginiz için tekrar tşk ederim..
iyi çalışmalar dilerim.

saygıyla.
 
sorun çıkmadı bende:

boşsa renksiz
dolu ise yeşil.
dolu ve değer B sütununda var ise kırmızı.
 

Ekli dosyalar

:) evet doğru çalışıyor ama yine bi yanlışlık yapıyoruz ikimizde.
sizde dikkat ederseniz, ana sayfa ve gelenler var çalışmada.
e sutuna sadece lokasyon gireceğim çok nadir olarak bu lokasyon isimleri değişebilir ve eklenebilir veya silinebilir.
gelen numune kumaşları ben gelenler sayfasına gireceğim ve lokasyonunu ise ana sayfada hangi lokasyon boş ise oraya göre gelenler sayfasından giriş yapacağim.
bu şekilde her kumaş değişiklığnde e sutuna lokasyonları tek tek girmek gerekıyor. ana sayfa zaten her girişte kendını guncellıyor.
b sutununda hangi lokasyonlar kullanıyorsa e sutununda ona gore işlem yapılmasını sağlayabilir mıyız..

sizi çok yoruyorum galıba gerçekten ksr bakmayın, ılgınız için çok tşklerımı ıletırım

saygıyla
 
nereye ne girişi yapılıyor.
ne yapılınca ne değişecek.

satır satır açıklayalım.
lokasyon vb bana hiç bir şey ifade etmiyor.
 
merhaba,

ana sayfanın b sutununa manual olarak giriş yapılmayacak,
ana sayfanın çalışma düzeni, gelenlere göre güncel durumu gösterecek,
ana sayfanın e sutununa ise manuel olarak giriş, veri silme ve ekleme yapılacak,
ana sayfanın b sutununda bu e sutununda olanlardan var ise kırmızı yok ise yeşil olması otomatık olarak algılamalı.
çünkü bu lokasyonun boş yada dolu olduğunu, ana sayfadaki gelenlere göre belirtmiş olacağız.

umarım anlatabildim
 
slm

anasayfa macrosunu değiştir
Kod:
Private Sub Worksheet_Activate()
Set S1 = Sheets("GELENLER")
Set S2 = Sheets("ANA SAYFA")
S2.Range("A3:d65000").ClearContents
'------------------------ANA SAYFAYA TOPLAMA---------------------------
X = WorksheetFunction.CountA(S1.Range("A3:A65000")) + 3
S = 2
For I = 3 To X
     TIP = S1.Cells(I, 1).Value
     LKS = S1.Cells(I, 3).Value
     If WorksheetFunction.CountIf(S1.Range("A3:A" + Trim(I)), TIP) = 1 Then
        T = WorksheetFunction.CountIf(S1.Range("A:A"), TIP)
        S = S + 1:
        S2.Cells(S, 1).Value = TIP
        S2.Cells(S, 2).Value = LKS
        S2.Cells(S, 3).Value = T
        
        O = 0: Y1 = 0: Y2 = 0
        For K = 1 To 10
          Y1 = Y2
          Y2 = Y2 + 50
          If T > Y1 And T <= Y2 Then O = Round(T / Y2, 2): GoTo TAMAM
        Next K
TAMAM:
        S2.Cells(S, 4).Value = O
        'S2.Cells(S, 7).Value = Trim(Y1) + "-" + Trim(Y2)
     End If
Next I
'------------------------RENKLENDİRME---------------------------------
S1 = WorksheetFunction.CountA(Range("B3:B65000")) + 2
S2 = WorksheetFunction.CountA(Range("E3:E65000")) + 2
Range("E3:E" + Trim(S2)).Interior.ColorIndex = 4
For K = 3 To S2
R = Cells(K, 5).Value
   For I = 3 To S1
      X = 0
      LKS = Cells(I, 2).Value
      X = InStr(LKS, R)
      If X <> 0 Then Range("E" + Trim(K)).Interior.ColorIndex = 3
   Next
Next
End Sub
 
slm

çalışmalarını mancubus a başlangıçdan anlatsan zorluk çekmeyeceksin...
bölük börçük anlatırsan sonunu getiremezsin...

macroların yapımı içinde sabırlı ol ikidebir cevap veren yokmu diye habire yazıp durma.. ha deyince olacak şeyler değil bunlar...

aynı konu için, yarı yolda 2. bir başlıkla farklı şekilde yeniden başlama...
bidahaki sefere bunları uygulamaya çalış...

çalışma ekde...
 

Ekli dosyalar

Merhabalar,
Sayın, arkadaşlar gösterdiğiniz ilgi ve alakadan dolayı sizlere gönülden teşekkürlerimi sunuyorum. Bu yaptıklarınıza gerçekten 2 kelime teşekkür bunu anlatmaya karşılamaya yetmeyecektir.

Çalışma sayfam biraz uzun olduğundan parça parça yapılmasını ve sizleri az yormak için bu yolu denedim, görüyorum ki buda pek çözüm değil, konuda aceleci davrandığım için ne deseniz haklısınız. Ancak bu sorunu çözmem gerekli sayenizde buda küçük adımlarla oluyor. Beni anlayışla karşılamanızı umuyorum. Herkese ayrı ayrı teşekkür ederim.

Sayın hımmmm, son yaptığınız çalışma da yaptığınız formda tek bir aksaklık var. E sütuna girilen veride yeşil oluyor, tekrar sildiğimizde yeşil olarak kalıyor. Silindiğinde renksiz olmasını sağlayabilir miyiz? Diğer tüm kod çok güzel ve tam istediğim gibi.


saygıyla.
 
Geri
Üst