• DİKKAT

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

Hücre ve font rengine göre düşeyara ile veri çekme

Katılım
27 Ocak 2012
Mesajlar
78
Excel Vers. ve Dili
2016 Türkçe
Hücre ve font rengine göre veri çekme

Merhaba arkadaşlar;
düşeyara formülü ile sayfalar arası yada dosyalar arası veri çektiğimizde sadece verinin içeriğini çekmektedir. Ancak ben çekilen verinin aynen diğer tarafa geçmesini istiyorum. Örnek olarak, sayfa1 B1 hücresindeki gri dolgulu ve kırmızı fontlu olan veriyi sayfa2 deki B1 hücresine çektiğimde yine gri dolgu ve kırmızı font olarak geçmesi mümkün müdür?
yardımlarınız için şimdiden teşekkür ederim.
örnek dosya ektedir.
Saygılarımla.
 

Ekli dosyalar

Son düzenleme:
Merhaba,

Bu işlemi fonksiyonlarla yapamazsınız. Makro kullanmanız gerekir.

Sayfa2 nin kod bölümüne kopyalayın. A1 hücresine değer girdiğinizde B1 hücresine istediğiniz şekilde değerler gelir.

Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
 
    Dim c As Range
 
    If Intersect(Target, Range("A1")) Is Nothing Then Exit Sub
 
    Target.Offset(0, 1).Clear
 
    With Sheets("Sayfa1")
        Set c = .[A:A].Find(Target, , xlValues, xlWhole)
        If Not c Is Nothing Then
            .Cells(c.Row, "B").Copy Target.Offset(0, 1)
        End If
    End With
 
End Sub

.
 
cevabınız için teşekkür ederim,
dediğiniz gibi kod bölmesine ekledim ama nedense devamını getiremedim, örnek dosyada gösterebilir misiniz?
 
Dosyanız ektedir.

.
 

Ekli dosyalar

Dosyanız ektedir.

.

Ömer bey,
ben bu örneğe bakarak kendi çalışmamı yapacaktım ama kodu istediğim hücrelere yansıtmada kullanamadım. ekte açıklamaları ile birlikte gönderdiğim örnekteki gibi bir kod lazım bana. yardımcı olabilir misiniz, ya da başka yardımcı olabilecek birisi var mıdır?
 

Ekli dosyalar

Sorunuz net değil. D sütununda sonrası için ne işlem yapılacağını anlayamadım.

Bu şekilde deneyin. B: D arasını alır.

Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
 
    Dim c As Range
 
    If Intersect(Target, Range("A1")) Is Nothing Then Exit Sub
 
    Target.Offset(0, 1).Clear
 
    With Sheets("Sayfa1")
        Set c = .[A:A].Find(Target, , xlValues, xlWhole)
        If Not c Is Nothing Then
            .Cells(c.Row, "B")[COLOR=red].Resize(1, 3)[/COLOR].Copy Target.Offset(0, 1)
        End If
    End With
 
End Sub

.
 
Sorunuz net değil. D sütununda sonrası için ne işlem yapılacağını anlayamadım.

Bu şekilde deneyin. B: D arasını alır.

Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
 
    Dim c As Range
 
    If Intersect(Target, Range("A1")) Is Nothing Then Exit Sub
 
    Target.Offset(0, 1).Clear
 
    With Sheets("Sayfa1")
        Set c = .[A:A].Find(Target, , xlValues, xlWhole)
        If Not c Is Nothing Then
            .Cells(c.Row, "B")[COLOR=red].Resize(1, 3)[/COLOR].Copy Target.Offset(0, 1)
        End If
    End With
 
End Sub

.

Örnekte sayfa 1 de her ismin önünde K1, K2, veya O17, O18, diye devam eden kodlar bulunmaktadır. İsmin sonrasında ise iki farklı hücre (K harfi ve devamında da 7 rakamı yazan hücreler) bulunmaktadır.

Sayfa 1 deki tüm isimlerin (farklı sütunlarda olabilecek) önündeki kodları sayfa 2 de bir yere yazınca, kod sonrası isim ve isimden sonra gelen beraberindeki iki hücrede yazanlar otomatik olarak görünmesini istiyorum.
 
1-Yani sayfa2 de sadece A1 hücresini kullanmayacaksınız, tüm hücrelerde aynı işlem geçerli olacak, doğru mu?

2-Örnek olarak K1 değeri sayfa1 de A1,F6,K11 vs.. hücrelerinde birden fazla yerde var. Bu durumda ne olacak.

Zaman kaybını önlemen için sorularınızı daha açık ve net sormanızı rica ederim.

.
 
1-Yani sayfa2 de sadece A1 hücresine kullanmayacaksınız, doğru mu?

2-Örnek olarak K1 değeri sayfa1 de A1,F6,K11 vs.. hücrelerinde birden fazla yerde var. Bu durumda ne olacak.

Zaman kaybını önlemen için sorularınızı daha açık ve net sormanızı rica ederim.

.

1- sayfa 2 de dediğiniz gibi sadece A1 hücresi değil, komple A sütunu+ F sütunu + K sütunu gibi birden çok hücreyi kullanacağım.
2- örnekteki K1 değerini ben sayfa 2 de A sütununda ve F sütununda (sütunları artırabiliriz) istediğim yere yazınca bana K1 değerinin yanındaki isim ve devamındaki hücreleri yansıtsın.

Not: sadece K1 değeri değil, sayfa1 deki görünen tüm değerleri sayfa 2 ye yazınca yanındakileri yansıtması lazım.
 
Bu şekilde deneyin.

Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
 
    Dim c As Range
 
    Application.EnableEvents = False
    Target.Offset(0, 1).Resize(1, 3).Clear
 
    With Sheets("Sayfa1")
        If Target <> "" Then
            Set c = .Cells.Find(Target, , xlValues, xlWhole)
            If Not c Is Nothing Then
               .Cells(c.Row, c.Column + 1).Resize(1, 3).Copy Target.Offset(0, 1)
            End If
        End If
    End With
 
    Application.EnableEvents = True
 
End Sub

.
 
Bu şekilde deneyin.

Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
 
    Dim c As Range
 
    Application.EnableEvents = False
    Target.Offset(0, 1).Resize(1, 3).Clear
 
    With Sheets("Sayfa1")
        If Target <> "" Then
            Set c = .Cells.Find(Target, , xlValues, xlWhole)
            If Not c Is Nothing Then
               .Cells(c.Row, c.Column + 1).Resize(1, 3).Copy Target.Offset(0, 1)
            End If
        End If
    End With
 
    Application.EnableEvents = True
 
End Sub

.

tam da istediğim buydu, emekleriniz için çok teşekkür ederim.
İyi akşamlar.
 
Bu şekilde deneyin.

Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
 
    Dim c As Range
 
    Application.EnableEvents = False
    Target.Offset(0, 1).Resize(1, 3).Clear
 
    With Sheets("Sayfa1")
        If Target <> "" Then
            Set c = .Cells.Find(Target, , xlValues, xlWhole)
            If Not c Is Nothing Then
               .Cells(c.Row, c.Column + 1).Resize(1, 3).Copy Target.Offset(0, 1)
            End If
        End If
    End With
 
    Application.EnableEvents = True
 
End Sub

.

Ömer bey, verdiğiniz bu formül sayesinde isimlere ait kodu yazınca istediğim veriyi aynen çekiyor.
Ekte gönderdiğim dosyada ise "ŞABLON" sayfasında A1,A2,B1,B2... şeklinde 4 lü isimlerin yazıldığı bölgeler var,
-Bu bölgelere el ile isimlerin kodunu yazınca aynen yansıyor, ancak ben aynı sayfanın sağ üst köşesinde bulunan tarihi değiştirdikçe bölgelerdeki kodlar da değişerek personelin günlük olarak yerini değiştirmesi gerekiyor ama düşeyara burda işe yaramadı.
-"Sıralama" sayfasında ben tarihe göre bölgelerin kodlarını yazdım. "Şablon" listesinden tarihi değiştirince kodlarda değişmeli,
-amacım 4 lü gruplar halindeki isimlerin günlük olarak bölgelerini değiştirmek..

bunun ile ilgili yardımcı olabilir misiniz..
 

Ekli dosyalar

Ömer bey, verdiğiniz bu formül sayesinde isimlere ait kodu yazınca istediğim veriyi aynen çekiyor.
Ekte gönderdiğim dosyada ise "ŞABLON" sayfasında A1,A2,B1,B2... şeklinde 4 lü isimlerin yazıldığı bölgeler var,
-Bu bölgelere el ile isimlerin kodunu yazınca aynen yansıyor, ancak ben aynı sayfanın sağ üst köşesinde bulunan tarihi değiştirdikçe bölgelerdeki kodlar da değişerek personelin günlük olarak yerini değiştirmesi gerekiyor ama düşeyara burda işe yaramadı.
-"Sıralama" sayfasında ben tarihe göre bölgelerin kodlarını yazdım. "Şablon" listesinden tarihi değiştirince kodlarda değişmeli,
-amacım 4 lü gruplar halindeki isimlerin günlük olarak bölgelerini değiştirmek..

bunun ile ilgili yardımcı olabilir misiniz..

Dosyanın son hali ektedir.
 

Ekli dosyalar

Merhaba
İstediğinizi biraz daha detaylı anlatır mısınız. Örnek vererek pek fazla anlayamadım.
 
Merhaba
İstediğinizi biraz daha detaylı anlatır mısınız. Örnek vererek pek fazla anlayamadım.

1- Ekteki listede "TÜM GRUP KODLARI" sayfasında görünen 4' lü ekipler var ve ben bu ekipteki isimlerin önüne K1, K2, Z1, Z2 şeklinde kodlar verdim.

2- "SIRALAMA" sayfasında ise bu isimlere ait sadece kodlar bulunmakta ve hangi tarihte hangi bölgede olması gerektiği ile ilgili sıralama yapılmıştır.

3- "ŞABLON" sayfasında ise sağ üst köşede bulunan tarihi değiştirdiğimde, ekiplerin isimleri tarihe göre belirttiğim yerde görünmesini istiyorum.

Ancak bu formülü düşeyara ile yaptığımda, ekiplerin sadece isimleri istediğim yere geliyor, ben ekiplerin bulunduğu hücrenin aynen yansımasını yani font ve dolgu rengi neyse birlikte yansımasını istiyorum.

Örnek olarak "ŞABLON" sayfasına herhangi bir yere ayrı ayrı K1, K3 gibi kod yazarsanız otomatik olarak isimlerin hücre dolgu rengi ve font rengi ile birlikte geldiğini göreceksiniz, bunu sadece tarihe bağlamak kaldı ama maalesef onu bağlayamadım..
 
Merhaba
Sizin bu istediğiniz bana garip geldi biraz. Sebebi ise siz zaten şablonu oluşturmuşsunuz istediğiniz yere kod yazıyorsunuz oda hemen yan tarafına bilgileri getiriyor. Tarih kıstası olduğunda yazdığınız yerde olmaz ki o başka bir yerde çıkartır o bilgileri buda sizin istediğiniz ile çelişiyor.
 
Merhaba;
Peki bu tarihe göre değişmesini istediğim verileri başka nasıl halledebiliriz, farklı bir yöntemi var mıdır?

Örnek dosya bir nöbet listesidir ve günlük olarak 4' lü ekipler yer değiştirecek, amaç bu..
 
Geri
Üst