Satırları seçmek

Katılım
29 Nisan 2006
Mesajlar
57
Excel Vers. ve Dili
2003 Türkçe
Yapmak istediğim şey şudur.
döngü içerisinde birinci sütun için vereceğim şart sağlandığı sürece satır seçmek ve şart gerçekleşmediği zaman seçimi tamamlayıp seçilmiş satırları gruplamak

Range i denedim ama Range komutunun içinde değişken kullanamadım.

Yardımlarınız için şimdiden teşekkürler.
 

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
Eğer bir hücre referansını değişken yapacaksanız aşağıdaki gibi kullanabilirsiniz. Değişkeni "deg" kelimesi ile ifade edelim.

Eğer Sütun sabit satır değişken ise; range("a" & deg) veya cells(deg,"a")

Eğer Satır sabit sütun değişken ise; cells(1,deg)
 
Katılım
29 Nisan 2006
Mesajlar
57
Excel Vers. ve Dili
2003 Türkçe
cevap için çok teşekkür ederim.

Range("A2:B3").Select

peki bu ifadeyi değişkenlerle nasıl yazarım?

satır ve sütun işlemlerini hiç kullanmamıştım daha önce. match eden bilgiler üzerinde çalışmıştım ama satır sütun düzenleme, ekleme, silme, gruplama gibi işlemler yapmamıştım. bunlara çoook çalışmam lazım çooook
 

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
Range("A2:B3").Select

Yukarıdaki ifadede değişken olmasını istediğiniz kısmı neresidir.
 

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
aynı ifadeyi aşağıdaki gibi yazarak hem satır hemde sütunları değişken yapabilirsiniz. burada "a" ilk hücrenin satırı, "c" de son hücrenin satırıdır. Elbette b ve d değişkenleride sütunları ifade ediyor.

range(cells(a,b),cells(c,d))
 
Katılım
29 Nisan 2006
Mesajlar
57
Excel Vers. ve Dili
2003 Türkçe
Sheets("deneme").Activate
For sss = 2 To 100
If Sheets("deneme").Cells(sss, 1) = "" Then
Sheets("deneme").Rows(sss).Select
End If
Selection.Rows.Group

Next sss

istediğim şey için örnek kodları yukarıda verdim. yardımlarınız için çok teşekkürler. dosyayı da başarabilirsem attach edicem mesaja
 

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
Gruplama yaptırmaktaki amacınız nedir? tüm boş hücreleri seçtiniz diyelim, bu hücreleri ne yapmak istiyorsunuz. Ayrıca 100 değeri üst sınırmıdır.
 
Katılım
29 Nisan 2006
Mesajlar
57
Excel Vers. ve Dili
2003 Türkçe
100 üst sınır değil, örnek olsun diye 100 verdim değeri.

7000 satırlık bir dosyam var
sırlanmış bilgilerden oluşuyor ve aynı olan her bilginin altında bu bilgilerinin alt toplamları var
boş satırlar aynı olan bilgileri dolu satırlar da bu alt toplamları temsil ediyor. dün bu 7000 satırı gruplamak 2 saatimi aldı (makro kullanmadan).
makro kullanarak hem bu işlemi kısaltmak hem de hatasız olarak yapmayı amaçladım.

800 grub ve her grupta ortalama 90 satır bilgi var.
7000 satırı makro ile yaparken de zaman alacaktır ama 2 saat sürmeyecektir.

Yardımlarınıza tekrar teşekkürler.
umarım öğrenirken başkalarına da faydalı olabilirim
 

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.

[vb:1:5a60edfb9c]Sheets("deneme").Activate
For sss = 2 To Cells(65536, "a").End(3).Row
If Cells(sss, 1) = "" Then Rows(Cells(sss, "a").Row).Group
Next sss
[/vb:1:5a60edfb9c]
 
Katılım
29 Nisan 2006
Mesajlar
57
Excel Vers. ve Dili
2003 Türkçe
For sss = 2 To Cells(65536, "a").End(3).Row

end(3) ne anlama geliyor burda?
 

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
Cells(65536, "a").End(3).Row


Yukarıdaki ifade en son satırı bulmak içindir. end(3) ise aşağıdan yukarı doğru yani üst ok tuşunu ifade eder. "End(xlUp)" ifadesi ile aynı anlamdadır. Örneğin bir sutundaki en son dolu hücrenin daha aşağısındaki boş bir hücreyi seçin daha sonra klavyeden önce "end" sonrada "üst ok" tuşlarına basarsanız, imleç ensondaki hücreye gider. İşte bu satırda bu işlemi yapar.
 
Katılım
29 Nisan 2006
Mesajlar
57
Excel Vers. ve Dili
2003 Türkçe
yardımların için çok teşekkür ederim. seninle aynı fikirdeyim. burası excel ve özellikle makro kullanımı ile ilgili çok geniş bir kaynak ben de zaten buranın yetersizliğinden dolayı değil her zaman internet imkanım olmamasından kaynaklı olarak kitap kaynağı sormak istemiştim sana. Tekrar teşekkür ediyorum yardımlarına
 
Üst