Yıllara Göre Otomatik Dosya Oluşturma

KuTuKa

Altın Üye
Katılım
10 Mart 2005
Mesajlar
737
Excel Vers. ve Dili
Microsoft Office LTSC Pr. Pl 2021 - 64 bit Türkçe
Altın Üyelik Bitiş Tarihi
19-03-2029
Merhaba Arkadaşlar

Pandemi den dolayı artık evden çalışır olduk o yüzden yazıcıdan çıktı alıp dosya tutamıyoruz. Tüm kaydettiklerimiz bilgisayarda yer alıyor.

İstediğim Dijital bir arşiv nasıl olmalı ?

Bunun için siteden aşağadaki örneği buldum.Makronun Yapmasını istediğim.

Yıl Klasörlerini oluşturacak.
Yıl Sütununda yer alan Her Yıla 12 ay olarak dosya oluşturcak. 202101- 202102... 202112
Ay kısmında yer alan örnek 202101 içinde Alt Dosya İsmi Yazdığım Tüm isimler bir dosya olara yaratacak1-Askerlik Borçlanması 2Avans Ödemesi ..... olmalı ve

ek ödemeler içinde de Alt Dosya 1 Alt dosya 2 Alt dosya 3 olarak yazdığım Fazla mesai ve agi dosyası , fazla mesai ve Agi dosyasını oluşturmalı.



Alt dosya 3 e kadar yapılmış Alt Dosya 10 a kadar sütun ekleyebilirmiyiz


Excelde bulduğum örnek bir kısmını yapıyor ama hepsini iç içe attığından olmuyor.




224305


Herkese şimdiden Teşkkürler
 

Ekli dosyalar

ÖmerFaruk

Destek Ekibi
Destek Ekibi
Katılım
22 Ekim 2017
Mesajlar
4,833
Excel Vers. ve Dili
Microsoft 365 Tr-64
Klasör listesinin nasıl olacağını Kodların içinde belirttim.

C++:
Sub KlasörYap()
' Klasör tablonuda 1.satır Başlıklar olmalı
' ....
' A2 den başlamak üzere Ana klasör adı olan yılları belirtin
' ....
' Aylar standart olduğu için otomatik oluşacak
' ....
' B2 den başlamak üzere Alt klasör adlarını yazın
' ....
' C sütunundan itibaren C-D-E... diye devam ederek
' En alt klasörleri yazabilirsiniz.
' En alt klasörler için sınırlama yoktur. İstediğiniz sayda sağa doğru gidebilirsiniz.
' Tek kıstas boş bırakılan sütunda en alt klasör oluşumu sonlandırılır

Set Klasor = CreateObject("shell.application").BrowseForFolder(0, "Kaynak Klasörü Seçin", 5000, &H0)
If Not Klasor Is Nothing Then
Kaynak = Klasor.SELF.Path
If InStr(1, Kaynak, "{") > 0 Then GoTo Atla
On Error Resume Next
If Right(Kaynak, 1) <> "\" Then Kaynak = Kaynak & "\"
For i = 2 To Cells(Rows.Count, "A").End(3).Row
    klasor1 = Cells(i, 1).Value
    If Dir(Kaynak & klasor1) = "" Then MkDir Kaynak & klasor1
    For ay = 1 To 12
        klasor2 = klasor1 & Format(ay, "00")
        If Dir(Kaynak & klasor1 & "\" & klasor2) = "" Then MkDir Kaynak & klasor1 & "\" & klasor2
        For b = 2 To Cells(Rows.Count, "B").End(3).Row
            klasor3 = Cells(b, 2).Value
            If Dir(Kaynak & klasor1 & "\" & klasor2 & "\" & klasor3) = "" Then MkDir Kaynak & klasor1 & "\" & klasor2 & "\" & klasor3
            x = 3
            Do Until Cells(b, x) = ""
                klasor4 = Cells(b, x).Value
                If Dir(Kaynak & klasor1 & "\" & klasor2 & "\" & klasor3 & "\" & klasor4) = "" Then MkDir Kaynak & klasor1 & "\" & klasor2 & "\" & klasor3 & "\" & klasor4
                x = x + 1
            Loop
        Next b
    Next ay
Next i

MsgBox "  Klasörler oluştu !", vbInformation, "DİKKAT"
Else
Atla:
MsgBox "Lütfen Kaynak Klasör Seçimini Yapınız !", vbInformation, "DİKKAT"
End If
End Sub
 

KuTuKa

Altın Üye
Katılım
10 Mart 2005
Mesajlar
737
Excel Vers. ve Dili
Microsoft Office LTSC Pr. Pl 2021 - 64 bit Türkçe
Altın Üyelik Bitiş Tarihi
19-03-2029
Selamlar NextLevel

makroyu denedim ama ilk gönderdiğim makrolu dosyadan bir farkı olmadan çalıştı. Tekrar bakabilirmisiniz yada excel dosyasını gönderebilirmisiniz?

Çok Teşekkürler
 

KuTuKa

Altın Üye
Katılım
10 Mart 2005
Mesajlar
737
Excel Vers. ve Dili
Microsoft Office LTSC Pr. Pl 2021 - 64 bit Türkçe
Altın Üyelik Bitiş Tarihi
19-03-2029
Çok Teşekkürler

olmuş
 

KuTuKa

Altın Üye
Katılım
10 Mart 2005
Mesajlar
737
Excel Vers. ve Dili
Microsoft Office LTSC Pr. Pl 2021 - 64 bit Türkçe
Altın Üyelik Bitiş Tarihi
19-03-2029
sayın @NextLevel

yıl içerisinde aylar olmadan da bir dosya yapabilirmiyiz?
202101
202102 gibi
Teşekkürler
 
Üst