Farklı Sayfalarda Aynı Anda Onay Kutusu İşaretleme

Katılım
5 Temmuz 2021
Mesajlar
23
Excel Vers. ve Dili
excel 2019
Herkese merhaba,

A sayfasında 32 adet onay kutusu var ve numaraları var. İşaretlediğim onay kutularını b sayfasındaki belirli bir hücreye sadece isim olarak nasıl kayıt edebilirim?
 
Katılım
12 Aralık 2015
Mesajlar
1,234
Excel Vers. ve Dili
Türkçe Ofis 2007
Class modül ile yapılır, ancak dosya yapınızı görmek lazım. Dosyanızı bir dosya paylaşım sitesine ekleyin linkini paylaşın.
 
Katılım
12 Aralık 2015
Mesajlar
1,234
Excel Vers. ve Dili
Türkçe Ofis 2007
Her iki sayfada da onay kutusu var. Sayfa1 deki onay kutusunu işaretleyince Sayfa2 deki aynı numaralı onay kutusu mu, işaretli hale gelecek.
 
Katılım
5 Temmuz 2021
Mesajlar
23
Excel Vers. ve Dili
excel 2019
Her iki sayfada da onay kutusu var. Sayfa1 deki onay kutusunu işaretleyince Sayfa2 deki aynı numaralı onay kutusu mu, işaretli hale gelecek.
Evet doğrudur, yada 1. sayfadaki onay kutularının numaraları var. 2. sayfadaki alana o numaraları da yazdırabiliriz.
 
Katılım
6 Mart 2024
Mesajlar
328
Excel Vers. ve Dili
2010 TR & 2016 TR
Merhaba,

Sayfa1’deki herhangi bir onay kutusuna tıklayınca,
Sayfa2’de aynı metne sahip (Diş No) onay kutusu da otomatik olarak aynı duruma gelir.

C++:
Option Explicit

' --- Auto_Open: Sayfa1'deki tüm Form Denetimi CheckBox'lara makro atar
Sub Auto_Open()
    Dim shp As Shape
    For Each shp In ThisWorkbook.Sheets("Sayfa1").Shapes
        If shp.Type = msoFormControl Then
            If shp.FormControlType = xlCheckBox Then
                shp.OnAction = "OnayKutusuTikla"  ' Tıklandığında çalışacak makro
            End If
        End If
    Next shp
End Sub

' --- Tıklanan CheckBox'u yakalar
Sub OnayKutusuTikla()
    Dim clickedShapeName As String
    clickedShapeName = Application.Caller  ' Tıklanan şeklin ismini al

    If Len(clickedShapeName) > 0 Then
        Dim shp As Shape
        Set shp = ActiveSheet.Shapes(clickedShapeName)
        If shp.Type = msoFormControl Then OnayKutusuAynala shp
    End If
End Sub

' --- Sayfa2'deki aynı Text'e sahip CheckBox ile eşler
Public Sub OnayKutusuAynala(OnayKutu As Shape)
    Dim shp As Shape
    Dim sh As Worksheet: Set sh = ThisWorkbook.Sheets("Sayfa2")
    
    For Each shp In sh.Shapes
        If shp.Type = msoFormControl And shp.FormControlType = xlCheckBox Then
            ' Eşleşen metin varsa değeri kopyala
            If LCase(shp.OLEFormat.Object.Text) = LCase(OnayKutu.OLEFormat.Object.Text) Then
                shp.OLEFormat.Object.Value = OnayKutu.OLEFormat.Object.Value
            End If
        End If
    Next shp
End Sub
 
Katılım
12 Aralık 2015
Mesajlar
1,234
Excel Vers. ve Dili
Türkçe Ofis 2007
Aşağıdaki kodları birer kere çalıştırın.
Onay kutularını tıklayarak test edin.
Eğer istediğiniz gibi çalışıyorsa, bu kodları silebilirsiniz.
İstiyorsanız, ("Sayfa1!$J$" & i) yerine , gözden ırak ("Sayfa1!$AZ$" & i) yazabilrsiniz.
Kod:
'Sayfa2 açıkken çalıştırın
Sub Makro1()
For i = 1 To 32
ActiveSheet.Shapes.Range(i).Select
Selection.LinkedCell = "Sayfa1!$J$" & i
Next
End Sub
'Sayfa1 açıkken çalıştırın
Sub Makro2()
For i = 1 To 32
ActiveSheet.Shapes.Range(i + 2).Select
Selection.LinkedCell = "Sayfa1!$J$" & i
Next
End Sub
 
Katılım
6 Mart 2024
Mesajlar
328
Excel Vers. ve Dili
2010 TR & 2016 TR
@owertake
Kodlar işe yaradı mı?
Olumlu veya olumsuz dönüş yaparmisiniz.
 
Son düzenleme:
Üst