Soru Hazırda bulunan makroyu düzenleme hk.

Katılım
16 Nisan 2020
Mesajlar
19
Excel Vers. ve Dili
İngilizce
Altın Üyelik Bitiş Tarihi
31-05-2022
Merhaba,

Ekte paylaştığım exceli öncesinde ilaç tarihlerini takip etmek için kullanıyordum. Şuan denetim tarihlerini takip edebilmek için kullanmak istiyorum. Makroyu şuan ki haline göre revize etmeyi çalıştım fakat o kadar bilgiye sahip olmadığım için düzenleyemedim. Gerekli bilgileri excel içerisinde paylaştım. Yardımcı olabilir misiniz? Şimdiden çok teşekkürler:)
 

Ekli dosyalar

Necdet

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

Siz kodları bir kenara bırakın, ne yapmak istiyorsunuz onu açıklayın.
Her yiğidin yoğurt yeyişi farklı olur malum :)

İşin şakası bir kenara kodlardan ne yapılmak istediğini anlamak ve sonra onları düzenlemek daha zordur.
 
Katılım
16 Nisan 2020
Mesajlar
19
Excel Vers. ve Dili
İngilizce
Altın Üyelik Bitiş Tarihi
31-05-2022
Merhaba,

Siz kodları bir kenara bırakın, ne yapmak istiyorsunuz onu açıklayın.
Her yiğidin yoğurt yeyişi farklı olur malum :)

İşin şakası bir kenara kodlardan ne yapılmak istediğini anlamak ve sonra onları düzenlemek daha zordur.
Merhaba @Necdet bey,

Benim yapmak istediğim sayfalarda bulunan formlarda denetim tarihleri var. Ayda 1 periyot olmak üzere son 1 hafta kala anasayfada kontrol butonuna tıkladığımda bana hangi tesiste nereleri denetlememiz gerekli bunun raporunu bildirsin gibi. Açıklayıcı olmuşumdur umarım, siz böyle sorunca benimde kafam karıştı :)
 
Katılım
16 Nisan 2020
Mesajlar
19
Excel Vers. ve Dili
İngilizce
Altın Üyelik Bitiş Tarihi
31-05-2022
Merhaba,

Ben hala çözümleyemedim. Yardımcı olabilecek var mı?
 
Katılım
16 Nisan 2020
Mesajlar
19
Excel Vers. ve Dili
İngilizce
Altın Üyelik Bitiş Tarihi
31-05-2022
Merhaba,

Tarif ederseniz yapabilirim aslında, tavsiyelere açığım.
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
41,588
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Deneyiniz.

C++:
Option Explicit

Sub Denetim_Tarihi_Yaklasanlari_Aktar()
    Dim S1 As Worksheet, Sh As Worksheet, Satir As Long
    Dim Bul As Range, X As Byte, Y As Byte, Denetim_Tarihi As Date
    
    Set S1 = Sheets("ANASAYFA")
    
    S1.Range("K20:U37").ClearContents
    Satir = 20
    
    For Each Sh In ThisWorkbook.Worksheets
        If Sh.Name <> S1.Name Then
            Set Bul = Sh.Cells.Find("Denetim Tarihi")
            If Not Bul Is Nothing Then
                For X = Bul.Column + 1 To Bul.Column + 2
                    If Sh.Cells(Bul.Row, X) <> "" Then
                        Denetim_Tarihi = DateSerial(Year(Sh.Cells(Bul.Row, X)), Month(Sh.Cells(Bul.Row, X)) + 1, Day(Sh.Cells(Bul.Row, X)))
                        If (Denetim_Tarihi - Date) <= 7 Then
                            S1.Cells(Satir, "R") = Sh.Cells(Bul.Row, X)
                        
                            S1.Cells(Satir, "K") = Satir - 19
                            
                            Set Bul = Sh.Cells.Find("PLATFORM")
                            If Not Bul Is Nothing Then
                                For Y = Bul.Column + 1 To Bul.Column + 2
                                    If Sh.Cells(Bul.Row, Y) <> "" Then
                                        S1.Cells(Satir, "L") = Sh.Cells(Bul.Row, Y)
                                        Exit For
                                    End If
                                Next
                            End If
                            
                            S1.Cells(Satir, "N") = Sh.Name
                            
                            Set Bul = Sh.Cells.Find("LOKASYON")
                            If Not Bul Is Nothing Then
                                For Y = Bul.Column + 1 To Bul.Column + 2
                                    If Sh.Cells(Bul.Row, Y) <> "" Then
                                        S1.Cells(Satir, "P") = Sh.Cells(Bul.Row, Y)
                                        Exit For
                                    End If
                                Next
                            End If
                            
                            Satir = Satir + 1
                        End If
                    End If
                Next
            End If
        End If
    Next
        
    Set Bul = Nothing
    Set S1 = Nothing
    
    MsgBox "Aktarım işlemi tamamlanmıştır.", vbInformation
End Sub
 
Katılım
16 Nisan 2020
Mesajlar
19
Excel Vers. ve Dili
İngilizce
Altın Üyelik Bitiş Tarihi
31-05-2022
@Korhan Ayhan bey ilginiz için çok teşekkürler.

Denedim ama sanırım bir yerde hata var. Ekte makro kaydedilmiş halini bilgilerinize sunuyorum. Tüm formlara tarih atıyorum ama hepsini anasayfaya aktarmıyor. Birde örneğin 01.12.2021 tarihi yazsam bile anasayfaya aktarıyor. Benim anlatmaya çalıştığım şudur; Mesela Yemekhane 01.06.21' de denetlendi, bir sonraki denetim 1.07.21'de olacak. Makroyu kullandığımda 1.07.21 tarihine 7 gün kala olan birimleri anasayfaya atsın. Korhan bey ben sayfalarda tarihler tarafında U sütununa bir formül attım. O formülü doğrulayanları anasayfaya alsa olabilir mi? Ben buraya sadece sadeceleştirilmiş halini attım. 24 25 sayfaya yakın form var normalde. Yazabilirseniz ben gerisini kurcalayarak düzenleyebilirim.

Teşekkürler,
Saygılarımla,
 

Ekli dosyalar

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
41,588
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Merhaba,

Sayfalarınızda bir standart yok. Bu sebeple ortak bir kurgu yapmaya çalışmıştım. Doğal olarak asıl dosyanızda istediğiniz sonucu vermemiş olabilir.

Örnek;

YEMEKHANE sayfasnda tarih ifadesi ve tarih değeri yanyana hücrelerde bulunuyor. Fakat ÇAY OCAĞI sayfasında arada boş bir sütun var. Ben kurguyu yaparken ifadenin bulunduğu sütunun 2 yanındaki hücreye bakacak şekilde döngü kurmuştum. Diğer bahsettiğiniz sayfalarınızda durum farklı ise sonuç alamamış olabilirsiniz.

Denetim periyodu aylık olarak yapılıyor sanırım. Benim önerdiğim kod gün farkına bakmadan aktarım yapıyor. Ben şu şekilde düşündüm. Tüm veriyi ana sayfaya aktardıktan sonra boş bir sütuna formül kurgulayıp denetimi yaklaşanları bu sütunu kullanarak tespit edebilirsiniz.

Üstte ki mesajımda ki koda 1 aylık periyoda göre "<7 gün" kalanları aktaracak şekilde revize ettim.
 
Üst