makro kodunda değişiklik

Katılım
14 Kasım 2017
Mesajlar
618
Excel Vers. ve Dili
2010 Türkçe
Altın Üyelik Bitiş Tarihi
07-01-2024
Kod:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    Dim sayfaAdi As String
    Dim hedefAralik As Range
    
    Set hedefAralik = Range("J12:R41")
    
    If Not Intersect(Target, hedefAralik) Is Nothing Then
        If Not IsEmpty(Target) And VarType(Target.Value) = vbString Then
            sayfaAdi = Target.Value
            
            If Sheets(sayfaAdi) Is Nothing Then
                MsgBox "Bu bir sayfa ismi değil!"
            Else
                Sheets(sayfaAdi).Activate
            End If
        End If
    End If
End Sub
bu kod ile J12:R41 aralığında herhangi bir hücreye tıklandığında o hücrede yazan sayfa adına gitmesini istedim. J12:R41 aralığı birleşmiş hücreler olduğu için kod çalışmıyor buna nasıl bir çözüm bulabilirim

246131
 

AdemCan

Altın Üye
Destek Ekibi
Katılım
1 Eylül 2008
Mesajlar
1,386
Excel Vers. ve Dili
2019 TR
Merhaba, dener misiniz?
Kod:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim sayfaAdi As String, hedefAralik As Range
    
Set hedefAralik = Range("J12:R41")
    
If Not Intersect(Target, hedefAralik) Is Nothing Then

    If Len(Target.Address) > 5 Then
        adres = Left(Target.Address, 5)
        sayfaAdi = Range(adres)
    Else
        sayfaAdi = Target.Value
    End If

    For Each sayfa In Worksheets
        If sayfa.Name <> sayfaAdi Then GoTo sonraki
        kontrol = 1
sonraki:
    Next
    
    If kontrol = 1 Then
        Sheets(sayfaAdi).Activate
        GoTo son
    Else
        MsgBox "Bu bir sayfa ismi değil!", , ""
    End If
    
End If
son:
kontrol = 0
End Sub
 
Katılım
14 Kasım 2017
Mesajlar
618
Excel Vers. ve Dili
2010 Türkçe
Altın Üyelik Bitiş Tarihi
07-01-2024
Teşekkür ederim usta kod istediğim gibi çalışıyor.
 
Üst