• DİKKAT

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

"Yedekle" macrosuna ilave kod

Katılım
5 Kasım 2007
Mesajlar
4,727
Excel Vers. ve Dili
64 Bit TR - Microsoft Office 365 - Win11 Home
Merhabalar, Yedekle Düğmesi tıklandığında "Liste" sayfası C2 hücresindeki veriye göre isimlendirerek yedeklemesini arzulamaktayım, aşağıdaki kod'un işlevine nasıl bir ilave yapılmalıdır ?

Örnek ; "Liste" sayfası C2 hücresinde "Ali ODYAKMAZ" yazmakta, düğme tıklandığında "c:\teklifsayfasıyedek.xls" dosyası yerine , c:\teklif\Ali ODYAKMAZ olarak yazmalı, her seferinde düğme tıklandığında "Liste" sayfası C2 hücresine bakmalı ve yedeklemeyi bu mantığa göre yapmalı, şayet daha önce C2'de böyle bir kayıt var ise uyarmalı ve "evet yada hayır" cevabına göre işleme izin vermeli, emeklerinize teşekkür ederim.

Sub yedekle()
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Sheets("teklif").Copy
ActiveWorkbook.SaveAs "c:\teklifsayfasıyedek.xls"
ActiveWorkbook.Close True
MsgBox "Teklif Sayfası Yedeklenmiştir.", 32, "Sonuç !"
End Sub
 
Kod:
Dim ad As String
ad = Sheets("liste").Range("c2")
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Sheets("teklif").Copy
ActiveWorkbook.SaveAs "c:\teklif\" & ad & ".xls"
ActiveWorkbook.Close True
MsgBox "Teklif Sayfası Yedeklenmiştir.", 32, "Sonuç !"
 
Kod:
Dim ad As String
ad = Sheets("liste").Range("c2")
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Sheets("teklif").Copy
ActiveWorkbook.SaveAs "c:\teklif\" & ad & ".xls"
ActiveWorkbook.Close True
MsgBox "Teklif Sayfası Yedeklenmiştir.", 32, "Sonuç !"

Sayın Ayhan Ercan, öncelikle cevap için içtenlikle teşekkür ederim, birazdan uygulamaya alacağım, izninizle bir şey sormak istiyorum, aynı kayıttan daha önce var ise "uyarı" mesajı alabilirmiyim, teşekkür ederim.
 
Son düzenleme:
özür dilerim sorunuzu tam okumadan cevap vermişim. ikinci sorunuza baktım. bunu yapamadım üzgünüm. uzman arkadaşlarımız yardım edeceklerdir.
 
özür dilerim sorunuzu tam okumadan cevap vermişim. ikinci sorunuza baktım. bunu yapamadım üzgünüm. uzman arkadaşlarımız yardım edeceklerdir.

Rica ederim sayın Ercan, ben teşekkür ederim, Kod tek sayfa kopyalıyor, ikinci kez istendiğinde de üzerine kopyalıyor, kopyaladığı isim C2 hücresinin aynısı değil, bunları kod uygulanınca çıkan sonuçlar olarak ve bilgi amaçlı yazdım, ilginiz için tekrar tekrar teşekkür ederim, saygılarımla.
 
İyi sabahlar dilerim, sanırım sitede 4 mesaj görülünce cevap gelmedi, çözüm bekleyen bu macroya ilave edilecek kodu alabilirsem memnun olurum, teşekkür ederim.
 
Merhabalar, Yedekle Düğmesi tıklandığında "Liste" sayfası C2 hücresindeki veriye göre isimlendirerek yedeklemesini arzulamaktayım, aşağıdaki kod'un işlevine nasıl bir ilave yapılmalıdır ?

Örnek ; "Liste" sayfası C2 hücresinde "Ali ODYAKMAZ" yazmakta, düğme tıklandığında "c:\teklifsayfasıyedek.xls" dosyası yerine , c:\teklif\Ali ODYAKMAZ olarak yazmalı, her seferinde düğme tıklandığında "Liste" sayfası C2 hücresine bakmalı ve yedeklemeyi bu mantığa göre yapmalı, şayet daha önce C2'de böyle bir kayıt var ise uyarmalı ve "evet yada hayır" cevabına göre işleme izin vermeli, emeklerinize teşekkür ederim.

Sub yedekle()
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Sheets("teklif").Copy
ActiveWorkbook.SaveAs "c:\teklifsayfasıyedek.xls"
ActiveWorkbook.Close True
MsgBox "Teklif Sayfası Yedeklenmiştir.", 32, "Sonuç !"
End Sub

Yardım talebim devam etmektedir, saygılarımla.
 
Selamlar,
Bu konu beni de ilgilendiriyor,
yardımcı olacak ustalara şimdiden teşekkürler. 1Al2Ver in yardım talebine gönülden katılıyorum. :)
Ayrıca, kendisine de teşekkürler.
Yavuz Tümer
 
Selamlar,
Bu konu beni de ilgilendiriyor,
yardımcı olacak ustalara şimdiden teşekkürler. 1Al2Ver in yardım talebine gönülden katılıyorum. :)
Ayrıca, kendisine de teşekkürler.
Yavuz Tümer

Sayın yst10, nezaketiniz için teşekkür ederim, talebimize kısa zamanda cevap ve çözüm gelir, bu ara ustalarımız biraz yoğunlar, tekrar teşekkürler.
 
Biraz uzunca oldu, idare edin. :)

Kod:
Sub Yedekle()
Dim wb As Workbook, i%, sor&

[COLOR=DarkGreen]'// Yeni çalışma kitabı aç..[/COLOR]
Set wb = Workbooks.Add

[COLOR=DarkGreen]'// Silinmek üzere sayfalar isimlenir..[/COLOR]
For i = 1 To Sheets.Count
    wb.Sheets(i).Name = i
Next

[COLOR=DarkGreen]'// Yeni kitaba "teklif" sayfasnı kopyala..[/COLOR]
ThisWorkbook.Sheets("teklif").Copy _
    Before:=Workbooks("" & wb.Name).Sheets(1)
   
[COLOR=DarkGreen]'// İsimlendirdiğimiz sayfaları sil..[/COLOR]
Application.DisplayAlerts = False
For i = 1 To wb.Sheets.Count - 1
    wb.Sheets("" & i).Delete
Next

[COLOR=DarkGreen]'// Dizin yoksa oluştur..[/COLOR]
On Error Resume Next
MkDir "C:\teklif\"

On Error GoTo 0
With ThisWorkbook.Sheets("Liste").[c2]
[COLOR=DarkGreen]'// Kaydedilecek dosya mevcutsa sor, varsa sil veya çık ya da kaydet..[/COLOR]
    If Dir("C:\teklif\" & .Value & ".xls") <> "" Then
            sor = MsgBox("'C:\teklif\" & .Value & ".xls" & _
            "' mevcuttur! Üzerine yazılsın mı?", vbYesNo + vbExclamation)
            
        If sor = vbYes Then
            Kill "C:\teklif\" & .Value & ".xls"
        Else
            Exit Sub
        End If
    End If
    
    wb.SaveAs "C:\teklif\" & .Value & ".xls"
    wb.Close False
    
End With

Application.DisplayAlerts = True

End Sub
 
Say&#305;n Zeki G&#252;rsoy, elinize sa&#287;l&#305;k, te&#351;ekk&#252;r ederim, sayg&#305;lar&#305;mla.
 
Sn. Zeki Bey,
&#199;ok te&#351;ekk&#252;r ederim, ellerinize sa&#287;l&#305;k. Sayg&#305;lar.
Yavuz T&#252;mer
 
Geri
Üst