• DİKKAT

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

Hücredeki değere göre sayfa silme

Katılım
21 Ocak 2009
Mesajlar
40
Excel Vers. ve Dili
Office 2013
Merhaba üstadlar;

"AnaSayfa" isimli sayfadaki F18 hücresindeki değer ile aynı isimdeki sayfayı (aynı çalışma kitabı içinde) silmek istiyorum, fakat bir yerde yanlış var "Sheets(Range("F18").Value).Delete" satırında hata veriyor. Bir de eğer F18 hücresindeki değerde sayfa adı yoksa "sayfa bulunamadı" gibi bir mesaj da ekleyebilirmiyiz. kodlar aşağıdaki gibi;

Kod:
Sub PersonelSayfasiniSil()
'
' PersonelSayfasiniSil Makro
' bulunan personel sayfasını siler

Sheets("AnaSayfa").Select
If Range("F18").Value = "" Then Exit Sub
If MsgBox(Range("F18").Value & " sicil numaralı personelin sayfasını silmek istiyormusunuz musunuz? ", vbCritical + vbYesNo) = vbNo Then
Else
Application.DisplayAlerts = False
Sheets(Range("F18").Value).Delete
Sheets(Range("F18").Value) = ""
Application.DisplayAlerts = True
End If
End Sub
 
Deneyiniz.

Kod:
Sub Sayfa_Sil()
    Set S1 = Sheets("AnaSayfa")
    If S1.Range("F18") <> "" Then
        Set S2 = Nothing
        On Error Resume Next
        Set S2 = Sheets(S1.Range("F18").Text)
        On Error GoTo 0
        If Not S2 Is Nothing Then
            Onay = MsgBox("Silmek istediğinize emin misiniz?", vbCritical + vbYesNo + vbDefaultButton2)
            If Onay = vbNo Then
                MsgBox "Silme işlemi iptal edilmiştir.", vbInformation
                Exit Sub
            End If
            Application.DisplayAlerts = False
            S2.Delete
            Application.DisplayAlerts = True
        Else
            MsgBox "Sayfa bulunamadı!"
        End If
    Else
        MsgBox "Hücreye sayfa adı yazılmamış!"
    End If
End Sub
 
Deneyiniz
Kod:
Sub PersonelSayfasiniSil()
Sheets("AnaSayfa").Select
If Range("F18").Value = "" Then Exit Sub
sayfa = Range("F18").Value
Sheets(sayfa).Delete
End Sub
 
Çok teşekkür ediyorum, bu şekilde çalışıyor, fakat işlem kritik olduğu için "silmek istiyor musunuz" şeklinde uyarı verirse iyi olacak, ilk gönderdiğim kodun içinde vardı, onunla birlikte nasıl yazabiliriz?
 
Deneyiniz.

Kod:
Sub Sayfa_Sil()
    Set S1 = Sheets("AnaSayfa")
    If S1.Range("F18") <> "" Then
        Set S2 = Nothing
        On Error Resume Next
        Set S2 = Sheets(S1.Range("F18").Text)
        On Error GoTo 0
        If Not S2 Is Nothing Then
            Application.DisplayAlerts = False
            S2.Delete
            Application.DisplayAlerts = True
        Else
            MsgBox "Sayfa bulunamadı!"
        End If
    Else
        MsgBox "Hücreye sayfa adı yazılmamış!"
    End If
End Sub


bu kodun içine "silmek istiyormusunuz" şeklinde onay ekleyebilirsek tam gerektiği gibi olacak. teşekkür ediyorum emeğinize
 
Çok teşekkür ediyorum, bu şekilde çalışıyor, fakat işlem kritik olduğu için "silmek istiyor musunuz" şeklinde uyarı verirse iyi olacak, ilk gönderdiğim kodun içinde vardı, onunla birlikte nasıl yazabiliriz?
Excel'in otomatik uyarıcısı zaten çıkaçaktır.Bir daha neden uyarıcıya gerek var.
 
Excel'in otomatik uyarıcısı zaten çıkaçaktır.Bir daha neden uyarıcıya gerek var.
hücre boş olduğunda, ilgili sayfa bulunamadığında gerekli mesajları vermek ayrıca sayfa silinmeden önce excel uyarısı dışında uygun olan mesajları kendim mesaj yazmak istemiştim. teşekkür ediyorum ilgilendiğiniz için.
 
hücre boş olduğunda, ilgili sayfa bulunamadığında gerekli mesajları vermek ayrıca sayfa silinmeden önce excel uyarısı dışında uygun olan mesajları kendim mesaj yazmak istemiştim. teşekkür ediyorum ilgilendiğiniz için.
InputBox ile sayfa silme
Kod:
Sub sayfasil()
Dim i As Integer
Application.DisplayAlerts = False
sil = InputBox("Silmek İstediğiniz Sayfanın adını giriniz")
If sil = "" Then
MsgBox "Sayfa ismi girmediniz"
Exit Sub
   End If
   If sil = ActiveSheet.Name Then
MsgBox "Bulunduğunuz sayfadan başka sayfa ismi giriniz"
Exit Sub
   End If
   For i = 1 To Worksheets.Count
   If Worksheets(i).Name = sil Then GoTo 10
  If i = Worksheets.Count Then GoTo 20
         Next i
10:
Onay = MsgBox("Silmek istediğinize emin misiniz?", vbCritical + vbYesNo + vbDefaultButton2)
            If Onay = vbNo Then
                MsgBox "Silme işlemi iptal edilmiştir.", vbInformation
                Exit Sub
                End If
Sheets(sil).Delete
            Exit Sub
20:
MsgBox "Bu isimde bir sayfa bulunamadı"
Application.DisplayAlerts = True
End Sub
 
Son düzenleme:
Geri
Üst