Şimdi Ara

Çalışma kitabını makro ile formülsüz kaydetme

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
2 Misafir - 2 Masaüstü
5 sn
5
Cevap
0
Favori
1.813
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • arkadaşlar elimdeki excel dosyasında birden fazla sayfa var ve tüm sayfalarda farklı formüller yer almaktadır. tüm sayfaları formülsüz ve makrosuz olarak farklı bir excele kaydetmek istiyorum, sayfaların biçimide bozulmadan.

    internette aşağıdaki kodu buldum, kod sadece aktif sayfayı formülsüz kaydediyor, diğer sayfalarda formüller kalmaya devam ediyor, diğer sayfalarında hepsinden formülleri iptal etmemiz nasıl mümkün olabilir bilen arkadaşlar varsa yardımcı olabilir mi.

    son olarak bu belki mümkün olmayabilir ama çalışma kitabında koruma var aynı makronun için bir ekleme yapılarak yeni kaydedilecek formülsüz ve makrosuz dosyanın çalışma kitabı parolasının kalkması sağlanabilir mi.

    Sub farklı()
    Dim YL As String, ÇLŞ As Variant, KÇLŞ As Variant
    YL = ThisWorkbook.Path & "\"
    Application.ScreenUpdating = False
    Application.DisplayAlerts = False
    KÇLŞ = ThisWorkbook.Name
    ÇLŞ = ActiveCell.Address
    ThisWorkbook.SaveAs YL & Replace(KÇLŞ, ".xlsm", ".xlsx"), xlOpenXMLWorkbook
    Cells.Select: Selection.Copy
    Selection.PasteSpecial Paste:=xlPasteValues
    Application.CutCopyMode = False
    Range(ÇLŞ).Select
    ThisWorkbook.Save
    Application.DisplayAlerts = True
    Application.ScreenUpdating = True
    Workbooks.Open (YL & KÇLŞ)
    Workbooks(Replace(KÇLŞ, ".xlsm", ".xlsx")).Close
    End Sub


    herkese, iyi forumlar.







  • Makrodaki bu kodları aşağıdaki verdiğim kodlarla değiştirip dener miziniz ? Verdiğim kodlar tüm sayfaları seçip değer olarak yapıştırıyor.

    Cells.Select: Selection.Copy
    Selection.PasteSpecial Paste:=xlPasteValues
    Application.CutCopyMode = False


    -------------------------------------------------

    Sheets.Select
    Sheets(1).Activate
    Cells.Select
    Application.CutCopyMode = False
    Selection.Copy
    Selection.PasteSpecial Paste:=xlPasteValues
    Application.CutCopyMode = False
    Sheets(1).Select

    --------------------------------

    Çalışma kitabında koruma derken dosya açılırken sorduğu açma korumasını mı, yoksa dosya içi korumayı mı söylüyorsunuz ? (Gözden geçir / Çalışma kitabını koru.)

    Eğer ikinci seçenekse

    ActiveWorkbook.Unprotect "ŞİFRE"

    kodunu yukarıda verdiğim kodların en üstüne kopyalayın. şifre yazan yere koruma şifresini yazmalısınız.

    Umarım işinizi görür. :)




  • cdemir kullanıcısına yanıt
    Hocam öncelikle ilginiz için çok teşekkür ederim.

    Belirttiğiniz kısımları ilettiğiniz kodlar ile değiştirip kodu aşağıdaki duruma getirdim, ancak bu şekliyle hata veriyor; "Method 'Select' of object 'Sheets' failed" mesajı ile kodun "Sheets.Select" kısmında hata veriyor, bunu nasıl düzeltebiliriz bilginiz var mıdır.

    Dosyada gizli sayfalar var ve çalışma kitabı koruması mevcut, bilmediğimden soruyorum acaba bu gizli sayfalardan dolayı sayfaları seçme hatası verebilir mi.

    Ayrıca şifre içinde ikinci belirttiğiniz gibi durum; Gözden geçir / Çalışma kitabını koru kısmında yer alan korumadan bahsediyorum, bunun içinde verdiğiniz kodu yine sizin ilettiğiniz kodun kısmın üstüne yerleştirip "ŞİFRE" yazan yere parolayı yazdım ancak bir altta hata verdiği için çalışıp çalışmadığını kontrol edemedim.


    Sub farklı()
    Dim YL As String, ÇLŞ As Variant, KÇLŞ As Variant
    YL = ThisWorkbook.Path & "\"
    Application.ScreenUpdating = False
    Application.DisplayAlerts = False
    KÇLŞ = ThisWorkbook.Name
    ÇLŞ = ActiveCell.Address
    ThisWorkbook.SaveAs YL & Replace(KÇLŞ, ".xlsm", ".xlsx"), xlOpenXMLWorkbook
    ActiveWorkbook.Unprotect "190101.ISS"
    Sheets.Select
    Sheets(1).Activate
    Cells.Select
    Application.CutCopyMode = False
    Selection.Copy
    Selection.PasteSpecial Paste:=xlPasteValues
    Application.CutCopyMode = False
    Sheets(1).Select
    Range(ÇLŞ).Select
    ThisWorkbook.Save
    Application.DisplayAlerts = True
    Application.ScreenUpdating = True
    Workbooks.Open (YL & KÇLŞ)
    Workbooks(Replace(KÇLŞ, ".xlsm", ".xlsx")).Close
    End Sub

    Düzeltme: Ekleme.



    < Bu mesaj bu kişi tarafından değiştirildi ekpe_babam -- 5 Mart 2019; 8:29:27 >




  • Hocam tahmin ettiğiniz gibi sorun gizli sayfalardan kaynaklanıyor. Eğer o sayfaların görünür olmasında sorun yoksa makro ile onları da görünür yapabiliriz.

    Tabi kopyala değerleri yapıştıra o sayfalarda dahil olacak.

    Kaydetme işleminden önce o sayfaları tekrar gizleyebiliriz. Eğer uygunsa eve gittiğimde musait olunca kodları ayarlayabilirim :)
  • 
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.