• DİKKAT

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

Düşey ara ile hücre renginide getirme

Katılım
18 Aralık 2009
Mesajlar
25
Excel Vers. ve Dili
xml
MErhaba forumda arasdirma yapdim istedigim konu hakkinda bilgi paylasilmiş fakat benim istedigim şekilde değil acaba

ekli dosyada sayfa 1 de ürün kodlari ve karsiliginda fiyatlari var ve bu fiyatlarin hücreleri renkli acaba

baska bir sayfadan bunlari düşeyara ile çekmeye kalkdigimda sadece veriyi getiriyor acaba nasil hücre rengi ile birlikte getirebilirim
 

Ekli dosyalar

MErhaba forumda arasdirma yapdim istedigim konu hakkinda bilgi paylasilmiş fakat benim istedigim şekilde değil acaba

ekli dosyada sayfa 1 de ürün kodlari ve karsiliginda fiyatlari var ve bu fiyatlarin hücreleri renkli acaba

baska bir sayfadan bunlari düşeyara ile çekmeye kalkdigimda sadece veriyi getiriyor acaba nasil hücre rengi ile birlikte getirebilirim

A sütununda "Yok" yazanların C ve D sütunlarında Kırmızı Renkli olmasını istiyorsanız;
Koşullu Biçimlendirmeyi deneyebilirsiniz.
 
Formülle, başka sayfadaki hücre biçiminin getirilmesi mümkün değil diye biliyorum.
Makro ile yapılabilir, sitede bir kaç örnek hatırlıyorum.
Sitede arama yapmanız yerinde olur sanırım.
Kaynak sayfanızda renge ilişkin bilgi başka bir hücrede yazılıysa istediğinizin formülle yapılması mümkün olabilir.
 
sitedeki aramalara baktim fakat bana uyanini bulamadim hücre rengini çekmiyor.

koşullu biçimlenrime hic bir isime yaramaz baska bir sayfadan fiyatlari çekmek istiyorum

yada soyle birseyde isime yarayabilir

eger A1 hücresinde var yaziyorsa C1 hücresindeki rakamida alarak Sayfa 2 de herhangibir stunadaki hücreyi yeşil renge boyayarak C1 deki fiyati yaz

gibi
 
Anlattığınız biraz karışık ama şunu söyleyeyim.
Koşullu biçim uygulanacak hücrenin bulunduğu sayfada (anlaşılan Sayfa2),
verinin gideceği hücre boş iken formül sonucunda Sayfa1'deki değeri aldığında boyanacaksa;
Sayfa2'deki o hücrenin koşullu biçimlendirmesinde "Hücre Değeri<>"" gibi bir koşulla YEŞİL rengi ayarlayabilirsiniz.
 
Aşağıdaki kodları deneyiniz.
Düşeyara ile renk getirmek istediğiniz alanı seçtikten sonra kodları çalıştırınız.
Kod:
Sub DüşeyaraRenklendir()
For Each hücre In Selection
    If Left(hücre.Formula, 8) = "=VLOOKUP" Then
        değer = Split(Split(hücre.Formula, "(")(1), ",")(0)
        aralık = Split(Split(hücre.Formula, "(")(1), ",")(1)
        sütun = Split(Split(hücre.Formula, "(")(1), ",")(2)
    
        On Error GoTo hata:
        hücre.Interior.Color = Range(aralık).Find(Range(değer)).Offset(0, sütun - 1).Interior.Color
    End If
sonraki:
Next
Exit Sub
hata:
değer = Replace(değer, """", "")
hücre.Interior.Color = Range(aralık).Find(değer).Offset(0, sütun - 1).Interior.Color
GoTo sonraki
End Sub

Kodların çalışabilmesi için formül yapınızın aşağıdaki şekilde olması gerekir.
Kod:
=DÜŞEYARA(B8;B2:D24;2;0)
 
teşekkürler

Aşağıdaki kodları deneyiniz.
Düşeyara ile renk getirmek istediğiniz alanı seçtikten sonra kodları çalıştırınız.
Kod:
Sub DüşeyaraRenklendir()
For Each hücre In Selection
    If Left(hücre.Formula, 8) = "=VLOOKUP" Then
        değer = Split(Split(hücre.Formula, "(")(1), ",")(0)
        aralık = Split(Split(hücre.Formula, "(")(1), ",")(1)
        sütun = Split(Split(hücre.Formula, "(")(1), ",")(2)
    
        On Error GoTo hata:
        hücre.Interior.Color = Range(aralık).Find(Range(değer)).Offset(0, sütun - 1).Interior.Color
    End If
sonraki:
Next
Exit Sub
hata:
değer = Replace(değer, """", "")
hücre.Interior.Color = Range(aralık).Find(değer).Offset(0, sütun - 1).Interior.Color
GoTo sonraki
End Sub

Kodların çalışabilmesi için formül yapınızın aşağıdaki şekilde olması gerekir.
Kod:
=DÜŞEYARA(B8;B2:D24;2;0)
 
paylaşım için teşekkürler.
Fakat aynı işlemi indis formulü içinde yapabiliyor muyuz
Eğer yapabiliyorsak yaklaşık 1 aydır arama yapıyorum belki benimde sorunuma çözüm olabilir.
 
paylaşım için teşekkürler.
Fakat aynı işlemi indis formulü içinde yapabiliyor muyuz
Eğer yapabiliyorsak yaklaşık 1 aydır arama yapıyorum belki benimde sorunuma çözüm olabilir.
VBA'da İndis ve düşeyaraya gerek yok.VBA'da Find komutu ne güne duruyor.:cool:
 
aslında benim durumum biraz daha farklı indis formülü ile veri tablosundan değer alıyorum
veri tablosunda hücre rengi kullanıyorum
indis formülü ile çektiğim değerlerde hücre rengine göre satırda toplama işlemi yaptırmayı planlıyorum forumda uzun süre aradım fakat işlemin toplama kısmını oluşturabiliyorum
ama veri tablosundan rengi alamıyorum
 
aslında benim durumum biraz daha farklı indis formülü ile veri tablosundan değer alıyorum
veri tablosunda hücre rengi kullanıyorum
indis formülü ile çektiğim değerlerde hücre rengine göre satırda toplama işlemi yaptırmayı planlıyorum forumda uzun süre aradım fakat işlemin toplama kısmını oluşturabiliyorum
ama veri tablosundan rengi alamıyorum
Formüllerle sadece koşullu biçimlendirmede renklendirme yapabilirsiniz.
VBA'da uygun yazılan kodlarla renklendirme yapılabilir.Veri alınıp verilebilir.
Siz yeni bir başlık açın ve ne istediğinizi yazın ve örnek dosyanzı ekleyin.
Altın üye değilseniz dosyanıza link verebilirsiniz.:cool:
 
Sayın Mucit77,
Örneğim ekte, dediklerinizi yaptım ama renk gelmedi.
Nerede hata yaptım acaba? Yardımcı olur musunuz lütfen?
Saygılarımla
 

Ekli dosyalar

Kod calisiyor..Ben denedim. Once mouse ile dusey arauyguladiginiz alani secip daha sonra kodu calistirmalisiniz...
 
Teşekkür ederim Sayın darkvanue,
bilmiyordum.
İyi çalışmalar
 
merhaba ben bunu yazıyorum ama rankler alanlar başka bir sayfada

bende =DÜŞEYARA(BS49;'mail telefon listesi'!C2:D143;2;0) yaptığım zaman calışmıyor


Aşağıdaki kodları deneyiniz.
Düşeyara ile renk getirmek istediğiniz alanı seçtikten sonra kodları çalıştırınız.
Kod:
Sub DüşeyaraRenklendir()
For Each hücre In Selection
    If Left(hücre.Formula, 8) = "=VLOOKUP" Then
        değer = Split(Split(hücre.Formula, "(")(1), ",")(0)
        aralık = Split(Split(hücre.Formula, "(")(1), ",")(1)
        sütun = Split(Split(hücre.Formula, "(")(1), ",")(2)
    
        On Error GoTo hata:
        hücre.Interior.Color = Range(aralık).Find(Range(değer)).Offset(0, sütun - 1).Interior.Color
    End If
sonraki:
Next
Exit Sub
hata:
değer = Replace(değer, """", "")
hücre.Interior.Color = Range(aralık).Find(değer).Offset(0, sütun - 1).Interior.Color
GoTo sonraki
End Sub

Kodların çalışabilmesi için formül yapınızın aşağıdaki şekilde olması gerekir.
Kod:
=DÜŞEYARA(B8;B2:D24;2;0)
 
Yukarıdaki kodu boş bir modüle kopyalayınız.
Daha sonra
Kod:
=DÜŞEYARA(BS49;'mail telefon listesi'!C2:D143;2;0)
şeklinde formül içeren hücreyi seçiniz. Bu hücre(ler) seçili iken makro kodunu çalıştırınız. Uygun sonuç almanız gerekiyor. Ancak renklendirmeyi koşullu biçimlendirme ile yaptıysanız koşullu biçimin rengi gelmeyecektir.
 
malesef değiniz gibi demiştim ama isteğiniz için birdaha denedim

dedğiniz gibi denedim ama malesef olmadı makroda acaba ikinci sayfa olması için ayarlarda sayfa hücre araası veya buna benzer bişeyleri değiştirmem gerkiyor sanrım aynı sayfada denediğimde oluyor makroyu calıştırdığımda hata vermiyor ama başka sayfada olduğunda calıştırdığımda hata vermekte ektte bazı bölümleri kaldırak bir örnek verdim ama bir calıştıramadım oturma planı alanındaki renkleri ben koydum ele am basv! görüken alanların diğer sayfadan alması gerekiyordu M400 alanında diğer türlü yazdım burekleri bendeğilde makronun kendisinin getirmesini istiyordum


Yukarıdaki kodu boş bir modüle kopyalayınız.
Daha sonra
Kod:
=DÜŞEYARA(BS49;'mail telefon listesi'!C2:D143;2;0)
şeklinde formül içeren hücreyi seçiniz. Bu hücre(ler) seçili iken makro kodunu çalıştırınız. Uygun sonuç almanız gerekiyor. Ancak renklendirmeyi koşullu biçimlendirme ile yaptıysanız koşullu biçimin rengi gelmeyecektir.
 

Ekli dosyalar

Öncelikle bu makro kodu ile DÜŞEYARA ile bir değer getiridiğinde getirilen o değerin bulunduğu hücre renginin de getirilmesi amacıyla hazırlanmıştır. Aranan değerin veya bulunan değerin iki yanındaki değerin vs. renginin getirilmeye çalışılması durumunda veya DÜŞEYARAnın hata vermesi durumlarında kod doğru şekilde çalışmayacaktır.
Sizin dosyanıza gelirsek...
1. Formüllerinizde ad tanımlaması kullandığınız için makro doğru şekilde çalışmayacaktır.
2. Ad tanımlaması kullanmazsanız bile bu şekilde hatalı çalışacaktır. Çünkü; kodları sayfanın kod bölümüne kopyalamışsınız. Yukarıda da belirttiğim gibi kodları boş bir modüle kopyalayınız.

Bunun yanısıra buradaki kod sizin dosyanızla uyumlu olmayabilir, sizin yapmak istediklerinizi karşılamayabilir. Bu sebeple sorunun devam etmesi halinde bu konu üzerinden gitmek yerine yeni bir konu açıp ne yapmak istediğinizi detaylı bir şekilde anlatıp örnek dosyanız ile desteklerseniz daha net ve daha doğru cevaplar alırsınız.
İyi çalışmalar...
 
Aşağıdaki kodları deneyiniz.
Düşeyara ile renk getirmek istediğiniz alanı seçtikten sonra kodları çalıştırınız.
Kod:
Sub DüşeyaraRenklendir()
For Each hücre In Selection
    If Left(hücre.Formula, 8) = "=VLOOKUP" Then
        değer = Split(Split(hücre.Formula, "(")(1), ",")(0)
        aralık = Split(Split(hücre.Formula, "(")(1), ",")(1)
        sütun = Split(Split(hücre.Formula, "(")(1), ",")(2)
   
        On Error GoTo hata:
        hücre.Interior.Color = Range(aralık).Find(Range(değer)).Offset(0, sütun - 1).Interior.Color
    End If
sonraki:
Next
Exit Sub
hata:
değer = Replace(değer, """", "")
hücre.Interior.Color = Range(aralık).Find(değer).Offset(0, sütun - 1).Interior.Color
GoTo sonraki
End Sub

Kodların çalışabilmesi için formül yapınızın aşağıdaki şekilde olması gerekir.
Kod:
=DÜŞEYARA(B8;B2:D24;2;0)

Merhaba Hocam, verdiğiniz vba kod ile hücre rengini değilde yazı rengini nasıl getirebilirm ?

Teşekkür ederim.
 
Geri
Üst