• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

Modül silme

Modülü sağ tıklayın ve önce Remove Modüle, sonra Hayır'ı tıklayın.
 
Sayın mehmett,macro ile silebilirmiyiz.Sayfa1 altında yazılmış macro var ve bu sayfayı başka bir
kitapçığa kopyalıyor ancak kopyalandığı yerde bu makronun silinmesi gerekir.
 
merhaba
bu konuda syn Haluk beyin çalışması var.
sitede arama yapın. umarım dosya silinmiş olsa bile kodlar duruyordur.
 
Sayın uzmanamele,bu konu ile ilgili arama yaptım ancak bir netice alamadım,eski kayıtlarda indirile
miyor ve burada takıldım.
 
merhaba

syn Haluk beyin kodları

modül_1 de

Kod:
Sub MyMacro()
    MsgBox "Merhaba...!"
End Sub

modül_2 de
Kod:
Sub Test()
        Set MyMod = ThisWorkbook.VBProject.VBComponents("Module1")
        ThisWorkbook.VBProject.VBComponents.Remove MyMod
        Set MyMod = ThisWorkbook.VBProject.VBComponents("Module2")
        MyMod.CodeModule.DeleteLines 5, 11
        ThisWorkbook.Save
End Sub

test makrosunu çalışdırdığınızda molül_1 silinir

not:
makro / güvenlik / Visual Basic Project erişimine güven seçeneği işaretli olmalıdır.
 
Veya, bütün kod modüllerini silmek ve silinemeyen modüllerdeki (ThisWorkbook ve sayfa modülleri) kod satırlarını silmek için;

Kod:
    For Each MyMod In ThisWorkbook.VBProject.VBComponents
        Set MyMod = ThisWorkbook.VBProject.VBComponents(MyMod.Name)
        If MyMod.Type = 100 Then
            Set VBCodeMod = MyMod.CodeModule
            MyMod.CodeModule.DeleteLines 1, VBCodeMod.CountOfLines
        Else
            ThisWorkbook.VBProject.VBComponents.Remove MyMod
        End If
    Next

.
 
merhaba
syn zırzır, içiniz rahat olsun. sorunu çözeceğiniz kesin. syn Haluk olaya el koymuş durumda :)
 
Alemsiniz yani Süleyman bey ... :mrgreen:

.
 
Veya, bütün kod modüllerini silmek ve silinemeyen modüllerdeki (ThisWorkbook ve sayfa modülleri) kod satırlarını silmek için;

Kod:
    For Each MyMod In ThisWorkbook.VBProject.VBComponents
        Set MyMod = ThisWorkbook.VBProject.VBComponents(MyMod.Name)
        If MyMod.Type = 100 Then
            Set VBCodeMod = MyMod.CodeModule
            MyMod.CodeModule.DeleteLines 1, VBCodeMod.CountOfLines
        Else
            ThisWorkbook.VBProject.VBComponents.Remove MyMod
        End If
    Next

.

Selamlar

Sadece thisworkbook içindeki kodları makro ile silmek için ne yapmak lazım?


Dosyamın thisworkbook kısmında aşağıdaki kodları kullanıyorum. Fakat kullandığım başka bir makroda (pdf yazdırma işlemi yapan bir makro) yazdırma için kullandığım butonunu tıkladığımda thisworkbook' taki kodlarında silinmesini istiyorum.

Private Sub Workbook_Open()
Application.AskToUpdateLinks = False
ActiveWorkbook.UpdateLink Name:=ActiveWorkbook.LinkSources
End Sub

Şimdiden teşekkürler.
 
Kod:
Sub Test()
    Set MyMod = ThisWorkbook.VBProject.VBComponents("ThisWorkbook")
    MyMod.CodeModule.DeleteLines 1, MyMod.CodeModule.CountOfLines
End Sub
 
biraz geç yazabildim ama çok teşekkürler emeğinize sağlık
 
Geri
Üst