Makro atanmış Düğme (Form Denetimi) butonlarının kaybolması

Katılım
6 Ağustos 2008
Mesajlar
142
Excel Vers. ve Dili
2013 , Türkçe
Altın Üyelik Bitiş Tarihi
14/03/2023
Arkadaşlar, Geliştirici > Ekle > Form Denetimleri > Düğme (Form Denetimi) nden makro atanmış butonlar ekledim. Hepsine makrolarını atadım, dosyayı kaydettim. Kapattım açtım butonların hepsi kaybolmuş (Herhangi bir gizleme/gösterme/filtreleme.. v.b yapmadım). Daha sonra denemek için 1 buton daha ekleyip dosyayı kaydettim ve yeniden kapatıp açtım buton yeniden kayboldu. Yani butonları bir türlü kalıcı hale getiremedim. Desteğinizi rica ederim.
 

askm

Destek Ekibi
Destek Ekibi
Katılım
4 Haziran 2005
Mesajlar
2,745
Excel Vers. ve Dili
2010-2016
Dosyanızı görmeden yorul yapmak zor ama ihtimalle açılış kodlarınız mevcut ve resimleri nesneleri sil komutları var. Onlar butonları silmeye yarıyor.
 
Katılım
6 Ağustos 2008
Mesajlar
142
Excel Vers. ve Dili
2013 , Türkçe
Altın Üyelik Bitiş Tarihi
14/03/2023
Makro kodları aşağıdaki gibi, acaba buradan bir sonuca varabilir miyiz?

Kod:
Sub Sbt_desen_tüm_ebatlar()
'
' Sbt_desen_tüm_ebatlar Makro
'

'
    Application.EnableEvents = False

    ActiveSheet.PivotTables("PivotTable1").PivotFields("Desen").CurrentPage = ActiveCell.Value
    
    ActiveSheet.PivotTables("PivotTable1").PivotFields("Klnlık").CurrentPage = _
        "(All)"
    
    Application.EnableEvents = True
        

End Sub


Sub Kalınlık_18_mm_ye_dön()
'
' Kalınlık_18_mm_ye_dön Makro
'

'
    ActiveSheet.PivotTables("PivotTable1").PivotFields("Desen").ClearAllFilters
    ActiveSheet.PivotTables("PivotTable1").PivotFields("Desen").CurrentPage = _
        "(All)"
    ActiveSheet.PivotTables("PivotTable1").PivotFields("Klnlık").ClearAllFilters
    ActiveSheet.PivotTables("PivotTable1").PivotFields("Klnlık").CurrentPage = "18"
End Sub
Sub Kalınlık_18mm()
'
' Kalınlık_18mm Makro
'

'
    ActiveSheet.PivotTables("PivotTable1").PivotFields("Klnlık").ClearAllFilters
    ActiveSheet.PivotTables("PivotTable1").PivotFields("Klnlık").CurrentPage = "18"
End Sub
Sub Kalınlık_25mm()
'
' Kalınlık_25mm Makro
'

'
    ActiveSheet.PivotTables("PivotTable1").PivotFields("Klnlık").ClearAllFilters
    ActiveSheet.PivotTables("PivotTable1").PivotFields("Klnlık").CurrentPage = "25"
End Sub
Sub Kalınlık_30mm()
'
' Kalınlık_30mm Makro
'

'
    ActiveSheet.PivotTables("PivotTable1").PivotFields("Klnlık").ClearAllFilters
    ActiveSheet.PivotTables("PivotTable1").PivotFields("Klnlık").CurrentPage = "30"
End Sub
Sub en_210mm()
'
' en_210mm Makro
'

'
    ActiveSheet.PivotTables("PivotTable1").PivotFields("En").ClearAllFilters
    ActiveSheet.PivotTables("PivotTable1").PivotFields("En").CurrentPage = "210"
End Sub
Sub En_183mm()
'
' En_183mm Makro
'

'
    ActiveSheet.PivotTables("PivotTable1").PivotFields("En").ClearAllFilters
    ActiveSheet.PivotTables("PivotTable1").PivotFields("En").CurrentPage = "183"
End Sub
Sub Boy_280()
'
' Boy_280 Makro
'

'
    ActiveSheet.PivotTables("PivotTable1").PivotFields("Boy").ClearAllFilters
    ActiveSheet.PivotTables("PivotTable1").PivotFields("Boy").CurrentPage = "280"
End Sub
Sub Boy_366()
'
' Boy_366 Makro
'

'
    ActiveSheet.PivotTables("PivotTable1").PivotFields("Boy").ClearAllFilters
    ActiveSheet.PivotTables("PivotTable1").PivotFields("Boy").CurrentPage = "366"
End Sub
Sub Üretim_Durumu_Üretilebilir()
'
' Üretim_Durumu_Üretilebilir Makro
'

'
    ActiveSheet.PivotTables("PivotTable1").PivotFields("Üretim Durumu"). _
        ClearAllFilters
    ActiveSheet.PivotTables("PivotTable1").PivotFields("Üretim Durumu"). _
        CurrentPage = "ÜRETİLEBİLİR"
End Sub
Sub Filtreleri_temizle()
'
' Filtreleri_temizle Makro
'

'
    ActiveSheet.PivotTables("PivotTable1").ClearAllFilters
End Sub
Sub MAL_GRUBU_MKYL()
'
' MAL_GRUBU_MKYL Makro
'

'
    ActiveSheet.PivotTables("PivotTable1").PivotFields("MAL GRUBU").ClearAllFilters
    ActiveSheet.PivotTables("PivotTable1").PivotFields("MAL GRUBU").CurrentPage = _
        "MKYL"
End Sub
Sub MAL_GRUBU_YL()
'
' MAL_GRUBU_YL Makro
'

'
    ActiveSheet.PivotTables("PivotTable1").PivotFields("MAL GRUBU").ClearAllFilters
    ActiveSheet.PivotTables("PivotTable1").PivotFields("MAL GRUBU").CurrentPage = _
        "YL"
End Sub
 
Katılım
6 Ağustos 2008
Mesajlar
142
Excel Vers. ve Dili
2013 , Türkçe
Altın Üyelik Bitiş Tarihi
14/03/2023
Evet haklısınız, başka bir makrodaki nesneleri silme alanını değiştirince düzeldi. Teşekkürler.
 
Katılım
6 Ağustos 2008
Mesajlar
142
Excel Vers. ve Dili
2013 , Türkçe
Altın Üyelik Bitiş Tarihi
14/03/2023
askm Bey/Hanım , 1 buton ekleyip denedim olmuştu. Şimdi yine olmuyor. Nesneleri silinmesini sağlayan kod aşağıdaki gibi, rica etsem yardımcı olabilir misiniz? Silinecek alanı N9:O40 olarak belirlemiştim, butonlar ise A1:K8 arasında yer alıyor.

Kod:
Public Function DosyaVarmi(dosyayolu As String) As Boolean
    On Error GoTo Çikis
    If Not Dir(dosyayolu, vbDirectory) = vbNullString Then DosyaVarmi = True
     
Çikis:
    On Error GoTo 0
End Function
 
'worksheette bir degisiklik oldugunda bu kisim çalisiyor
Private Sub Worksheet_Change(ByVal Target As Range)
 
'degisiklik b sutunundami olmus diye kontrol et, degilse direk olarak fonksiyondan çik
If Intersect(Target, [E1]) Is Nothing Then Exit Sub

Dim ResimDosyaYolu As String
Dim Resim As Object
Dim Resim_yolu
 
'herhangi bir hata olusursa Çikis labelina git
On Error GoTo Çikis:

'resimleri Sil
Set Alan = Range("N9:O40")
 For Each Resim In ActiveSheet.Pictures
        If Not Intersect(Resim.TopLeftCell, Alan) Is Nothing Then
            Resim.Delete
        End If
Next

'b deki 5 ile 12 arasindaki satirlari kontrol edip resim atamasi yapiyoruz, siz burayi isteginize göre artirabilirsiniz
'For i = 5 To 12
    'aktif sayfanin path bilgisini alip, seçilen ürün idyi sonuna ekliyoruz ve dosyayi aliyoruz
    ResimDosyaYolu = Resim_yolu & "\\orfs1\depo\Planlama\Desen_resimler\" & Range("e" & 1) & ".jpg"
 
    'dosya yok ise hataya düsmemek için asagidaki kontrolü yapiyoruz.
    If DosyaVarmi(ResimDosyaYolu) Then
         ResimDosyaYolu = Resim_yolu & "\\orfs1\depo\Planlama\Desen_resimler\" & Range("e" & 1) & ".jpg"
   Else
         ResimDosyaYolu = Resim_yolu & "\\orfs1\depo\Planlama\Desen_resimler\yok.jpg"
   End If
         
    'resmi olusturuyoruz.
     Set Resim = ActiveSheet.Pictures.Insert(ResimDosyaYolu)
     'Resmi boyutlandiriyoruz
     With Range("n9:o28")
     Resim.ShapeRange.LockAspectRatio = msoFalse
     Resim.Top = .Top
     Resim.Left = .Left
     Resim.Height = .Height
     Resim.Width = .Width
     End With
 
'Next i
Çikis:
End Sub
 
Son düzenleme:
Üst