Sekme kaydetmek için kullandığım VBA kodu eski excel sürümünde çalışmıyor. Yerine kullanabileceğim bir kod var mı?

Katılım
14 Mart 2018
Mesajlar
11
Excel Vers. ve Dili
2017
Ben bir öğretmenim. Çocukların raporlarını yazdığım bir Excel dosyası var ve bunu başka öğretmenlerle paylaşıyorum.
İki tane sorunum var.

Birincisi: Alttaki kod ile .xlsm uzantılı rapor programımın rapor sekmesini .xlsx olarak kaydetmek istiyorum. Normalde kod, kodu yazdığım Office 16 sürümünde çalışıyor fakat Excel 2007 ve önceki sürümlerde çalışmıyor.Bu kodu önceki sürümlerde de çalışacak şekilde çalıştırabilmemin bir yolu var mı?

Private Sub CommandButton2_Click()

DosyaAdi = Range("d5")
Application.DisplayAlerts = False
Sheets("Rapor").Copy
ActiveWorkbook.SaveAs (DosyaAdi & ".xlsx")
Sheets("Rapor").Shapes(1).Delete
Sheets("Rapor").Range("N1:N8").ClearContents
Sheets("Rapor").Shapes(1).Delete
Application.Dialogs(xlDialogSaveAs).Show (DosyaAdi & ".xlsx")
Application.DisplayAlerts = True
Workbooks(DosyaAdi & ".xlsx").Close

End Sub




İkincisi: Alttaki kod ile Rapor sayfasını sadece 1. sayfanın çıktısını aldırıyorum. (2. sayfada butonlar var ve öğretmenlerin bazıları sadece 1. sayfanın çıktısını almayı bilmediği için CTRP + P ile çıktı aldığında yarı yarıya kağıt israfı oluyor.) Bu kodda da hem eski versiyonlarda çıktı alma butonu çalışmıyor hem de eğer yazıcı olarak PDF olarak kaydetme seçiliyse ve İptal'e basıldıysa Debug sayfası açılıyor ve .......................... sebepten yazdırılamadı diye bir uyarı veriyor. Yazdırılamasa bile bu debug sayfasının çıkmamasını sağlamanın bir yolu var mı?
Private Sub CommandButton3_Click()

Sheets("Rapor").Select
ActiveSheet.Range("A1").Select
Cancel = True
ActiveSheet.Range("A1:L25").PrintOut

End Sub
 

Muzaffer Ali

Destek Ekibi
Destek Ekibi
Katılım
5 Haziran 2006
Mesajlar
6,272
Excel Vers. ve Dili
2019 Türkçe
Merhaba.
Önceki sürümlerde çalışması için *.xls formatında kaydetmelisiniz ve dosya biçimini de belirtmelisiniz.
Örnek: ActiveWorkbook.SaveAs Filename:=DosyaAdi & ".xls", FileFormat:=xlExcel8
 
Katılım
14 Mart 2018
Mesajlar
11
Excel Vers. ve Dili
2017
Merhaba.
Önceki sürümlerde çalışması için *.xls formatında kaydetmelisiniz ve dosya biçimini de belirtmelisiniz.
Örnek: ActiveWorkbook.SaveAs Filename:=DosyaAdi & ".xls", FileFormat:=xlExcel8
Merhaba. Tam anlatamadım sanırım. (Ya da ben sizi anlayamadım)
Benim raporu hazırlayan xlsm uzantılı bir Excelim var.
Butona bastığımda sekmedeki butonları kaldırıp, N1:N8 arasındaki yazıları silip, xlsx uzantısıyla sadece rapor olarak kaydetmesini istiyorum. (VBA dosyasını da silip)

Buton yukarıda yazdığım şekilde çalışıyor fakat eski Excel sürümlerinde buton aktif olmuyor. Butona tıklanıyor ama çalışmıyor.
 

Muzaffer Ali

Destek Ekibi
Destek Ekibi
Katılım
5 Haziran 2006
Mesajlar
6,272
Excel Vers. ve Dili
2019 Türkçe
Dosyayı ekleyin kontrole delim
Dosyanızı dosya.co gibi bir sitede paylaşabilirsiniz
 
Üst