Buton Sabitleme- Yeniden getirme

semih001

Altın Üye
Katılım
6 Şubat 2024
Mesajlar
22
Excel Vers. ve Dili
2013
Altın Üyelik Bitiş Tarihi
02-06-2025
selamlar;

çalışma Sayfası yenilendiğinde eklediğim buton kayboluyor. Sayfa yenilendiğinde makro atadığım buton kaybolmasın ya da yeniden gelsin istiyorum. Sayfadaki diğer makro resim getirme makrosu. Yardımcı olabilirseniz sevinirim.

Private Sub Worksheet_Change(ByVal Target As Range)
Dim ResimYolu As String
If Not Intersect(Target, [E3]) Is Nothing Then
DrawingObjects.Delete
ResimYolu = ActiveWorkbook.Path & "\" & Range("E3")

If Dir(ResimYolu & ".jpg") <> "" Then
ResimYolu = ResimYolu & ".jpg"
ElseIf Dir(ResimYolu & ".png") <> "" Then
ResimYolu = ResimYolu & ".png"
Else
MsgBox "'" & Range("E3") & "' adlı resim bulunamıyor." & vbLf & "Lütfen kontrol edip yeniden deneyiniz."
Exit Sub
End If

Set resim = Pictures.Insert(ResimYolu)
With Range("H5:I14")
resim.ShapeRange.LockAspectRatio = msoFalse
resim.Top = .Top
resim.Left = .Left
resim.Height = .Height
resim.Width = .Width
End With
End If
End Sub
 

semih001

Altın Üye
Katılım
6 Şubat 2024
Mesajlar
22
Excel Vers. ve Dili
2013
Altın Üyelik Bitiş Tarihi
02-06-2025
Elimde bir de bu kod var ancak düzenleyemedim

Private Sub Worksheet_Change(ByVal Target As Range)
Dim btn As Button
For Each btn In Me.Buttons
btn.Delete
Next btn
Set btn = Me.Buttons.Add(Left:=100, Top:=50, Width:=100, Height:=30)
With btn
.Caption = "Yeni Buton"
.OnAction = " Butonun çalıştıracağı MakroAdı"
End With
End Sub
 
Katılım
6 Mart 2024
Mesajlar
88
Excel Vers. ve Dili
Excel 2013 TR & Excel 2016 TR
Merhaba,

resim.Width = .Width satırının altına aşşağıda ki satırı ekleyiniz.

resim.OnAction = "MakroIsmi"
 
Katılım
6 Mart 2024
Mesajlar
88
Excel Vers. ve Dili
Excel 2013 TR & Excel 2016 TR
E3 hücresin de bir değişiklik olduğun da
Excel kitabının kayıtlı olduğu dosya yolunda
E3 hücresi Değeri(Value) ile aynı Ad da jpg veya png dosyası var ise
Bu image dosyasını sayfanın H5:I14 hücrelerinin olduğu yeri kaplayacak şeklinde yerleştiriyor
Ve bu image tıklanınca istediğiniz makro çalışıyor (image button a dönüştü)

Bu butondan mı bahsediyorsunuz ?
isteginiz bu ise sizin kodlarınızda revizeye göre çalışıyor

C++:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim ResimYolu As String
If Not Intersect(Target, [E3]) Is Nothing Then
DrawingObjects.Delete
ResimYolu = ActiveWorkbook.Path & "\" & Range("E3")

If Dir(ResimYolu & ".jpg") <> "" Then
ResimYolu = ResimYolu & ".jpg"
ElseIf Dir(ResimYolu & ".png") <> "" Then
ResimYolu = ResimYolu & ".png"
Else
MsgBox "'" & Range("E3") & "' adlı resim bulunamıyor." & vbLf & "Lütfen kontrol edip yeniden deneyiniz."
Exit Sub
End If

Set resim = Pictures.Insert(ResimYolu)
With Range("H5:I14")
resim.ShapeRange.LockAspectRatio = msoFalse
resim.Top = .Top
resim.Left = .Left
resim.Height = .Height
resim.Width = .Width
resim.OnAction = "MakroIsmi" ' kendi makronuzun ismini yazacaksınız.
End With
End If
End Sub
 
Üst