• 15-10-2023, 18:56:54
    #1
    Merhabalar.

    Makro içeren bir excel dosyam var.
    Kaydet butonu yapmak istiyorum ancak kodum düzgün çalışmıyor.

    Amacım c1 hücresinde bulunan değeri dosya ismi olarak alıp XLTM uzantısıyla kaydetsin. maalesef başarılı olamıyorum.

    Kullandığım kod aşağıdadır:
    Sub kaydet()
    '
    ' kaydet Makro
    '
    
    '
    DOSYA = Sheets("DoktorOrder").Range("C1")
        ActiveWorkbook.SaveAs Filename:="C:\ADRES\HASTA ORDER\" & DOSYA & ".XLTM"
        ActiveWorkbook.Close
        
    End Sub
    Yada şöyle olursa işimi görecektir.
    Hergün içinde yaptığım değişiklik sonrasında kaydete bastığımda yeni bir dosyada değil aynı içinde bulunduğum dosyada uzantı değişmeden kaydetmesini istiyorum. Bu şekilde de işimi görür.

    Teşekkür ederim.
  • 15-10-2023, 18:59:55
    #2
    bir de şu yapıyı deneyebilir misiniz hocam
    Sub KaydetButonu()
    Dim dosyaAdi As String
    Dim kayitYolu As String
    
    ' C1 hücresindeki değeri dosya adı olarak al
    dosyaAdi = ThisWorkbook.Sheets(1).Range("C1").Value
    
    ' Dosyayı kaydedeceğiniz klasör yolu (örn. Masaüstü). Burayı ihtiyacınıza göre değiştirebilirsiniz.
    kayitYolu = "C:\Users\KullaniciAdi\Desktop\" & dosyaAdi & ".xltm"
    
    ' Dosyayı XLTM formatında kaydet
    ThisWorkbook.SaveAs Filename:=kayitYolu, FileFormat:=xlOpenXMLTemplateMacroEnabled
    
    MsgBox "Dosya başarıyla kaydedildi!", vbInformation, "Kaydetme Başarılı"
    End Sub
  • 15-10-2023, 19:06:06
    #3
    chatgpt'yi denediniz mi hocam böyle mikro problemleri kolayca çözüyor
  • 15-10-2023, 19:10:03
    #4
    jtm adlı üyeden alıntı: mesajı görüntüle
    bir de şu yapıyı deneyebilir misiniz hocam
    Sub KaydetButonu()
    Dim dosyaAdi As String
    Dim kayitYolu As String
    
    ' C1 hücresindeki değeri dosya adı olarak al
    dosyaAdi = ThisWorkbook.Sheets(1).Range("C1").Value
    
    ' Dosyayı kaydedeceğiniz klasör yolu (örn. Masaüstü). Burayı ihtiyacınıza göre değiştirebilirsiniz.
    kayitYolu = "C:\Users\KullaniciAdi\Desktop\" & dosyaAdi & ".xltm"
    
    ' Dosyayı XLTM formatında kaydet
    ThisWorkbook.SaveAs Filename:=kayitYolu, FileFormat:=xlOpenXMLTemplateMacroEnabled
    
    MsgBox "Dosya başarıyla kaydedildi!", vbInformation, "Kaydetme Başarılı"
    End Sub
    Çok teşekkür ederim. XLSM için ne yapmam gerekir. Ben XLSM yazacağıma XLTM yazmışım kusura bakmayın
  • 15-10-2023, 19:10:51
    #5
    Sub Kaydet()
        Dim DOSYA As String
        DOSYA = ThisWorkbook.Sheets("DoktorOrder").Range("C1").Value
        ThisWorkbook.SaveAs Filename:=ThisWorkbook.Path & "\" & DOSYA & ".XLTM", FileFormat:=xlOpenXMLTemplateMacroEnabled
    End Sub
  • 15-10-2023, 19:14:11
    #6
    CengizYurek adlı üyeden alıntı: mesajı görüntüle
    Çok teşekkür ederim. XLSM için ne yapmam gerekir. Ben XLSM yazacağıma XLTM yazmışım kusura bakmayın
    Sub KaydetButonuXLSM()
    Dim dosyaAdi As String
    Dim kayitYolu As String
    
    ' C1 hücresindeki değeri dosya adı olarak al
    dosyaAdi = ThisWorkbook.Sheets(1).Range("C1").Value
    
    ' Dosyayı kaydedeceğiniz klasör yolu (örn. Masaüstü). Burayı ihtiyacınıza göre değiştirebilirsiniz.
    kayitYolu = "C:\Users\KullaniciAdi\Desktop\" & dosyaAdi & ".xlsm"
    
    ' Dosyayı XLSM formatında kaydet
    ThisWorkbook.SaveAs Filename:=kayitYolu, FileFormat:=xlOpenXMLWorkbookMacroEnabled
    
    MsgBox "Dosya başarıyla XLSM formatında kaydedildi!", vbInformation, "Kaydetme Başarılı"
    End Sub
  • 15-10-2023, 19:19:35
    #7
    jtm adlı üyeden alıntı: mesajı görüntüle
    Sub KaydetButonuXLSM()
    Dim dosyaAdi As String
    Dim kayitYolu As String
    
    ' C1 hücresindeki değeri dosya adı olarak al
    dosyaAdi = ThisWorkbook.Sheets(1).Range("C1").Value
    
    ' Dosyayı kaydedeceğiniz klasör yolu (örn. Masaüstü). Burayı ihtiyacınıza göre değiştirebilirsiniz.
    kayitYolu = "C:\Users\KullaniciAdi\Desktop\" & dosyaAdi & ".xlsm"
    
    ' Dosyayı XLSM formatında kaydet
    ThisWorkbook.SaveAs Filename:=kayitYolu, FileFormat:=xlOpenXMLWorkbookMacroEnabled
    
    MsgBox "Dosya başarıyla XLSM formatında kaydedildi!", vbInformation, "Kaydetme Başarılı"
    End Sub
    Çok teşekkür ederim. Bu bilgi benim için altın değerindeydi. Sizin için ne yapabilirim.
  • 15-10-2023, 22:38:58
    #8
    CengizYurek adlı üyeden alıntı: mesajı görüntüle
    Çok teşekkür ederim. Bu bilgi benim için altın değerindeydi. Sizin için ne yapabilirim.
    rica ederim hocam ne demek önemli değil.