• DİKKAT

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

hücreden sayfaya otomatik köprü oluşturma(vba)

  • Konbuyu başlatan Konbuyu başlatan snts
  • Başlangıç tarihi Başlangıç tarihi
Katılım
9 Haziran 2022
Mesajlar
28
Excel Vers. ve Dili
Türkçe 2016
merhabalar.
otomatik sayfa oluşturan bir kodum var. buna aynı zamanda köprüde oluşturacak bir kod eklemek istiyorum. örnekleri inceledim ama başarılı olamadım.
tıklama yapıldığında girilen veriye göre c sütununa sayfa adı yazılıyor ve aynı isimle sayfa oluşuyor. ben c sütunundaki veriler ile aynı isimli sayfaların köprülenmesini istiyorum. şimdiden teşekkürler.
 
Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
    Dim ws As Worksheet
    Dim newSheetName As String
    Dim cell As Range
    Dim lastRow As Long
    
    ' C sütunundaki değişiklikleri kontrol et
    If Not Intersect(Target, Me.Range("C:C")) Is Nothing Then
        Application.EnableEvents = False
        
        ' Son satırı bul
        lastRow = Me.Cells(Me.Rows.Count, "C").End(xlUp).Row
        
        ' Her hücre için döngü
        For Each cell In Me.Range("C1:C" & lastRow)
            If cell.Value <> "" Then
                newSheetName = cell.Value
                
                ' Sayfa yoksa oluştur
                On Error Resume Next
                Set ws = ThisWorkbook.Worksheets(newSheetName)
                On Error GoTo 0
                
                If ws Is Nothing Then
                    Set ws = ThisWorkbook.Worksheets.Add
                    ws.Name = newSheetName
                    
                    ' Köprü oluştur
                    Me.Hyperlinks.Add Anchor:=cell, Address:="", SubAddress:="'" & newSheetName & "'!A1", TextToDisplay:=newSheetName
                End If
            End If
        Next cell
        
        Application.EnableEvents = True
    End If
End Sub
 
Bu kodu Excel dosyanızdaki ilgili sayfanın kod penceresine yerleştirin.
 
kodunuzu butona atayıp çalıştırdığımda
If Not Intersect(Target, Me.Range("C:C")) Is Nothing Then
satırında object required hatası veriyor.
ayrıca sayfa oluşturma ile ilgili kodlarım var. otomatik köprü işini halledebilirseniz benim için yeterli olacaktır.
"c sütunundaki veriler ile aynı isimli sayfaların köprülenmesi"
 
"Object required" hatası genellikle bir nesneye erişmeye çalışırken, o nesnenin tanımlı olmaması nedeniyle oluşur.


Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
    Dim ws As Worksheet
    Dim newSheetName As String
    Dim cell As Range
    Dim lastRow As Long
    
    ' C sütunundaki değişiklikleri kontrol et
    If Not Intersect(Target, Me.Range("C:C")) Is Nothing Then
        Application.EnableEvents = False
        
        ' Son satırı bul
        lastRow = Me.Cells(Me.Rows.Count, "C").End(xlUp).Row
        
        ' Her hücre için döngü
        For Each cell In Me.Range("C1:C" & lastRow)
            If cell.Value <> "" Then
                newSheetName = cell.Value
                
                ' Sayfa yoksa oluştur
                On Error Resume Next
                Set ws = ThisWorkbook.Worksheets(newSheetName)
                On Error GoTo 0
                
                If ws Is Nothing Then
                    Set ws = ThisWorkbook.Worksheets.Add
                    ws.Name = newSheetName
                    
                    ' Köprü oluştur
                    Me.Hyperlinks.Add Anchor:=cell, Address:="", SubAddress:="'" & newSheetName & "'!A1", TextToDisplay:=newSheetName
                End If
                
                Set ws = Nothing ' Her döngü sonunda ws'yi sıfırla
            End If
        Next cell
        
        Application.EnableEvents = True
    End If
End Sub
 
Kod:
Dim mysheet As String
Dim myrange As Range
Dim cell As Range
Set myrange = ThisWorkbook.Sheets("Sayfa1").Range("c5:c16")

For Each cell In myrange
                    
                    ' Köprü oluştur
    ThisWorkbook.Sheets("Sayfa1").Hyperlinks.Add Anchor:=cell, Address:="", SubAddress:="'" & cell.Value & "'!A1"
    Next cell
End Sub

hücre ile aynı adlı sayfa arasında köprü oluşturuyor.

bu kodu belki on kere yazdım. hep hata veriyordu. en son sizin kodlarınız üzerinde düzenlemeler yaptım bu sefer çalıştı.
ilginiz için teşekkür ederim.
 
Geri
Üst