işçi hakedişleri

Katılım
30 Kasım 2005
Mesajlar
51
merhabalar

işçilerin ay ay hakedişerinden oluşan yaklaşık 80 kadar excel kitabı var bunları bir kitapda aynı sayfada nasıl kopyalarım veya oluştururum

işçilerin hangi ayda nerede ne kadar harcadığını aynı sayfada görmem için gerekli ama bunlar dediğim gibi kitap kitap durmakta bunları birleştirip aynı sayfaya dökmem gerek.

ilginize teşekkürler

saygılar
 

Orion1

Uzman
Uzman
Katılım
1 Mart 2005
Mesajlar
22,254
Excel Vers. ve Dili
Win7 Home Basic TR 64 Bit

Ofis-2010-TR 32 Bit
Bu program Bir klasör içindeki kapalı dosyaların sayfa1 içindeki A:D sütunu içindeki verilerini
Excel4 makrosu ile Bu dosyada listeler.

Listele tuşuna basınız.Çıkan pencereden listelenecek klasörü seçip
Tamama basın.Klasör içindeki dosyaların Listelemesi başlayacaktır.
Önemli:
Listelenen dosyaların listelenecek olan sayfa adı Sayfa1 olarak kabul ediimiştir.
Sayfa adları hepsinde ayni olmalıdır.
Eğer değişik bir sayfa adı kullanılacaksa kodlarda ilgili bölümünde ( Sayfa1 diye yazıyor) sayfa adını değiştirmek gerekir.
Kod:
Sub listele()
Dim f As Object, s As String, d As String, klasor As String
Dim son_sat As Long, sat As Long
Dim MyArg As String
Dim i As Long
sat = 2
On Error GoTo son
Application.ScreenUpdating = False
Range("A2:D65536").ClearContents
Set f = CreateObject("Shell.Application").BrowseForFolder(0, _
    "Bu Program Seçilen Klasör içindeki kapalı dosyalarda sayfa1 deki A:D sütunundaki verileri Excel4 makrosu ile Bu dosyada Sayfa1'de Listeler..!!" & _
    vbLf & "Dosyalardan verileri alınacak klasörü seçin", 0)
If f Is Nothing Then Exit Sub
klasor = f.items.Item.Path
s = IIf(Right$(klasor, 1) = "\", "", "\")
d = Dir(klasor & s & "*.xls")
While d <> ""
    son_sat = ExecuteExcel4Macro("COUNTA('" & klasor & s & "[" & d & "]Sayfa1'!C1)")
    For i = 1 To son_sat
        MyArg = "'" & klasor & s & "[" & d & "]Sayfa1'!R" & i
        For k = 1 To 4
            Cells(sat, k).Value = ExecuteExcel4Macro(MyArg & "C" & k)
            If sat >= 65533 Then
                MsgBox "Sayfa doldu başka kayıt yapamazsınız.."
                GoTo son
            End If
        Next k
        sat = sat + 1
    Next
    d = Dir
Wend
Application.ScreenUpdating = True
MsgBox "İşlem tamamlandı..!!"
son:
Application.ScreenUpdating = True
End Sub
 
Son düzenleme:
Katılım
30 Kasım 2005
Mesajlar
51
ekdeki kitapdaki gibi yaklaşık 50-60 kitaptan oluşan bilgiler mevcut ben bunları tek bir kitapda tekbir sayfada toplamak istiyorum Evren bey sizin tablonuzu açtım ama yapamadım

yani benim yapabildiğim excel kitaplarının üstüne gelince 15ini birden açıyo ama o kitapları birleştiremiyorum :)) yapabildiğim bu ama hiç bir işime yaramıyo

ilginize teşekkürler
 
Son düzenleme:

Orion1

Uzman
Uzman
Katılım
1 Mart 2005
Mesajlar
22,254
Excel Vers. ve Dili
Win7 Home Basic TR 64 Bit

Ofis-2010-TR 32 Bit
Dosya hazır.Problemsiz çalışıyor.
Butona tıklayın.Çıkan formdan Dosyaların bulunduğu klasörü seçin ve tamama basın okodlar çalışıp listeleyecektir.
Yalnız klasör içindeki dosyalarınızda Sayfa1 İsimli sayfadanveriler alınacaktır.
Ve hepsinin içindeki verilerin olacağı sayfa adı sayfa1 olması gerekiyor.Eğer verileri alınack sayfa adları sayfa1 değilse kodlarda sayfa1 diye yazan yere ilgili sayfanın adını yazınız.Veya sayfa adını bana söyleyiniz ben ayarlayıp dosyayı tekrardan ekleyim.:cool:
 
Katılım
30 Kasım 2005
Mesajlar
51
butona basınca böyle bir uyarı çıkıyor nerde yanlış yapıyorum bilemiyorum.

ilgi alakanıza teşekkürler ama ben yapamadım sanırım
 
Katılım
30 Kasım 2005
Mesajlar
51
You may encounter this error for the following reasons:
Macro security is set to:
Very High and the application encounters a signed macro, but the macro was automatically disabled. Use the following procedure to enable the macro:
Select the Tools menu option and then select Macro and Security. In the resulting Security dialog, set the security level to High by clicking the High radio button.
Close the file and any other instances of the application currently running on the computer (close all applications that also use the application you are currently running).


BÖYLE BAŞLAYIP DEVAM EDEN BİR MESAJ RESMİNİ KOYMAYA ÇALIŞMIŞTIM AMA (YAZI BELLİ OLSUN DİYE BÜYÜK YAZDIM)
 
Katılım
30 Kasım 2005
Mesajlar
51
Veya üstad ben klasör içinde 5-6 kitapdan oluşan bi çalışma göndereyim sen onu dönüştürebilirsen tek sayfa haline çok sevinirim

bende diğerlerini ona göre yaparım. bana bi mail adresi verirsen sevinirim
 

Orion1

Uzman
Uzman
Katılım
1 Mart 2005
Mesajlar
22,254
Excel Vers. ve Dili
Win7 Home Basic TR 64 Bit

Ofis-2010-TR 32 Bit
Peki o zaman siz bana verilerin alınacağı klasörün yolunu yazınız.Kodları başka türlü yapayım,Direk sizin verdiğiniz yoldan yapayım.
Önceki kodlarda Form çıkıyordu ve oradan bir klasör seçip kodları çalıştırıyordunuz anlaşılan form sizde çalışmıyor.Sizin bilgisayarınızdan oluşan bir hata.:cool:
 
Katılım
30 Kasım 2005
Mesajlar
51
mesela bu iki kitapta ki verilerin başka bir yeni sayfaya aktarmak istiyorum ve yeni oluşturduğum sayfa sabit olup bu kitap gibi onlarca kitap ordaki yeni oluşturduğum sayfanın içine bi şekilde yerleşecek (ama nasıl)

İŞÇİ/YEVMİYE/MESAİ/T.YEVMİYE+MESAİ/BİRİM FİYAT/TUTAR/AVANS/ÖDENECEK MİKTAR

Bu ana başlıklar altında hepsini almam gerek
 

Orion1

Uzman
Uzman
Katılım
1 Mart 2005
Mesajlar
22,254
Excel Vers. ve Dili
Win7 Home Basic TR 64 Bit

Ofis-2010-TR 32 Bit
Tamamda ben size Bu dosyalar hangi klasörde diye sormuştum.Siz bana onun cevabını vermediniz.Hangi klasörde olduğunu bilmeden nasıl kod yazacam.
Hadi hedef klasörü belirlemek için hedef dosyanın yolunu kabul edelim diyelim ,değilse ne olacak listelemeyecek veya başka dosyaları listeleyecek.
Siz ta baştan dosyaların bulunduğu yolu verseydiniz şimdiye kadar problem çoktan çözülmüş olacaktı.:cool:
 

Orion1

Uzman
Uzman
Katılım
1 Mart 2005
Mesajlar
22,254
Excel Vers. ve Dili
Win7 Home Basic TR 64 Bit

Ofis-2010-TR 32 Bit
S:\12-2007 Aralik İŞÇİ HakedİŞlerİ
Dosyanız hazır.
Tekrar söylüyorum.
Veri alınacak dosyalardaki sayfa adı Sayfa1 Olmalıdır.:cool:
Kod:
Sub listele()
Dim s As String, d As String, klasor As String
Dim son_sat As Long, sat As Long
Dim MyArg As String
Dim i As Long
sat = 5
On Error GoTo son
Application.ScreenUpdating = False
Range("A5:I65536").ClearContents
klasor = "S:\12-2007 Aralik İŞÇİ HakedİŞlerİ"
'klasor = "C:\EVREN\MDB"

s = Application.PathSeparator
d = Dir(klasor & s & "*.xls")
While d <> ""
    son_sat = ExecuteExcel4Macro("COUNTA('" & klasor & s & "[" & d & "]Sayfa1'!C7)") + 4
MsgBox d & vbLf & son_sat
    For i = 5 To son_sat
        Cells(sat, "A").Value = sat - 4
        MyArg = "'" & klasor & s & "[" & d & "]Sayfa1'!R" & i
        For k = 2 To 9
            Cells(sat, k).Value = ExecuteExcel4Macro(MyArg & "C" & k)
            If sat >= 65533 Then
                MsgBox "Sayfa doldu başka kayıt yapamazsınız.."
                GoTo son
            End If
        Next k
        sat = sat + 1
    Next
    d = Dir
Wend
Application.ScreenUpdating = True
MsgBox "İşlem tamamlandı..!!"
son:
Application.ScreenUpdating = True
End Sub
 
Üst