Arama butonu
Bu konudaki kullanıcılar: 1 misafir, 1 mobil kullanıcı
3
Cevap
2040
Tıklama
0
Öne Çıkarma
Çalışma kitabını makro ile formülsüz kaydetme
E
7 yıl
Yüzbaşı
Konu Sahibi

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.

DH forumlarında vakit geçirmekten keyif alıyor gibisin ancak giriş yapmadığını görüyoruz.

Üye olduğunda özel mesaj gönderebilir, beğendiğin konuları favorilerine ekleyip takibe alabilir ve daha önce gezdiğin konulara hızlıca erişebilirsin.

Üye Ol Şimdi Değil



C
7 yıl
Yarbay

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. :)



< Bu ileti mobil sürüm kullanılarak atıldı >
Bu mesaja 1 cevap geldi.
E
7 yıl
Yüzbaşı
Konu Sahibi

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 >


Bu mesajda bahsedilenler: @cdemir
C
7 yıl
Yarbay

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 :)



< Bu ileti mobil sürüm kullanılarak atıldı >

DH Mobil uygulaması ile devam edin. Mobil tarayıcınız ile mümkün olanların yanı sıra, birçok yeni ve faydalı özelliğe erişin. Gizle ve güncelleme çıkana kadar tekrar gösterme.