excelde satır silme

Katılım
30 Kasım 2004
Mesajlar
180
Excel Vers. ve Dili
2003 ingilizce
exceldeki çift satıları silmek gereken bir macroya çok acilihtiyacım var .
Ã?rneğin:2,4,6,8,10... minumum 3000. satıra kadar .
Yardımlarınızı rica ederim.
 
Katılım
28 Temmuz 2004
Mesajlar
275
Sub sil()
For i = 2 To Cells(65536, 1).End(xlUp).Row
Rows(i).Select
Selection.Delete
Next i
End Sub

Eğer satırın tamamı değil de sadece içeriği silinecekse

Selection.Delete

satırının yerine

Selection.ClearContents

yazınız.
 
Katılım
30 Kasım 2004
Mesajlar
180
Excel Vers. ve Dili
2003 ingilizce
COK TEÞEKKÜR EDERİM MACRO TAM İÞİMİ GÃ?RDÜ :)HARİKASIN
 

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
arkadaşlar bir uyarı yapmak istiyorum

rows(i).clear şeklinde tüm satırlardaki değerleri silecektir. Bunun için çevrim

örneğin; for i=2 to 3000 step 2 şeklinde olmalıdır.

ayrıca küçük bir öneri aşağıdaki şekilde işlem süresi kısalacaktır.

Sub sil()
For i = 2 To Cells(65536, 1).End(xlUp).Row
Rows(i).Delete
Next i
End Sub

selamlar
 
Katılım
7 Temmuz 2004
Mesajlar
1,141
Sn. leventm son kodda step 2 yi koymayı unutmuş.
Kod:
Sub sil() 
For i = 2 To Cells(65536, 1).End(xlUp).Row step 2
    Rows(i).Delete 
Next i 
End Sub
 

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
Sn ALPEN

Soruda sadece çift satırların silinmesi istendiğinden step 2'yi "delete" işlemi olduğu için eklemedim. Çünkü delete işleminde satırı tamamen sildiğinden çift sayılı satırdaki değerler tek satıra geçiyor. Hata, ilk hücreyi sildikten sonra başlıyor. Fakat step 2'yi eklemeyince sadece çift satırlarda olan değerler silinmiş oluyor. Sanırım sn Serpily bu nedenle step 2'yi kullanmadı. Fakat işlem "clearcontents" olduğunda step 2'yi ilave zorunlu olacaktır.

saygılarımla
 
Katılım
7 Temmuz 2004
Mesajlar
1,141
ok o zaman şöyle yapalım

Kod:
Sub sil() 
For i = Cells(65536, 1).End(xlUp).Row to 2  step -2 
    Rows(i).Delete 
Next i 
End Sub
not: denemedim.

edit:

son satırın tek olma ihtimaline karşın

Kod:
Sub sil() 
z= Cells(65536, 1).End(xlUp).Row
if z mod 2 = 1 then z = z -1
For i = z to 2  step -2 
    Rows(i).Delete 
Next i 
End Sub
not: bunuda denemedim.
 

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
Sn ALPEN

bende tam son satır tek olursa diye yazacaktım cevabınız benden önce geldi.

çözümü denedim sorun yok
 
Katılım
30 Kasım 2004
Mesajlar
180
Excel Vers. ve Dili
2003 ingilizce
iyiki bu web sayfası yapılmış ve sizler varsınız.

Birazdan olurmu olmazmı diye cok kafa yordugum fakat macrodan öyle pek anlamadığım için vazgeçtiğim bir sorunum ekli bir dosya ile onu göndereceğim eminim cözüm bulacaksınız.
 
Üst