Soru Excel Kitabını Sadece Değerler ile kaydetme (formüller olmadan)

By.TRabZonLutm

Altın Üye
Katılım
15 Aralık 2017
Mesajlar
110
Excel Vers. ve Dili
Excel 2016 - Türkçe
Altın Üyelik Bitiş Tarihi
12-01-2029
  • Merhaba arkadaşlar, excel kitabım var, birden fazla sayfadan oluşuyor ve bazı sütunlar korumalı.
  • Makro ve koşullu biçimlendirme gibi etkenler mevcut.
  • Bu kitabı mevcut son hali ve sadece değerler kalacak şekilde (formüller olmayacak) kaydedebilirim?
 

By.TRabZonLutm

Altın Üye
Katılım
15 Aralık 2017
Mesajlar
110
Excel Vers. ve Dili
Excel 2016 - Türkçe
Altın Üyelik Bitiş Tarihi
12-01-2029
Arkadaşlar bu kodu buldum bir sıkıntı görünmüyor. Tüm kitaplığı sadece değerleri ile ve biçimlendirmeler ile kaydediyor. Süper!!

Fakat geliştirici seçenekleri, makrolar bölümünden çalıştır diyerek yapıyorum. bir buton ekleyemezmiyim?

Kod:
Sub mcrSet_All_Values_and_Save_XLSX()
    Dim w As Long
    For w = 1 To Sheets.Count
        Sheets(w).UsedRange = Sheets(w).UsedRange.Value
    Next w
    Application.DisplayAlerts = False
    ThisWorkbook.SaveAs _
      ThisWorkbook.Path & Chr(92) & _
        Left(ThisWorkbook.Name, InStr(1, ThisWorkbook.Name, Chr(46)) - 1) & Format(Date, "_yyyy-mm"), _
      xlOpenXMLWorkbook
End Sub
 

By.TRabZonLutm

Altın Üye
Katılım
15 Aralık 2017
Mesajlar
110
Excel Vers. ve Dili
Excel 2016 - Türkçe
Altın Üyelik Bitiş Tarihi
12-01-2029

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,290
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Buradaki linki inceleyiniz.


Buda farklı bir alternatif...

 

By.TRabZonLutm

Altın Üye
Katılım
15 Aralık 2017
Mesajlar
110
Excel Vers. ve Dili
Excel 2016 - Türkçe
Altın Üyelik Bitiş Tarihi
12-01-2029
Buradaki linki inceleyiniz.


Buda farklı bir alternatif...

İkinci linkte sadece aktif sayfayı kaydediyor. tüm dosyayı nasıl kaydedebilirim. ilk linkteki kodlar bende hata veriyor..
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,290
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Aktif sayfayı kopyalayan kod satırı yerine aşağıdaki satırı yazıp deneyiniz.

ActiveWorkbook.Sheets.Copy
 

By.TRabZonLutm

Altın Üye
Katılım
15 Aralık 2017
Mesajlar
110
Excel Vers. ve Dili
Excel 2016 - Türkçe
Altın Üyelik Bitiş Tarihi
12-01-2029
Aktif sayfayı kopyalayan kod satırı yerine aşağıdaki satırı yazıp deneyiniz.

ActiveWorkbook.Sheets.Copy
hocam bu sekilde düzenledim, sütun aralığını da sildim tüm kitabı kaydetsin diye fakat her zaman bu hatayı veriyor aynı zamanda değerler ile oluşturduğu excel dosyasını da açıyor.


Kod:
Sub XLSXKaydet()
    Yol = ThisWorkbook.Path & "\"
    isim = CreateObject("Scripting.FileSystemObject").GetBaseName(ThisWorkbook.Name) & " - " & _
            ThisWorkbook.ActiveSheet.Name & " - " & Format(Now, "ddmmyyyy_hhnn") & ".xlsx"
    Application.Calculate
    Application.Calculation = xlCalculationManual
    ActiveWorkbook.Sheets.Copy
    ActiveSheet.Range("A1").PasteSpecial xlValues
    Range("A1").Select
    Application.DisplayAlerts = False
    ActiveWorkbook.Close True, Yol & isim
    Application.DisplayAlerts = True
End Sub
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,290
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Aşağıdaki gibi deneyiniz.

C++:
Option Explicit

Sub XLSX_Kaydet()
    Dim File_Path As String, File_Name As String, File_Password As Variant
    Dim Sh As Worksheet, Wb As Workbook, File_Link As Variant
    
    Application.ScreenUpdating = False
    
    File_Path = ThisWorkbook.Path & "\"
    File_Name = CreateObject("Scripting.FileSystemObject").GetBaseName(ThisWorkbook.Name) & _
                " - " & Format(Now, "ddmmyyyy_hhnn") & ".xlsx"
    
    File_Password = 12345
    
    Application.Calculate
    Application.Calculation = -4135
    ActiveWorkbook.Sheets.Copy
    
    For Each Sh In ActiveWorkbook.Worksheets
        Sh.Unprotect "12345"
        Sh.UsedRange = Sh.UsedRange.Value
    Next
    
    Set Wb = Application.ActiveWorkbook
    If Not IsEmpty(Wb.LinkSources(xlExcelLinks)) Then
        For Each File_Link In Wb.LinkSources(xlExcelLinks)
            Wb.BreakLink File_Link, xlLinkTypeExcelLinks
        Next
    End If

    Application.DisplayAlerts = False
    ActiveWorkbook.SaveAs Filename:=File_Path & File_Name, _
                          FileFormat:=xlOpenXMLWorkbook, _
                          Password:=File_Password, _
                          WriteResPassword:="", _
                          ReadOnlyRecommended:=False, _
                          CreateBackup:=False
    ActiveWorkbook.Close
    Application.DisplayAlerts = True
    Application.Calculation = -4105
    Application.ScreenUpdating = True

    MsgBox "Dosyanız formülsüz ve makrosuz yedeklenmiştir.", vbInformation
End Sub
 

By.TRabZonLutm

Altın Üye
Katılım
15 Aralık 2017
Mesajlar
110
Excel Vers. ve Dili
Excel 2016 - Türkçe
Altın Üyelik Bitiş Tarihi
12-01-2029
Aşağıdaki gibi deneyiniz.

C++:
Sub XLSX_Kaydet()
    Yol = ThisWorkbook.Path & "\"
    isim = CreateObject("Scripting.FileSystemObject").GetBaseName(ThisWorkbook.Name) & " - " & _
            ThisWorkbook.ActiveSheet.Name & " - " & Format(Now, "ddmmyyyy_hhnn") & ".xlsx"
    Application.Calculate
    Application.Calculation = xlCalculationManual
    ActiveWorkbook.Sheets.Copy
    For Each Sh In ActiveWorkbook.Worksheets
        Sh.UsedRange = Sh.UsedRange.Value
    Next
    Application.DisplayAlerts = False
    ActiveWorkbook.Close True, Yol & isim
    Application.DisplayAlerts = True
End Sub
hocam süper oldu ActiveWorkbook.Sheets.Copy bu bölümü ThisWorkbook.Sheets.Copy olarak değiştirmenin artısı ya da eksisi nedir?
diğer husus da korumalı sütun oluşturduğum zaman yine 400 hatasını veriyor hocam
 
Son düzenleme:

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,290
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Butona tıklayarak kodu çalıştıracağınız için iki kod satırı arasında çok fark olmayacaktır.

Koruma durumunu bir önceki mesajimdaki koda ekledim. Şifreyi kendi dosyaniza göre düzenleyip denersiniz.
 

By.TRabZonLutm

Altın Üye
Katılım
15 Aralık 2017
Mesajlar
110
Excel Vers. ve Dili
Excel 2016 - Türkçe
Altın Üyelik Bitiş Tarihi
12-01-2029
Cok teşekkür ederim şuan bir sorun görünmüyor, olması halinde ekleme yaparım :)
Butona tıklayarak kodu çalıştıracağınız için iki kod satırı arasında çok fark olmayacaktır.

Koruma durumunu bir önceki mesajimdaki koda ekledim. Şifreyi kendi dosyaniza göre düzenleyip denersiniz.
 

By.TRabZonLutm

Altın Üye
Katılım
15 Aralık 2017
Mesajlar
110
Excel Vers. ve Dili
Excel 2016 - Türkçe
Altın Üyelik Bitiş Tarihi
12-01-2029
Butona tıklayarak kodu çalıştıracağınız için iki kod satırı arasında çok fark olmayacaktır.

Koruma durumunu bir önceki mesajimdaki koda ekledim. Şifreyi kendi dosyaniza göre düzenleyip denersiniz.
Hocam tekrar kontrol ettim herşey sorunsuz çalışıyor fakat görseldeki gibi otomatik olan kısım el ile olarak değişiyor. Bunu nasıl düzeltilir
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,290
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Kodu tekrar düzenledim. Deneyiniz.
 

By.TRabZonLutm

Altın Üye
Katılım
15 Aralık 2017
Mesajlar
110
Excel Vers. ve Dili
Excel 2016 - Türkçe
Altın Üyelik Bitiş Tarihi
12-01-2029
Kodu tekrar düzenledim. Deneyiniz.
Sorunsuz çalışıyor hocam fakat
Veri- bağlantıları düzenle kısmında makrolu Excel dosyasının bağlantısı görünüyor
Diğer husus da değerleri ile kaydettiği dosyada korumayı kaldıramazmiyiz. Makrolu dosya da yine korumalı kalacak şekilde
 

By.TRabZonLutm

Altın Üye
Katılım
15 Aralık 2017
Mesajlar
110
Excel Vers. ve Dili
Excel 2016 - Türkçe
Altın Üyelik Bitiş Tarihi
12-01-2029
Kodu tekrar revize ettim.
Hocam süpersiniz . Fakat tek birşey kaldı gibi görünüyor makrolu Excel açılırken şifre girip açılıyor. Fakat makrosuz kaydettiğinde şifre olmadan direkt açılıyor. Makrolu exceldeki şifre otomatik olarak ona eklenir mi hocam
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,290
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Onu demek istemedim. Şifre için kullandığınız arayüz nedir?
 
Üst