• DİKKAT

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

Soru Yedek alma koduna ek yapılması hakkında

Katılım
12 Aralık 2018
Mesajlar
25
Excel Vers. ve Dili
32 Bit 2016 Türkçe
Arkadaşlar İnternet'ten bulduğum, dosyayı kapatmak için sağ üst köşedeki çarpıya tıklayınca devreye giren bir kod var.
Kod, C diski içinde önceden oluşturulmuş olan YEDEK DOSYALAR isimli klasöre yedekleri alıyor.


Yapmak istediğim:
1.
Kod çalışmaya başlayınca C diskine baksın YEDEK DOSYALAR isimli klasör var ise yedeği alsın, YEDEK DOSYALAR isimli klasör yok ise YEDEK DOSYALAR isimli klasör oluşturup yedeği alsın.
2. Kodda yedek alınan dosya adı günün tarihi ve saat olarak tanımlanmış. Örnek: 16.02.2019 21_12_55
Dosya adını Sayfa1 A1 hücresindeki değer+günün tarihi+Saat yazısı ve saatin kaç olduğu şeklinde düzenleyebilir miyiz? Örnek: A1 Hücresinde yazan 16.02.2019 Saat_21_12_55


Arkadaşlar yukarıdaki iki maddede özetlediğim değişimi aşağıdaki kod üzerinde nasıl yapabilirim.
http://s2.dosya.tc/server6/xh33te/yedek_al.rar.html
Bu Çalışma Kitabı bölümündeki kod:
Kod:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Set ds = CreateObject("Scripting.FileSystemObject")
If MsgBox("Yedek alınsın mı ?", vbCritical + vbYesNo, "DİKKAT") = vbYes Then
Dim Yedek As String
Trh = Replace(Now, ":", "_")
Kyt = "C:\YEDEK DOSYALAR\"
ThisWorkbook.Save
ds.CopyFile ThisWorkbook.FullName, Kyt & Trh & ".xlsm"
MsgBox "Yedek alma işlemi tamamlanmıştır.", vbInformation, "DİKKAT"
Else
MsgBox "Yedek alma işlemi iptal edilmiştir.", vbInformation, "DİKKAT"
End If
End Sub
 
Bu kodu bir dene

Kod:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Set ds = CreateObject("Scripting.FileSystemObject")
If MsgBox("Yedek alınsın mı ?", vbCritical + vbYesNo, "DİKKAT") = vbYes Then
Dim Yedek As String

Kyt = "C:\YEDEK DOSYALAR\"
If ds.FolderExists(Kyt) = False Then
MkDir Kyt
End If
ThisWorkbook.Save
Trh = Cells(1, 1).Value & Format(Now, " dd_mm_yyyy") & " Saat" & Format(Now, "hh_nn_ss")

ds.CopyFile ThisWorkbook.FullName, Kyt & Trh & ".xlsm"
MsgBox "Yedek alma işlemi tamamlanmıştır.", vbInformation, "DİKKAT"
Else
MsgBox "Yedek alma işlemi iptal edilmiştir.", vbInformation, "DİKKAT"
End If
End Sub
 
Sayın Halit Bey
Diğer dediklerim gerçekleşiyor, sadece şurası için tekrar yardımınızı rica ediyorum:

Trh = Cells(1, 1).Value & Format(Now, " dd.mm.yyyy") & " Saat " & Format(Now, "hh.nn.ss")
Burada Sayfa1 ifadesini satırın neresine yazayım, bu isimlendirme lazım olacak bana?
 
A1 hücresinde ne yazıyor. Sayfa1 nereye yazılacak

Kod:
Cells(1, 1).Value
 
Rich (BB code):
Trh = "Sayfa1 " & Cells(1, 1).Value & Format(Now, " dd_mm_yyyy") & " Saat" & Format(Now, "hh_nn_ss")

Böyle olmalı
 
Verdiğiniz kod Sayfa1 A1 hücresindeki değeri alıp dosya adında kullanıyor.
Kod satırında A1 hücresinin hangi sayfaya ait olduğunun da belirtilmesi gerekli.
Mesela Sayfa3 A1 hücresindeki değeri dosya adına dahil etmem gerekirse kod nasıl düzenlenmeli?

Trh = Cells(1, 1).Value & Format(Now, " dd.mm.yyyy") & " Saat " & Format(Now, "hh.nn.ss")
Kırmızı ile işaretli yerin hangi sayfaya ait hücre adresi olduğu da kodda yazılsın yani.
 
Anlamadım her halde bumu olacaktı

Kod:
Trh = ActiveSheet.Name & " " & Cells(1, 1).Value & Format(Now, " dd_mm_yyyy") & " Saat" & Format(Now, "hh_nn_ss")
 
Halit bey zamanınızı alıyorum kusura bakmayın.
Şöyle ifade edeyim:
Trh = Cells(1, 1).Value & Format(Now, " dd.mm.yyyy") & " Saat " & Format(Now, "hh.nn.ss")
Cells(1, 1) yazan yer Sayfa1 A1 hücresini gösteriyor.

Sorum: Aynı kod satırının Sayfa3 A1 hücresini göstermesi için nasıl yazılmalı?
 
Birde böyle dene
Kod:
Trh = Sheets(ActiveSheet.Name).Cells(1, 1).Value & Format(Now, " dd_mm_yyyy") & " Saat" & Format(Now, "hh_nn_ss")
 
Geri
Üst