Mevcut makroya ilave. Diğer sayfadan veri çekme .

Katılım
22 Ekim 2012
Mesajlar
311
Excel Vers. ve Dili
Office 2016 Türkçe
Altın Üyelik Bitiş Tarihi
28-02-2023
Merhaba,

Elimdeki makro dosyasına küçük bir ilave yapmak istiyorum. ama beceremedim. Ekteki dosyada belirtilen V.TAKVİMİ sayfasından LİSTE sayfasındaki E2 hücresine yazılan ilgili ayın bilgisini LİSTE sayfasındaki D9 hücresinden başlayarak alt alta yazsın..

Formül ve resim kopyalama işlemiyle yaptım ama iyi olmadı makro ile yazılmasını rica ediyorum.

Herkese teşekkür ediyorum.
 

Ekli dosyalar

Ziynettin

Destek Ekibi
Destek Ekibi
Katılım
18 Nisan 2008
Mesajlar
1,105
Excel Vers. ve Dili
office2010
Liste sayfası kod penceresine,

Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address(0, 0) = "E2" Then
On Error Resume Next
    ay = MonthName(Target.Value)

    If Err <> 0 Then
        MsgBox "Hatalı ay girişi.", vbCritical
        Exit Sub
    End If


    With Sheets("V.Takvimi")
        Dim rg As Range, tb As Range
        Set rg = .Range("B6:T56")
        Set tb = .Range(rg.Find(ay, , xlValues, xlWhole).Address).Offset(2).Resize(10)
    End With
    
    If Not tb Is Nothing Then
        With Range("D9:K19")
            .Borders.ColorIndex = xlNone
            .ClearContents
            .Interior.ColorIndex = xlNone
        End With
        sat = 9
        For i = 1 To 10
            If tb(i, 1) <> "" Then
                s = s + 1
                Cells(sat, 4) = tb(i, 1)
                sat = sat + 1
            End If
        Next i
        If s > 0 Then
            Cells(9, 4).Resize(s, 8).Borders.Color = rgbSilver
        End If
    Else
        MsgBox "Ay bulunamadı.", vbExclamation
    End If
On Error GoTo 0
End If
End Sub
 

Necdet

Moderatör
Yönetici
Katılım
4 Haziran 2005
Mesajlar
15,372
Excel Vers. ve Dili
Ofis 365 Türkçe
Merhaba,

Kendi mantığımla dosyayı düzenledim ve kodları ona göre yazdım.
Çok çok zorunlu olmadığı sürece hücre birleştirmeye karşıyım. :)
Dolayısıyla kodlar daha sade olmakta.

Aşağıdaki kodlar Liste sayfasının kod bölümünde olmalı.

Kod:
Private Sub Worksheet_Change(ByVal Target As Range)

Dim c As Range

If Intersect(Target, [C2]) Is Nothing Then Exit Sub

With Application
    .EnableEvents = False
    .ScreenUpdating = False
End With

With Sayfa2.Cells
    Set c = .Find(Target.Value, LookIn:=xlValues)
    If Not c Is Nothing Then
        c.CurrentRegion.Offset(1).Resize(10, 1).Copy Range("D6")
    Else
        MsgBox Range("C2") & " AYINA AİT VERİ BULUNMADI...."
    End If
End With

With Application
    .EnableEvents = True
    .ScreenUpdating = True
End With

End Sub
 

Ekli dosyalar

Katılım
22 Ekim 2012
Mesajlar
311
Excel Vers. ve Dili
Office 2016 Türkçe
Altın Üyelik Bitiş Tarihi
28-02-2023
Merhaba Ziynettin Bey,
Öncelikle ilginize teşekkür ediyorum. Makro çalışıyor sadece Gelen yerin (LİSTE sayfası) hücrelerin formatını değiştirmese olur mu?
Ellerinize sağlık çok teşekkür ediyorum.

Ayrıca Necdet beye de çok teşekkür ediyorum. Kodları virüs uyarısı verdiği için henüz kontrol edemedim.

Sağlık diliyorum.
 
Katılım
22 Ekim 2012
Mesajlar
311
Excel Vers. ve Dili
Office 2016 Türkçe
Altın Üyelik Bitiş Tarihi
28-02-2023
Necdet Bey Merhaba,
Yazdığınız makro çalışıyor sorun yok. Yalnız bunu elimdeki hazır olan başka bir makroya eklemem gerekiyor. Benim için en zor o zaten. Orada maalesef birleştirilmiş hücreler var. Ayrıca ay adları değil ay sayıları girilmesi gerekir.

Teşekkür eder saygılar sunuyorum.
 

Haluk

Özel Üye
Katılım
7 Temmuz 2004
Mesajlar
12,406
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
Makrosuz bir alternatif ekli dosyadadır.....

.
 

Ekli dosyalar

Katılım
22 Ekim 2012
Mesajlar
311
Excel Vers. ve Dili
Office 2016 Türkçe
Altın Üyelik Bitiş Tarihi
28-02-2023
Haluk Bey Merhaba,

Bu şekil de de kullanabilirim. Ancak E2 Hücresinde ay ismi yerine ay sayısı olabilir mi? Birde Eylül'den sonra "veri yok" diyor.

Bendeki dosyaya kopyalayacağım için Liste sayfasında yazdığınız formüler dışında başka neyi alacağım. Lütfen acemiliğime bağışlayın.

İlginiz ve uğraşınız için çok teşekkür ediyorum.
 

Haluk

Özel Üye
Katılım
7 Temmuz 2004
Mesajlar
12,406
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
Eylül ve sonraki ayların da dahil edildiği dosya 6 No'lu mesajda...

Formülü biraz inceleyin, halledersiniz......

.
 
Katılım
22 Ekim 2012
Mesajlar
311
Excel Vers. ve Dili
Office 2016 Türkçe
Altın Üyelik Bitiş Tarihi
28-02-2023
Necdet Bey merhaba,

Yazdığınız kodları kendime göre düzenledim. Ay ile değil sayı ile olarak değiştirdim. Çünkü makro içinde BS5 değeri bir çok yerde sayı olarak tanımlanmış.

Ancak benim LİSTE sayfasında kodlara ilave edemedim hata veriyor. Çalışan dosyayı ekledim. (Kısmi olarak eklerini eklemedim) yani makro çalışıyor. Sizden ricam LİSTE sayfasına ekleyebilirmisiniz?

Saygılar,
 

Ekli dosyalar

Katılım
22 Ekim 2012
Mesajlar
311
Excel Vers. ve Dili
Office 2016 Türkçe
Altın Üyelik Bitiş Tarihi
28-02-2023
Necdet Bey merhaba,

Yazdığınız kodları kendime göre düzenledim. Ay ile değil sayı ile olarak değiştirdim. Çünkü makro içinde BS5 değeri bir çok yerde sayı olarak tanımlanmış.

Ancak benim LİSTE sayfasında kodlara ilave edemedim hata veriyor. Çalışan dosyayı ekledim. (Kısmi olarak eklerini eklemedim) yani makro çalışıyor. Sizden ricam LİSTE sayfasına ekleyebilirmisiniz?

Saygılar,
Necdet bey tekrar merhaba, müsait olduğunuzda bakabilirseniz çok memnun olurum. Saygıyla,
 
Katılım
22 Ekim 2012
Mesajlar
311
Excel Vers. ve Dili
Office 2016 Türkçe
Altın Üyelik Bitiş Tarihi
28-02-2023
Tekrar merhaba arkadaşlar, öncelikle ilginize çok teşekkür ediyorum. Burada paylaştığınız bilginin değeri çok büyük. Sayenizde binlerce kişi buradan fayda sağlıyor. Bazen de benim gibi acemiler sizi yoruyor lütfen kusura bakmayın.

İlişikte gönderdiğim dosyada, V.TAKVİMİ'nde sayfa kodu bu sayfada çalışıyor sorun yok. Benim rica ettiğim LİSTE sayfasında bulunan kodlara ilave edemedim. (Bu kodlar uzundu kısalttım ve bu haliyle de çalışıyor)

Herkese saygılar sunuyorum.
 

Ekli dosyalar

Üst