sil makrosu oluşturma

muhsar

Altın Üye
Katılım
16 Mart 2019
Mesajlar
270
Excel Vers. ve Dili
2010 tütkçe
Altın Üyelik Bitiş Tarihi
21-03-2029
merhaba,ekteki çalışmada kişi ekle yaptığımda isim soy isim ile kişi ekleyip ,kişi adıyla sayfa açılıp köprü oluşturuyor.
yapmak istediğim oluşturulmuş olan bir kişi sayfasını sil dediğimde ana sayfada oluşturulan kişinin isminide listeden silmesi,
şuanda sayfayı siliyorum anasayfadan manuel olarak silmem gerekiyor.makroyu güncelleyebilirseniz çok sevinirim.teşekkürler.
 

Ekli dosyalar

Necdet

Moderatör
Yönetici
Katılım
4 Haziran 2005
Mesajlar
15,416
Excel Vers. ve Dili
Ofis 365 Türkçe
Merhaba,
Aşağıdaki kodları ThisWorkbook'un kod sayfasına kopyalayıp deneyiniz.

Kod:
Private Sub Workbook_SheetBeforeDelete(ByVal Sh As Object)
 
Dim c As Range

Set c = Sheets("ANASAYFA").Range("a:a").Find(ActiveSheet.Name, LookIn:=xlValues, LookAt:=xlWhole)
If Not c Is Nothing Then
    Sheets("ANASAYFA").Range("A" & c.Row & ":C" & c.Row).Delete Shift:=xlUp
End If

End Sub
 

muhsar

Altın Üye
Katılım
16 Mart 2019
Mesajlar
270
Excel Vers. ve Dili
2010 tütkçe
Altın Üyelik Bitiş Tarihi
21-03-2029
merhaba,ilginiz için teşekkür ederim,kodları kopyayıp denedim fakat değişiklik olmadı,anasayfadan müşteri silinmedi
 

Ekli dosyalar

muhsar

Altın Üye
Katılım
16 Mart 2019
Mesajlar
270
Excel Vers. ve Dili
2010 tütkçe
Altın Üyelik Bitiş Tarihi
21-03-2029
Son dosyanızda denedim, çalışıyor kodlar. Siz neden çalışmıyor dediniz ki?
3 nolu mesajda verdiğiniz kodları sayfaya ekleyip cevap olarak tekrar yükledim.bende çalışmadı.öüşteriyi sil dediğimde sayfayı siliyor fakar ana sayfadaki karşılığını silmiyordu.belki bende sorun vardır.teşekkür ediyorum
 

Necdet

Moderatör
Yönetici
Katılım
4 Haziran 2005
Mesajlar
15,416
Excel Vers. ve Dili
Ofis 365 Türkçe
Sayfayı sildiğnizde ana sayfadan kişiyi siler.
siz sanırım ters yapıyorsunuz, ana sayfadaki kişiyi sildiğinizde tabi ki bir şey olmaz. Sorunuzu o şekilde anladım çünkü.
 

Necdet

Moderatör
Yönetici
Katılım
4 Haziran 2005
Mesajlar
15,416
Excel Vers. ve Dili
Ofis 365 Türkçe
Tekrar meraba,

yukarıda verdiğim kodlar geçerli olmak üzere (ki sayfa silindiğinde çalışan kodlar), aşağıdaki kodları da ANASAYFA'ın kod bölümüne kopyalarsanız
ve ANASAYFA da A:C sütununda bir hücreye ÇİFT TIKlarsanız ilgili satırdaki Müşteri ve sayfası silinir.

Kod:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)

If Intersect(Target, [A:C]) Is Nothing Or Target.Row < 3 Then Exit Sub
On Error Resume Next
With Application
    .DisplayAlerts = False
    .ScreenUpdating = False
    .EnableEvents = False
End With

Sheets(Cells(Target.Row, "A").Value).Delete
If Err.Number <> 0 Then MsgBox Cells(Target.Row, "A") & " SAYFASINI BULAMADIM...."
On Error GoTo 0
Range("A" & Target.Row & ":C" & Target.Row).Delete Shift:=xlUp

With Application
    .DisplayAlerts = True
    .ScreenUpdating = True
    .EnableEvents = True
End With

End Sub
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,542
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Merhaba Necdet Bey,

Siz ilk paylaştığınız kodda aktif sayfa adını aratmışsınız. Belki arkadaşımız sayfayı seçmeden sildiriyordur. Bu sebeple sonuç alamamış olabilir.

Workbook_SheetBeforeDelete(ByVal Sh As Object)

Yukarıdaki bold bölümü aratırsanız çözüm olabilir.
 

Necdet

Moderatör
Yönetici
Katılım
4 Haziran 2005
Mesajlar
15,416
Excel Vers. ve Dili
Ofis 365 Türkçe
Merhaba Korhan Bey,

ilk kod çalışıyor, bir sıkıntı yok.
 
Üst