son satırda veya son satıra kadar işlem yapmak için kod

Katılım
27 Mayıs 2006
Mesajlar
89
Excel Vers. ve Dili
Excel 2000 - Tr
İyi akşamlar,

Bir makro kaydettim ve ona bu özelliği "son satırda veya son satıra kadar işlem yapmak için kod" eklemek istiyorum,(şu anki bilgimle kod yazamıyorum, kaydedebiliyorum veya kaydedilmiş makrolara kod satırları ekleyebiliyorum).

Örneğin,
Tablom var iki sütünlu. A ve B sütünu 10. satıra kadar...Ve C kolonundaki hücrelere de tablonun sonuna kadar =a*b ...işlemini yaptıracağım.

1 ) Bu tablolarımın satır sayısı değişebiliyor. Macro kaydettiğim zaman son satırı bulamadan yapıyorum

2) Satırların altına toplam da aldırma durumlarım oluyor. Bu durumlarda da bana aynı şekilde son satıra kadar gidip tarif ettiğim hesap işlemini yapacak, kısacası son satıra kadar kaydettigim işlemi yapması için hangi kodu eklemem gerekir,

Şimdiden teşekkür ederim,
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,057
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
Son satırı bulmak için farklı yollar mevcuttur. En yaygın kullanılan iki metodu aşağıda veriyorum. Her iki kodda A sütunundaki son satırın satır nosunu bulur, +1 ise son satırdan sonraki ilk boş satırı bulmak içindir.

1- sat=[a65536].end(3).row+1 veya sat=range("a65536").end(xlup).row+1

2- sat=worksheetfunction.counta([a:a])+1

1. kod arada boş satırda olsa son satırı verecektir. Buna karşın 2.kod tüm satırlar dolu ise doğru satırı bulacaktır. Yani arada boşluk olmamalıdır. Çünkü kod yerleşik işlevlerdeki COUNTA işlevinin VBA daki karşılığıdır.
 
Katılım
27 Mayıs 2006
Mesajlar
89
Excel Vers. ve Dili
Excel 2000 - Tr
İkinize de teşekkür ederim,

Levent Bey,

"sat=[a65536].end(3).row+1 " komutu ile sanırım son satırı tespit ediyor. Bu koda "üstteki satırların toplamını al" diye nasıl eklerim...

Kaydettiğim a bi makroda
ActiveCell.FormulaR1C1 = "=SUM(R[-8]C:R[-1]C)" şeklinde toplam alıyor.

Orda "Aktif hücre'den 8 öncesini toplat demesi" benim için yetersiz. Ben "son satıra git ve üsttekilerin tamamının toplamını al" diye kullanmalıyım. Zahmet olmazsa böyle birşey lazım
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,057
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
Aşağıdaki gibi deneyin. A sütunu içindir. Verilerin A1 den başladığı kabul edilmiştir.

[vb:1:9440860ae8]sat=[a65536].end(3).row

cells(sat+1,"a")=worksheetfunction.sum(range("a1:a" & sat))[/vb:1:9440860ae8]
 
Katılım
27 Mayıs 2006
Mesajlar
89
Excel Vers. ve Dili
Excel 2000 - Tr
Bu kodu satır ve değiştirerek sütün içinde kullanabileğim artık, Teşekkür ederim tekrar
 
Üst