• DİKKAT

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

Seçilen Activecell'i komut butonuyla aralığa yazdırmak

Katılım
25 Mart 2016
Mesajlar
23
Excel Vers. ve Dili
Excel 2007 türkçe
Merhaba, Mesela benim verilerim C3,C5,C7,C9 hücrelerinde ve ben bunların üzerine geldiğimde komut butonuna tıklayıp tek tek istediğimi J4,5,6,7 aralığına aktarmak istiyorum ama hepsini birden değil. Hangi hücreye tıklıyorsam, hangisi activecell oluyorsa o J4e atansın sonra c7ye tıklarsam mesela komut butonuna tıklayınca j4 dolu olduğu için alt satırına J5e yazılsın. Bunun gibi bir kod arıyorum yardımcı olabilirsiniz çok sevinirim.
 
Kod:
Sub deneme()
If ActiveCell.Column <> 3 Then Exit Sub
Range("j" & Range("J65536").End(xlUp).Row + 1) = ActiveCell.Value
End Sub
 
Çok teşekkür ederim Kod çalışıyor. Peki en başta 3 ün yanına başka birşeyde ekleyebilir miyim yani sadece c den değilde hem c hem d hem e sutünlarından veri alabileyim bunu nasıl yazmam gerekli? Birde J65536 ne anlama geliyor onu bir yerde sınırlandıramıyor muyum nerde başlatmıs oldum?
 
İstediğim yernden J sütununa atamaya başlasın ve istediğim yerde bitsin belirli aralıklara yazdırmak istersem nasıl olması gerekli rica etsem bilgi verebilir misiniz?
 
Kodu modüle yapıştırıp inceleyin.

Kod:
Sub deneme()

If ActiveCell.Column > 4 Or ActiveCell.Column < 3 Then MsgBox "Uygun aralıktan bir hücre seçilmedi", vbCritical, "Hata": Exit Sub
'Bu satır seçili hücre 4. sütun ile 3.sütunlar (dahil) arasında değil ise _
yani 3. 4. sütun olan C ve D değil ise makroyu sonlandırır. _
Bu satırı silersen sayfadaki hangi hücreyi seçersen seç kodlar çalışır.


son = Range("J65536").End(xlUp).Row
'son değişkenine J stünundaki son dolu değerin satır numarasını atar.

değer = ActiveCell.Value
'değer değişkenine seçili olan hücrenin değerini atar.

Range("j" & son + 1) = değer
'J sütunundaki son dolu satırdan bir sonraki satıra (ilk boş hücreye) değer değişkeninin yazılmasını sağlar.

MsgBox "Seçilen hücre listeye aktarıldı", vbInformation, "Tamamlandı"
'işlemin tamamlandığını bildiren mesaj.

End Sub

Range("J65536").End(xlUp).Row
'Buradaki 65536 excel 2003 teki desteklenen satır sayısıdır. Buradaki kod ile 65536 nolu satırdan yukarı doğru ilk dolu hücreyi aramış oluyoruz. Daha kısa listelerle çalışıyorsanız örneğin listedeki değer sayısı 1000'i geçmiyorsa bu rakamı 1000 e düşürebilirsiniz. yada daha 2007 ve sonrası bir excel kullanıyorsanız rakamı arttırabilirsiniz.
 
Son düzenleme:
Ellerinize sağlık kod çok güzel ve işe yarar. Ben bu konuda bir şey sormak istiyorum. Yazdırırken a
Activecell' i ve altındaki yada üstündeki hücreyi de yazdırabilir miyiz aynı şekilde ? Yardımcı olabilirseniz çok sevinirim.
 
Ellerinize sağlık kod çok güzel ve işe yarar. Ben bu konuda bir şey sormak istiyorum. Yazdırırken a
Activecell' i ve altındaki yada üstündeki hücreyi de yazdırabilir miyiz aynı şekilde ? Yardımcı olabilirseniz çok sevinirim.

Kod:
değer = ActiveCell.Value
'Yukarıdaki satır yerine
'Üstünü yazdırmak için
Kod:
değer = ActiveCell.Offset(-1, 0).Value
'altını yazdırmak için
Kod:
değer = ActiveCell.Offset(1, 0).Value
 
Geri
Üst