Kitaptaki objenin tipi?

Katılım
2 Mart 2005
Mesajlar
2,960
Excel Vers. ve Dili
ev: Ofis 2007- Win Xp
iş: Ofis 2010- Win Vista
Merhabalar,
Aşağıdaki kod ile Kodun bulunduğu çalışma kitabında metine sahip Çalışma sayfası, grafik vs... isminde obje olup olmadığını kontrol edebiliyorum...
Peki tip değişkenine Objenin grafik sayfasımı, çalışma sayfasımı, makro sayfası mı olduğunu belirtir değeri nasıl eklerim type denedim ama istediğim sonucu alamadım

Kod:
Sub Sayfa_Varmı()
'Aktif Çalışma Kitabında istenilen metne sahip dosya varsa 1, yoksa 0 döndürür
'            For Each sayfa In ThisWorkbook.Worksheets
Dim Var As Byte
Dim metin$
metin = "Sayfa1"
For Each clsObj In ActiveWorkbook.Sheets
    If clsObj.Name = metin Then
        Var = Var + 1
        [B][COLOR=Red]Tip = 0[/COLOR][/B]
    End If
    If clsObj.Name <> metin Then Var = Var + 0
Next
Set clsObj = Nothing
MsgBox Var & " " & Tip
End Sub
 
Katılım
15 Haziran 2006
Mesajlar
3,704
Excel Vers. ve Dili
Excel 2003, 2007, 2010 (TR)
Aşağıdaki gibi deneyiniz.

Kod:
Dim obj As Object
For Each obj In ThisWorkbook.Sheets
    MsgBox TypeName(obj)
Next
 
Katılım
2 Mart 2005
Mesajlar
2,960
Excel Vers. ve Dili
ev: Ofis 2007- Win Xp
iş: Ofis 2010- Win Vista
Teşekkürler Hocam
Kod:
Sub Sayfa_Varmı()
'Aktif Çalışma Kitabında istenilen metne sahip dosya varsa 1, yoksa 0 döndürür
'            For Each sayfa In ThisWorkbook.Worksheets
Dim Var As Byte
Dim metin$
metin = "İletişim Kutusu1"
For Each clsObj In ActiveWorkbook.Sheets
    If clsObj.Name = metin Then
        Var = Var + 1
        Tip = TypeName(clsObj)
    End If
    If clsObj.Name <> metin Then Var = Var + 0
Next
Set clsObj = Nothing
MsgBox Var & " " & Tip
End Sub
 

veyselemre

Özel Üye
Katılım
9 Mart 2005
Mesajlar
3,653
Excel Vers. ve Dili
Pro Plus 2021
A&#351;a&#287;&#305;daki kodla da Makro Sayfas&#305; (makro sayfas&#305;n&#305;n ne i&#351;e yarad&#305;&#287;&#305;n&#305; bilmiyorum, Ctrl+F11 le eklenebiliyor) ve Worksheet ayr&#305;m&#305;n&#305; da yapabilirsiniz.
Kod:
Sub Sayfa_Varm&#305;()
Dim Var As Byte
Dim metin$
    'metin = "Makro1"
    'metin = "Grafik1"
    'metin = "Sayfa1"
    metin = "olmayanSayfa1"
    Tip = 0
    For Each clsObj In ActiveWorkbook.Sheets
        If clsObj.Name = metin Then
            If TypeName(clsObj) = "Chart" Then
                    Tip = 2
            ElseIf TypeName(clsObj) = "Worksheet" Then
                On Error Resume Next
                If clsObj.CodeName = "" Then
                        Tip = 3
                Else
                     Tip = 1
                End If
                On Error GoTo 0
            End If
        End If
    Next
    Set clsObj = Nothing
    MsgBox "SheetAd&#305; : " & metin & vbCr & "tip (0=Sayfa Yok, 1=Worksheet, 2=Chart, 3=Makro) : " & Tip
End Sub
 
Katılım
2 Mart 2005
Mesajlar
2,960
Excel Vers. ve Dili
ev: Ofis 2007- Win Xp
iş: Ofis 2010- Win Vista
evet hocam bende farkettim ama fazla kullanmad&#305;&#287;&#305;m i&#231;in &#252;zerine d&#252;&#351;memi&#351;tim bir de ileti&#351;im sayfas&#305; var ve makro sayfalar&#305;da iki &#231;e&#351;it :(bunlar&#305;n aras&#305;nda eklenebilen
Alakan&#305;z i&#231;in tee&#351;kk&#252;rler
 
Üst