• DİKKAT

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

yaklaşan tarihleri sıralama

Katılım
27 Ocak 2011
Mesajlar
37
Excel Vers. ve Dili
office 2003 türkçe
farklı sayfalarda aynı tablolar mevcut bu tablodaki değişim tarihi yaklaşan yani değişmesine veya servisten çıkmasına 60 gün kalan malzemeleri yeni bir sayfada alt alta sıralamamız mümkün mü _?_

örnek dosya ektedir
 

Ekli dosyalar

Son düzenleme:
Merhaba,

Sorunuz anlaşılmıyor. Örnek tablo üzerinde olmasını istediğiniz değerleri manuel girerek detaylı açıklama yaparmısınız.

.
 
Merhaba,

Sorunuz anlaşılmıyor. Örnek tablo üzerinde olmasını istediğiniz değerleri manuel girerek detaylı açıklama yaparmısınız.

.

dosyada hafif değişiklik yaptım excel deki sayfa numaralarını araç plaka isimleri olarak değiştirdim her sayfa bir araç için
istediğim şu
8530 sayfasındaki fren diskinin servisten çıkış tarihi yaklaşmış
8532 sayfasındaki fren diskinin servisten çıkış tarihi yaklaşmış
............
.......
bunun gibi fren diski için ayrı bir sayfa oluşturdum servisten çıkma tarihine 60 gün kalanlar bu sayfada yer alsın eğer yoksa liste boş olsun

ama düzenlemeyi diğer parçalar içinde ve periyodik bakımlar içinde yapmam gerekiyor onlar içinde sayfa oluşturdum... açıklamaya çalıştım inşallah başarılı olmuşumdur
 

Ekli dosyalar

Arkadaşlar ne istediğimi mi anlatamadım yoksa çözümü mü yok _?_
 
Selam,
dosyanızı 2003 formatında (*.xls) günceleyebilir misiniz?

tabloda formüller vardı şuan çalışırmı bilmiyorum imal tarihi ser.gir tarihini giriyorum ser çık tarihi kendi veriyor. ser. çık tarihi 45 fün kala sarı 15 gün kala turuncu geçtiyse kırmızı oluyor. benim istediğim ser.çık. tarihi yaklaştığında 45 gün kala mesela, bakım tarihi yaklaştığında 60 gün kala yeni bir sayfada sıralanması. sayfa isimlerini 8530 8532 felan hepsi bi araç bunların hepsinin tarihi yaklaşanları bir sayfada görmek istiyorum...
 

Ekli dosyalar

Bu işelmleri formülle mi yoksa makroyla mı istiyorsunuz ?
 
Bu işelmleri formülle mi yoksa makroyla mı istiyorsunuz ?

excele yeni başladım o yüzden makro nedir bilmiyorum bildiğim bir kaç formül var makro oluyorsa onuda öğrenmeye çalışırım... ama önce formülleri öğrenirsem daha iyi olur galiba. ama bir uzman olarak sizin fikirlerinizde önemli...
 
Bu işlem için makro kullanmanız en doğrusu. Formülle iş haddinden fazla uzar ve dosya çalışamıyacak kadar ağırlaşır.

Eğer daha önce makrolarla çalışmadıysanız aşağıdaki işlemler sırası ile uygulayınız.

Önce boş bir excel sayfası açarak makro ayarlarını düşürmeniz gerekir. Bu işlemi kullandığınız bilgisayarda bir kere uygulamanız yeterlidir.

2003 için;

Araçlar / Makro / Güvenlik menüsünden "Düşük" seçeneğini işaretleyin ve tamam butonu ile işlemi bitirerek dosyayı kapatın.

2007 için;

Microsoft Office Düğmesi'ni tıklayın ve sonra da Excel Seçenekleri'ni tıklatın. Güven Merkezi kategorisinde Güven Merkezi Ayarları'nı tıklatın ve sonra da Makro Ayarları kategorisini tıklatın. Buradan "Düşük" seçeneğini seçerek tamam butonu ile işlemi bitirin ve dosyayı kapatın.

Bu işlemlerden sonra ekteki dosyayı açarak gözlemleyin.

* Eğer kullandığınız versiyon 2007 ise bunların dışında kullanacağınız yani ekteki dosyayı şu şekilde kaydetmeniz gerekir. ( Kullanılan dosyayı bir kereye mahsus );

Microsoft Office Düğmesi'ni tıklayın Farklı Kaydet seçeneklerinden "Excel Makro Etkin Çalışma Kitabı" seçeneğini seçerek kaydetmelisiniz.

Kullanılan kodlar. ( Alt + F11 ile Module1 de kodları görebilirsiniz. )

Kod:
Sub UygunSayfayaAktar()
 
Dim syf As Integer, i As Long, sayfa As Variant, son As Long
 
Application.ScreenUpdating = False
On Error Resume Next
 
For syf = 1 To Sheets.Count
    With Sheets(syf)
        If IsNumeric(CDbl(.Name)) = False Then
            .Range("B4:J" & Rows.Count).Clear
        End If
    End With
Next syf
 
For syf = 1 To Sheets.Count
    With Sheets(syf)
        If IsNumeric(CDbl(.Name)) = True Then
            For i = 7 To .Cells(Rows.Count, "A").End(xlUp).Row
                sayfa = Trim(.Cells(i, "A"))
                son = Sheets(sayfa).Cells(Rows.Count, "C").End(xlUp).Row + 1
                If Date - 60 <= .Cells(i, "G") Then
                    .Range("A" & i & ":H" & i).Copy
                    Sheets(sayfa).Cells(son, "C").PasteSpecial _
                    Paste:=xlPasteValues, Operation:=xlNone, Transpose:=False
                    Sheets(sayfa).Cells(son, "B") = .Name
                End If
            Next i
        End If
        .Cells.EntireColumn.AutoFit
        .Cells.HorizontalAlignment = xlCenter
        .Columns("G:I").NumberFormat = "m/d/yyyy"
    End With
Next syf
 
Application.CutCopyMode = False
Application.ScreenUpdating = True
 
End Sub

.
 

Ekli dosyalar

ömer bey teşekkürler bu konuyu biraz öğrenip kendimi geliştiriyim sonrasında programı geliştirip size tekrar yazarım

ben sizin yzdığınız makroda hafif değişiklik yaptım oda şu şekilde
sizinkinde
If Date - 60 <= bu şekilde sadece listedekinin hepsini sıralıyor sadece bakım tarihi 60 gün önce geçenleri sıralamıyordu

ben ise
If Date + 60 >= buna çevirdim bakıma 60 günden az veya 60 gün kalanları o sayfaya yazıyor

ayrıca ben bu kodu başka bi excell sayfasında nasıl çalıştırabilirim... bu arada makroları okumaya başladım...
 
ayrıca ben bu kodu başka bi excell sayfasında nasıl çalıştırabilirim... bu arada makroları okumaya başladım...

Koddaki aralıkları, sayfa tanımlamalarını, sütun - satır tanımlamalarını vs..anlamlarını öğrenmeniz gerekir.

.
 
Geri
Üst