• DİKKAT

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

Fatura taslağını farklı kaydetme

Katılım
21 Eylül 2011
Mesajlar
45
Excel Vers. ve Dili
2007
İyi günler;

Bir fatura kesme dosyası oluşturdum,yazdırma için buton yapmayı forumdan faydalanarak buldum fakat bir konuda yardıma ihtiyacım var..

Boştaki butona bir makro atayıp bu makroyla oluşturduğum taslağı farklı kaydetmek istiyorum. Yani sayfa1 i bozmadan farklı kaydet butonuna bastığımda veriler sayfa2ye aktarılacak(sütun genişlikleriyle aktarılabilirse iyi olur),ve sayfa2 nin adı "tarih,saat" formatında kaydedilecek. (tarih saatten kastım =now formülünün sonucu şeklinde).

Birde şu şekilde çözüm olabilir. Farklı kaydete bastığımda sayfa1i masaüstüne "Müşteri Adı ve tarih" şeklinde kaydetmeside uygun olur.
 

Ekli dosyalar

şunu dosyamızın kopyası üzerinden bir deneyelim:

Sayfa ismi: Sheet1
Müşteri ismi: A5 hücresinde

Kod:
Sub MasaUstuneKopyala()
    
    Dim MUYolu As String, Musteri As String, Tarih As String, DosyaAdı As String
    
    MUYolu = CreateObject("WScript.Shell").SpecialFolders("Desktop") & Application.PathSeparator
    
    Tarih = Format(Date, "dd.mm.yy hh.mm.ss")
    Müşteri = Range("A5").Value 'müşteri adının bulunduğu hücre. başka bir şekilde üretiliyorsa o yöntem.
    DosyaAdı = Müşteri & " " & Tarih
    
    ActiveSheet.Copy
    Dim shp As Shape
    For Each shp In ActiveSheet.Shapes
        shp.Delete
    Next

    With ActiveWorkbook.VBProject.VBComponents("Sheet1").CodeModule ' "'ların arasına kopyalanan sayfanın ismi yazılacak
        .DeleteLines 1, .CountOfLines
    End With

    ActiveWorkbook.SaveAs MUYolu & DosyaAdı, FileFormat:=xlNormal

End Sub
 
Son düzenleme:
Forumda ilk macromu yazıyorum.Fazlada bilgim yok ama denedim oldu yanlız Tarih olarak Şimdi Formülünü uygularsanız Satte Çıktığından İsim uzun oluyor ve hata veriyor ben bugün uygulayarak çalıştırdım bilginize

Sub Farklı _Kaydet()
'
' Makro6 Makro
' Makro d tarafından 13.12.2011 tarihinde kaydedildi.
'

'
Range("A1:AJ74").Select
Selection.Copy
Sheets("Sheet1").Select
Sheets.Add
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Selection.PasteSpecial Paste:=xlPasteColumnWidths, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Cells.Select
Selection.RowHeight = 7.5
ActiveSheet.Name = [AE9].Value


End Sub
 
şunu dosyamızın kopyası üzerinden bir deneyelim:

Sayfa ismi: Sheet1
Müşteri ismi: A5 hücresinde

Kod:
Sub MasaUstuneKopyala()
    
    Dim MUYolu As String, Musteri As String, Tarih As String, DosyaAdı As String
    
    MUYolu = CreateObject("WScript.Shell").SpecialFolders("Desktop") & Application.PathSeparator
    
    Tarih = Format(Date, "dd.mm.yy hh.mm.ss")
    Müşteri = Range("A5").Value 'müşteri adının bulunduğu hücre. başka bir şekilde üretiliyorsa o yöntem.
    DosyaAdı = Müşteri & " " & Tarih
    
    ActiveSheet.Copy
    Dim shp As Shape
    For Each shp In ActiveSheet.Shapes
        shp.Delete
    Next

    With ActiveWorkbook.VBProject.VBComponents("Sheet1").CodeModule ' "'ların arasına kopyalanan sayfanın ismi yazılacak
        .DeleteLines 1, .CountOfLines
    End With

    ActiveWorkbook.SaveAs MUYolu & DosyaAdı, FileFormat:=xlNormal

End Sub


Kod:
Sub MasaUstuneKopyala()
    
    Dim MUYolu As String, Musteri As String, Tarih As String, DosyaAdı As String
    
    MUYolu = CreateObject("WScript.Shell").SpecialFolders("Desktop") & Application.PathSeparator
    
    Tarih = Format(Now, " dd.mm.yy hh.mm.ss ")
    Müşteri = Range("Ak13").Value    'müşteri adının bulunduğu hücre. başka bir şekilde üretiliyorsa o yöntem.
    DosyaAdı = Müşteri & ("") & Tarih
    
    ActiveSheet.Copy
    Dim shp As Shape
    For Each shp In ActiveSheet.Shapes
        shp.Delete
    Next

    With ActiveWorkbook.VBProject.VBComponents("Sheet1").CodeModule ' "'ların arasına kopyalanan sayfanın ismi yazılacak
        .DeleteLines 1, .CountOfLines
    End With

    ActiveWorkbook.SaveAs MUYolu & DosyaAdı, FileFormat:=xlNormal
    ActiveWorkbook.Close

End Sub


şeklinde ufak değişiklerle kendime uyarlayarak kullanmaya başladım çok teşekkür ederim... File Formatı "makro içerebilen çalışma kitabı" yapmak için xlnormal yerine ne yazabilirim o konuda bilginiz var mı acaba? "xl normal" sanırım eski versiyon ben 2007 kullanıyorum.
 
52 veya
xlOpenXMLWorkbookMacroEnabled

kullanılmalı.
 
Geri
Üst