Çalışma kitabındaki belirli sayfaları kontrol etmek

Tarikkk_

Altın Üye
Katılım
5 Ocak 2020
Mesajlar
405
Excel Vers. ve Dili
Excel 2019
Altın Üyelik Bitiş Tarihi
26-10-2028
merhabalar alttaki gibi bir makrom var çalışma kitabını açtığımda ARSA sayfasını kontrol ediyor ama ben bunun yerine çalışma kitabındaki belirlediğim diğer sayfalarıda kontrole ettirmek istiyorum mesela önce ARSA sonra TARLA sonra KONUT gibi kontrol etmesini istediğim tüm sayfaları açışta kontrol etsin istiyorum. bunun için ne yapmam gerektiği konusunda yardımlarınızı bekliyorum çok teşekkür ederim



Kod:
    Private Sub Workbook_Open()
    
     SonSatır = Sheets("ARSA").Cells(Rows.Count, "D").End(3).Row
      
     SayfaAdı = ActiveSheet.Name
      
    For Satır = 6 To SonSatır
       If Sheets("ARSA").Cells(Satır, "K") <> "" And Sheets("ARSA").Cells(Satır, "L") <> "" Or Sheets("ARSA").Cells(Satır, "N") <> "" And Sheets("ARSA").Cells(Satır, "O") <> "" Then
           If Sheets("ARSA").Cells(Satır, "Q") = "" Then
               Application.EnableEvents = False
                Sheets("ARSA").Select
               Sheets("ARSA").Cells(Satır, "Q").Select
               MsgBox ("TAPU SÜTUNU BOŞ KALMAMALIDIR..!!")
               Application.EnableEvents = True
               Exit Sub
           End If
       End If
    Next Satır
    
   End Sub
 

muygun

Özel Üye
Katılım
6 Temmuz 2004
Mesajlar
9,182
Excel Vers. ve Dili
Excel-2003 Türkçe
Merhaba;
Örnek dosyanız olmadan sorunuz net anlaşılmıyor.
Ama yinede bir dosyanın açılışında sayfa adının varlığını kontrol etmek istiyorsanız?

Boş bir modüle;
Function SayfaVarMi(SayfaAdi As String) As Boolean
On Error Resume Next
SayfaVarMi = CBool(Len(Worksheets(SayfaAdi).Name) > 0)
End Function


ThisWorkbook kısmına;
Private Sub Workbook_Open()
Dim Sayfa As String
Application.ScreenUpdating = False

Sayfa = "ARSA"
If SayfaVarMi(Sayfa) = False Then
MsgBox "ARSA Sayfası yok"
End If

Sayfa = "TARLA"
If SayfaVarMi(Sayfa) = False Then
MsgBox "TARLA Sayfası yok"
End If

Sayfa = "KONUT"
If SayfaVarMi(Sayfa) = False Then
MsgBox "KONUT Sayfası yok"
End If

Application.ScreenUpdating = True
End Sub


Kodlarını yerleştirerek dosyanızı kaydedip kapatın ve Dosyayı açarak deneyin.
İyi çalışmalar.
 

Tarikkk_

Altın Üye
Katılım
5 Ocak 2020
Mesajlar
405
Excel Vers. ve Dili
Excel 2019
Altın Üyelik Bitiş Tarihi
26-10-2028
hocam teşekkür ederim bunun için fonksiyona gerek duymadan yapabilirmiyiz çalışma kitabını açtığımda ismini yazdığım sayfalar yoksa uyarı vermesini istiyorum.

mesela böyle bir kodla sadece çalışma kitabına ekleyerek çalıştıramazmıyız teşekkürler

Sayfa = "ARSA"
If Sheet(Sayfa) =0 Then
MsgBox "ARSA Sayfası yok"
End If
End Sub
 

muygun

Özel Üye
Katılım
6 Temmuz 2004
Mesajlar
9,182
Excel Vers. ve Dili
Excel-2003 Türkçe
Merhaba;

Sub Sayfa_kontrol()
Application.ScreenUpdating = False
On Error Resume Next
say = 0
For sayfa = 1 To Sheets.Count
If Sheets(sayfa).Name = "ARSA" Then
say = say + 1
End If
Next sayfa
If say = 0 Then MsgBox (" ARSA sayfası YOK.")
End Sub

Şeklinde olabilir.
İyi çalışmalar.
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,324
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Alternatifler;

C++:
Option Explicit

Sub Sayfa_Kontrol_1()
    Dim S1 As Worksheet
   
    On Error Resume Next
    Set S1 = Nothing
    Set S1 = Sheets("Deneme")
    On Error GoTo 0
   
    If S1 Is Nothing Then MsgBox "Deneme isimli sayfa bulunamadı!", vbCritical
End Sub

Sub Sayfa_Kontrol_2()
    On Error Resume Next
    If CBool(Len(Sheets("Deneme").Name) > 0) = False Then
        MsgBox "Deneme isimli sayfa bulunamadı!", vbCritical
    End If
    On Error GoTo 0
End Sub
 
Üst