• DİKKAT

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

Rapor Hazırlamak

Katılım
30 Mayıs 2009
Mesajlar
46
Excel Vers. ve Dili
2003 türkçe
Selamlar.Benim "günlük" ve "aylık" yaptığım bir raporum var.Ekteki dosyada ne yapmak istediğimi açıkladım.İnşallah fazla karmaşık değildir ve anlaşılır.elimden geldiğince açıklamaya çalıştım.
İnceleyen ustalarım eğer bu şekilde bir uygulama yapılamıyorsa olumlu - olumsuz bana bir cevap yazın bende umudumu kesiyim.Eski sistemimle elle giriş yapmaya devam ediyim.Bu konu ile ilgili çok denemeler yaptım ama bir türlü beceremedim.
Saygılar.
 
Selamlar.Sanırım bu konuda yardım edecek kimse yok.Ne olumlu ne de olumsuz cevap yazan olmamış.
Formda arama yaptım bu konuda epey yazılmış mesajlar var.Fakat kendi istediğim konu ile ilgili bir konu bulamadım.Belki vardır ama ben bulamadım.
Ustalarımdan rica etsem de bu konu ile ilgili "Tarihe göre başka sayfaya veri aktarma" konusunda-özellikle kapalı dosyalara- bilgilendirici bir konu açabilirler mi?Kodların ne anlama geldiğini ve nerede nasıl kullanabileceğimiz şeklinde.Çünkü kodları ekleyen ustalarımız anlamlarını ve nerede nasıl kullanacaklarını biliyorlar ben ve benim gibi acemiler ise bu kodları kendi çalışmalarına entegre ederken bocalayıp kalıyorlar. En azından okuyup kendim ve bu konu ile ilgili sıkıntısı olan arkadaşlar faydalanırlar.
Teşekkürler.
 
Merhabalar,

Aşağıdaki kodu, "müdüriyet" çalışma kitabına yerleştirin. (İster standart bir modüle, isterseniz Thisworkbook modülündeki kapanış modülüne...)

Bu kodda, tarihe bakarak kayıt edilecek dosya bulunur ve açılır. Daha sonra, ilgili sayfalarda kayıt yapılacak hücrelere, veriler yazılır. Dosya kaydedilir ve kapatılır.

Kod:
Sub Veri_Aktar()
    Dim sPth As String [COLOR=darkgreen]'Kayıt yapılacak dosyanın yolu
[/COLOR]    Dim sSpr As String[COLOR=darkgreen] 'Ayraç
[/COLOR]    Dim sAy As String [COLOR=darkgreen] 'Kayıt yapılacak dosyanın adı
[/COLOR]    
    Dim lStr As Long   [COLOR=darkgreen]'Veri gönderilecek satır
[/COLOR]    
    Dim wksK As Worksheet [COLOR=darkgreen]'Kaynak sayfa
[/COLOR]    Dim wksHUre As Worksheet[COLOR=darkgreen] 'Hedef Üretimsayfası
[/COLOR]    Dim wksHSvk As Worksheet [COLOR=darkgreen]'Hedef Sevk sayfası
[/COLOR]    
    Dim wkbH As Workbook [COLOR=darkgreen]'Hedef Çalışma kitabı
[/COLOR]    Dim wkbK As Workbook [COLOR=darkgreen]'kaynak Çalışma kitabı
[/COLOR]    
    Dim rngBul As Range [COLOR=darkgreen]'Tarihi aranan hücre
[/COLOR]    
    Const sdzn As String = "AYLIK RAPOR"
    
    Set wkbK = ThisWorkbook
    
    sSpr = Application.PathSeparator
    sPth = wkbK.Path & sSpr & sdzn & sSpr
    
    Set wksK = wkbK.Worksheets("MÜDÜRİYET")
    
    If IsDate(wksK.Range("D1")) Then
        sAy = UCase(Format(wksK.Range("D1"), "mmmm"))
        sAy = Replace(sAy, "ı", "I")
        
    Else
        MsgBox "Girilen tarihte bir problem var. Kontrol ediniz", vbCritical, "İşlem durduruldu"
        GoTo fpc
    End If
    
    On Error Resume Next
    Set wkbH = Workbooks(sAy)
    If Err <> 0 Then
        Set wkbH = Workbooks.Open(sPth & sAy)
    End If
    On Error GoTo 0
    
    Set wksHUre = wkbH.Worksheets("günlük ür.")
    Set wksHSvk = wkbH.Worksheets("sevk")
    
    With wksHUre
        Set rngBul = .Columns(1).Find(CDate(Format(wksK.Range("D1"), "dd.mm.yyyy")), LookIn:=xlValues, lookat:=xlWhole)
        If rngBul Is Nothing Then
            MsgBox "İlgili kitapta, yazılan tarihe rastlanmadı", vbCritical, "İşlem durduruldu"
            GoTo fpc
        Else
            lStr = rngBul.Row
        End If
    
        .Cells(lStr, "B") = wksK.Range("C6")
        .Cells(lStr, "C") = wksK.Range("F14")
        .Cells(lStr, "H") = wksK.Range("E6")
    End With
    
    
    wksHSvk.Cells(lStr - 2, "B") = wksK.Range("F17")
    wkbH.Close True
    
fpc:
    Set wksHUre = Nothing
    Set wksHSvk = Nothing
    Set wksK = Nothing
    Set rngBul = Nothing
    Set wksH = Nothing
    Set wksK = Nothing
    
End Sub
 
Sayın Hocam öncelikle ilginizden dolayı teşekkürler.Dediğiniz gibi yaptım.Farklı olarak makronun ismini değiştirdim bir tek."auto_close olarak" fakat hata veriyor.
Set wksHUre = wkbH.Worksheets("günlük ür.")
şeklinde.Dosyayı da ekliyorum.
Saygılar.
 

Ekli dosyalar

Merhabalar,

İlk olarak, burada uyguladığımız yöntemin çok sağlıklı olduğunu söyleyemeyeceğim. Çünkü, tablo mantığından kurtulunmuş bir yapı yok. Otomasyonun sağlandığı bir durumdan da nispeten bahsedemeyiz. Şu anda yaptığımız şey, elle girilen verileri, makinaya yıkmak ...

Hata olması muhtemeldir ve bu sistemin tamamen otomatize edilmemesinden kaynaklanmaktadır.

Şimdi, "mayıs.xlsx" adlı dosya isminizi, ilk gönderdiğiniz rar dosyadaki gibi "MAYIS.xlsx" şekline getirip yeniden deneyiniz.

.
 
Sayın Hocam Ferhat Bey.sorun bendeymiş.Şöyle ki:Ben ilk dosyayı Oficce 2007 kullanarak yükledim.Daha sonra Ofice 2003 yüklü bir bilgisayardan giriş yaptım.Dosya 2003 formatına uyumluluk programı ile çevrildi.Kodları uygulayınca sorun çıktı.ikinci dosyayı da o yüzden 2003 kullanarak yolladım.
Şimdi şöyle bir durum ortaya çıkıyor sanırım.2007 ile 2003 Oficce makroları uyumluluk problemi yaşatıyor.bunu nasıl aşabilirim acaba?
Yani kodlarınız tıkır tıkır işliyor Hocam teşekkürler.
saygılar.
 
Uyum sorunu; bazı ek özellikleri kullandığınızda ortaya çıkar ... (Yani 2007'de olup da 2003 de olmayan özellikleri kullanmak gibi)

Ancak bizim yazdığımız kodlar; Excel'in temel (genel) nesne modeli içindedir.

Sanırım sorun başka bir şey ... Daha önce de belirttiğim gibi, klasör isimlendirmenizden kaynaklanıyor olabilir.

.
 
Geri
Üst