Düşey ara ile hücre renginide getirme

aLone__Life

Altın Üye
Katılım
18 Aralık 2009
Mesajlar
25
Excel Vers. ve Dili
xml
Altın Üyelik Bitiş Tarihi
25-03-2025
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

turist

Destek Ekibi
Destek Ekibi
Katılım
18 Kasım 2009
Mesajlar
5,102
Excel Vers. ve Dili
2013 64Bit
English
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.
 

Ömer BARAN

Uzman
Katılım
8 Mart 2011
Mesajlar
12,997
Excel Vers. ve Dili
Office 2013 ( 32 bit ) TÜRKÇE
Altın Üyelik Bitiş Tarihi
(18.03.2020) - Uzman olduğu için tarih geçersiz oldu.
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.
 

aLone__Life

Altın Üye
Katılım
18 Aralık 2009
Mesajlar
25
Excel Vers. ve Dili
xml
Altın Üyelik Bitiş Tarihi
25-03-2025
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
 

Ömer BARAN

Uzman
Katılım
8 Mart 2011
Mesajlar
12,997
Excel Vers. ve Dili
Office 2013 ( 32 bit ) TÜRKÇE
Altın Üyelik Bitiş Tarihi
(18.03.2020) - Uzman olduğu için tarih geçersiz oldu.
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.
 

ÖmerBey

Destek Ekibi
Destek Ekibi
Katılım
22 Ekim 2012
Mesajlar
4,334
Excel Vers. ve Dili
2007 Türkçe
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)
 

aLone__Life

Altın Üye
Katılım
18 Aralık 2009
Mesajlar
25
Excel Vers. ve Dili
xml
Altın Üyelik Bitiş Tarihi
25-03-2025
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)
 
Katılım
17 Aralık 2010
Mesajlar
20
Excel Vers. ve Dili
MS EXCEL 2007 TR
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.
 

Orion1

Uzman
Uzman
Katılım
1 Mart 2005
Mesajlar
22,254
Excel Vers. ve Dili
Win7 Home Basic TR 64 Bit

Ofis-2010-TR 32 Bit
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:
 
Katılım
17 Aralık 2010
Mesajlar
20
Excel Vers. ve Dili
MS EXCEL 2007 TR
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
 

Orion1

Uzman
Uzman
Katılım
1 Mart 2005
Mesajlar
22,254
Excel Vers. ve Dili
Win7 Home Basic TR 64 Bit

Ofis-2010-TR 32 Bit
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:
 
Katılım
17 Aralık 2010
Mesajlar
20
Excel Vers. ve Dili
MS EXCEL 2007 TR
örnek dosya ile yeni bir başlık açıyorum teşekkürler
 

Tevfik_Kursun

Altın Üye
Katılım
30 Temmuz 2012
Mesajlar
3,791
Excel Vers. ve Dili
Office 2016 Pro - Türkçe 64 Bit
Altın Üyelik Bitiş Tarihi
12-02-2029
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

Katılım
27 Mayıs 2006
Mesajlar
191
Excel Vers. ve Dili
2010
Altın Üyelik Bitiş Tarihi
27-05-2024
Kod calisiyor..Ben denedim. Once mouse ile dusey arauyguladiginiz alani secip daha sonra kodu calistirmalisiniz...
 

Tevfik_Kursun

Altın Üye
Katılım
30 Temmuz 2012
Mesajlar
3,791
Excel Vers. ve Dili
Office 2016 Pro - Türkçe 64 Bit
Altın Üyelik Bitiş Tarihi
12-02-2029
Teşekkür ederim Sayın darkvanue,
bilmiyordum.
İyi çalışmalar
 
Katılım
7 Mayıs 2014
Mesajlar
9
Excel Vers. ve Dili
türkce 13
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)
 

ÖmerBey

Destek Ekibi
Destek Ekibi
Katılım
22 Ekim 2012
Mesajlar
4,334
Excel Vers. ve Dili
2007 Türkçe
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.
 
Katılım
7 Mayıs 2014
Mesajlar
9
Excel Vers. ve Dili
türkce 13
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

ÖmerBey

Destek Ekibi
Destek Ekibi
Katılım
22 Ekim 2012
Mesajlar
4,334
Excel Vers. ve Dili
2007 Türkçe
Ö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...
 

Mehmet Sait

Altın Üye
Katılım
19 Ekim 2009
Mesajlar
834
Excel Vers. ve Dili
Office 2016 TR
Altın Üyelik Bitiş Tarihi
08-09-2028
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.
 
Üst