Farkli Kaydette Makrolarin TaŞinmamasi

Katılım
3 Eylül 2007
Mesajlar
45
Excel Vers. ve Dili
2006 türkçe
Yardımlarınız için şimdiden teşekkürler

Çok sayfalı Bir excel dosyasında makrolar kullandım.Bu makroların ve ilgili butonların farklı kaydet dediğimde kaydedeceği dosyaya taşınmasını istemiyorum.(Daha önce aynı dosyada,farklı kaydederken dosyanın sadece bir sayfasını kaydetmesi ve dosya ismi olarakta günün tarihi ile birlikte bir hücrede yazan ismi vermesi için bir makro kullanmıştım.Makroların kaydedeceğim sayfaya taşınmaması ile ilgili makroyuda bununla birlikte kullanacağım)Yardımınızı bekliyorum
 
Son düzenleme:

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,058
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
Aşağıdaki prosedürü thisworkbook sayfasına kopyayın ve if koşulunun içine modülleri silen kodları yerleştirin.

Kod:
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
If SaveAsUI = True Then
.
.Modülleri silen kodlar
.
End If
End Sub
 
Katılım
16 Kasım 2007
Mesajlar
700
Excel Vers. ve Dili
Office 2003 - Tr
Bu iş tehlikelidir. Dikkatli uygulayın...

Elimde bulunan bu konu ile ilgili kodu isterseniz deneyin ama. Çalışmanızın bir örneğini almayı unutmadan...

Sub farklıkaydet()
Dim vFilename As Variant
Dim wbActiveBook As Workbook
Dim oVBComp As Object
Dim oVBComps As Object

vFilename = Application.GetSaveAsFilename(filefilter:="Microso ft Excel Workbooks,*.xls", _
Title:="Save Copy Without Macros")
If vFilename = False Then Exit Sub
ActiveWorkbook.SaveCopyAs vFilename
Set wbActiveBook = Workbooks.Open(vFilename)
Set VBComps = ActiveWorkbook.VBProject.VBComponents
For Each VBComp In VBComps
Select Case VBComp.Type
Case 100
With VBComp.CodeModule
.DeleteLines 1, .CountOfLines
End With
Case Else
VBComps.Remove VBComp
End Select
Next VBComp
Set VBComps = Nothing
End Sub
 
Katılım
12 Temmuz 2008
Mesajlar
90
Excel Vers. ve Dili
2003 TÜRKÇE
Bu kodlara ilave olarak birde formüllerin oluşturulan yeni sayfaya değer olarak alınmasını sağlayabilirmiyiz?
Hücre biçimlendirmeleri vb.'lerininde değişmemesi gerekli.
Ve birde kitaba "a1" hücresindeki değeri ad olarak atayabilirmiyiz?

Elimde bulunan bu konu ile ilgili kodu isterseniz deneyin ama. Çalışmanızın bir örneğini almayı unutmadan...

Sub farklıkaydet()
Dim vFilename As Variant
Dim wbActiveBook As Workbook
Dim oVBComp As Object
Dim oVBComps As Object

vFilename = Application.GetSaveAsFilename(filefilter:="Microso ft Excel Workbooks,*.xls", _
Title:="Save Copy Without Macros")
If vFilename = False Then Exit Sub
ActiveWorkbook.SaveCopyAs vFilename
Set wbActiveBook = Workbooks.Open(vFilename)
Set VBComps = ActiveWorkbook.VBProject.VBComponents
For Each VBComp In VBComps
Select Case VBComp.Type
Case 100
With VBComp.CodeModule
.DeleteLines 1, .CountOfLines
End With
Case Else
VBComps.Remove VBComp
End Select
Next VBComp
Set VBComps = Nothing
End Sub
 
Üst