çok sayıda checkboxun hücre bağlantısını nasıl kolay yapabilirim?

Katılım
14 Ekim 2006
Mesajlar
408
Excel Vers. ve Dili
excel 2003 TR
selamlar;

küçük ve acil bir sorunum var sayın üstadlar. bir excel belgesi üzerinde uzun bir listem var ve bu listenin bazı satırlarını yazdırmam gerekiyor. Bu işi yapacak bir makro yazdım ve her satırın başına bir adet checkbox koydum. Buraya kadar her şey tamam. ancak dediğim gibi listem yaklaşık 980 satır. bu da 980 adet checkbox demek. :( checkboxların hücre bağlantılarını tek tek yapmak zorunda mıyım?? yani hepsi için sağ tıklayıp, denetim biçimlendir menüsüne girip, hücre bağlantısı göstermek zorunda mıyım, yoksa bu işin bir kolay yolu var mıdır? değerli yardımlarınızı bekliyorum.

saygılar.
 

hamitcan

Uzman
Uzman
Katılım
1 Temmuz 2004
Mesajlar
7,712
Excel Vers. ve Dili
Excel 2019 Türkçe
Aşağıdaki şekilde dener misiniz?

Sub nn()
adres = InputBox("hücre bağlantısı için hangi hücreden başlamak istiyorsunuz, örn: A5 gibi")
For i = 1 To ActiveSheet.Shapes.Count
ActiveSheet.Shapes(i).Select
With Selection
.Value = xlOff
.LinkedCell = Left(adres, 1) & Right(adres, 1) + i - 1
.Display3DShading = False
End With
Next
End Sub
 
Katılım
14 Ekim 2006
Mesajlar
408
Excel Vers. ve Dili
excel 2003 TR
maalesef olmadı??

sn hamitcan;

ilginize teşekkürler, ancak sorunum çözülmedi. ya ben derdimi tam olarak anlatamadım yada sizin gönderdiğiniz kodları doğru kullanamadım. benim istediğim excel çalışma sayfasına koyduğu yüzlerce checkbox'un hücre bağlantılarını kolayca yapabilmek. konuyla ilgili dosyayı ekliyorum.

ilgilinecek herkese teşekkürler...

saygılar.
 

hamitcan

Uzman
Uzman
Katılım
1 Temmuz 2004
Mesajlar
7,712
Excel Vers. ve Dili
Excel 2019 Türkçe
Ben denedim kod doğru çalışıyor. İlgili kodu module ekleyin ve çalıştırın. Açılan inputboxa hücre bağlantısı olarak hangi hücreden başlayacağınızı yazın. Örn: B1hücresi. Diğer hücre bağlantıları kendiliğinden oluşmuş olacak.(b1,b2,b3... gibi)
 

Merhum İdris SERDAR

Moderatör
Yönetici
Katılım
21 Ekim 2005
Mesajlar
17,094
Excel Vers. ve Dili
Excel, 365 - İngilizce
Sayın cellchuq,

Dosyanız ekte.

Neden Checkbox?

Sayfa2'ye bakın. A sütununda hehangi bir hücreye çift tıkladığınızda aslında "a" harfi koyar/siler. Macrolarınızı buna bağlayarak yapmanız bana daha pratik bir yol gibi geliyor.
 
Katılım
14 Ekim 2006
Mesajlar
408
Excel Vers. ve Dili
excel 2003 TR
sorun bende mi acaba??

sn hamitcan;

bende denedim, ancak kodlar çalıştıktan sonra aşağıdaki hatayı veriyor ve

Kod:
.value=xloff
satırını sarı renkle işaretli hale getiriyor. Yani işlemi yapıyor ve ardından hata mesajı geliyor. hata mesajı:

Kod:
Run-time error '438":
 
Object doesn't support this property or method
kodları eklediğim dosyayı tekrar ekliyorum. inceler misiniz?
 
Katılım
14 Ekim 2006
Mesajlar
408
Excel Vers. ve Dili
excel 2003 TR
sn yurttaş;

checkbox hem kullanışlı hemde göze hoş geldiği için onu tercih ettim. ancak hücre bağlantılarının bu şekilde olması ve çözememem işimi zorlaştırdı. dediğiniz gibi bir çözüm bende düşünmüştüm. yani checkbox yerine "X" koyduğum satırları alacak bir makro. konuyla ilgili sorduğum diğer soru da bununla ilgili. aşağıdaki kodlarda hata ile karşılaştım. Şöyle ki; "X" işaretli satırları alıyor ancak boş hücreye geldiğinde döngü duruyor. yani 980 satırlık listemde başlayan döngünün b2 den b65536'ya kadar sürmesi lazım ve "X" olanları alması lazım? bu konu hakkındaki fikirlerinizi de bekliyorum.

Kod:
Sub kisi_sec_x()
Set S1 = Sheets("VERİ")
Set s2 = Sheets("FORM")
For m = 2 To [a65536].End(3).Row
If S1.Cells(m, 3) = "X" Then
s2.Cells(3, "d") = S1.Cells(m, "a")
yazdir_selcuk
End If
Next
End Sub

Sub yazdir_selcuk()
    Dim Say As Integer
    Say = WorksheetFunction.CountIf([K5:K65536], True)
    If Say = 0 Then
    MsgBox "SAYFA SEÇİMİ YAPILMAMIŞ !" & Chr(10) & "LÜTFEN YAZDIRILACAK SAYFALARI SEÇİNİZ.", vbExclamation, "DİKKAT !"
    Exit Sub
    End If
    For y = 5 To [F65536].End(3).Row
    If Cells(y, 11) = True Then Sheets("" & Cells(y, 6)).PrintOut copies:=2, collate:=True
    Next
End Sub
konuya ait diğer sorumun linki:

http://www.excel.web.tr/showthread.php?t=23436
 

hamitcan

Uzman
Uzman
Katılım
1 Temmuz 2004
Mesajlar
7,712
Excel Vers. ve Dili
Excel 2019 Türkçe
Kodu biraz değiştirdim. Bir de bu şekilde deneyin.

Sub nn()
sütun = InputBox("hücre bağlantısı için sütun ismini girin, örn: A gibi")
satır = InputBox("hücre bağlantısı için satır numarasını girin, örn: 1 gibi")

For i = 1 To ActiveSheet.Shapes.Count
If Left(ActiveSheet.Shapes(i).Name, 1) = "C" Then
ActiveSheet.Shapes(i).Select
With Selection
.Value = xlOff
.LinkedCell = sütun & satır + i - 1
.Display3DShading = False
End With
End If
Next
End Sub
 
Son düzenleme:
Katılım
14 Ekim 2006
Mesajlar
408
Excel Vers. ve Dili
excel 2003 TR
bu sefer hata vermedi ancak hiç bir işlem de yapmadı. yani bağlantıları gerçekleştirmedi. acaba bende mi bir sorun var. yada kodları kendi sayfamda çalıştırırken uyarlamam gereken bir yerleri gözdden mi kaçırıyorum acaba? bu konuda sizleri fazla meşgul ettim biliyorum ama, ilginizi bekliyorum... :D:D
 

hamitcan

Uzman
Uzman
Katılım
1 Temmuz 2004
Mesajlar
7,712
Excel Vers. ve Dili
Excel 2019 Türkçe
Kodu güncelledim.

If Left(ActiveSheet.Shapes(i).Name, 1) = "O" Then
satrırını
If Left(ActiveSheet.Shapes(i).Name, 1) = "C" Then
şeklinde değiştirdim.
 
Katılım
14 Ekim 2006
Mesajlar
408
Excel Vers. ve Dili
excel 2003 TR
sn hamitcan;

şimdi oldu, kodlar harika çalışıyor. ilginize teşekkürler. elinize emeğinize sağlık.

ancak küçük bir sorum olacak. kodları inceledim ama çalışma mantığını tam olarak çözemedim. mesela sonradan checkbox eklediğimde ve makroyu yeniden çalıştırdığımda bağlantı yapılan hücrelerin arasında boşluk oluyor, yani bazı yerlerde 1-2 satır atlayarak hücre bağlantısı yapıyor? ve benim uzun listemde de bazı yerlerde bu şekilde sorun çıkardı. bunun neden kaynaklandığını anlayamadım. yardımcı olurmusunuz?

saygılar
 

hamitcan

Uzman
Uzman
Katılım
1 Temmuz 2004
Mesajlar
7,712
Excel Vers. ve Dili
Excel 2019 Türkçe
Bu şekilde cevap vermek zor. Dosyanızı eklerseniz, yardımcı olmaya çalışırım.
 
Üst