Satır ve sütun silme kodları

hakki83

Altın Üye
Katılım
30 Eylül 2021
Mesajlar
546
Excel Vers. ve Dili
Excel 2016 Türkçe 32 Bit
Altın Üyelik Bitiş Tarihi
30-09-2026
Değerli hocalarımız merhaba, selamlar.

Birbirinden farklı 4 adet makroya ihtiyacım vardır. İkisi bildiğimiz tüm satırı silme kodları, diğer ikisi de bildiğimiz tüm sütunu silme kodları. Bu kodları, ya düğmelere atayacağım, ya da başka kodların içine ekleyeceğim.




Birinci kod bildiğimiz sütun silme kodu. A sütunu hariç, diğer sütunların sadece başlıklarında (B1, C1, D1, ..... Z1, gibi) bir hücre seçilmiş ise; düğmeye basıldığında o sütunu tamamen silecek. A sütununda ve diğer sütunların diğer hücrelerinde ise bu kod tamamen etkisiz olacak. (Nothing Then Exit Sub). Sadece başlıklarda geçerli olacak.

...

İkinci kod yine sütun silme kodu: A sütunu hariç, diğer sütun veya sütunların, sadece başlıklarında (B1, C1, D1, ..... Z1, gibi) bu hücrelerde veri yok ise, yani bu başlık hücreleri boş ise; düğmeye basıldığında o sütunu ya da sütunları tamamen silecek. A sütununda ve diğer sütunların diğer hücrelerinde bu kod tamamen etkisiz olacak. (Nothing Then Exit Sub)

...

Üçüncü kod bildiğimiz satır silme kodu. Sadece A sütununda (A1 hücresi hariç) geçerli olacak. A1 hücresi hariç A sütunun diğer hücrelerinde, bir hücre seçilmiş ise, düğmeye basıldığında o satırı komple silecek. A1 hücresinde bu kod etkisiz olacak. Çünkü birinci satır başlık satırı. Bu kod diğer sütunlarda da tamamen etkisiz olacak.

...

Dördüncü kod yine satır silme kodu. Sadece A sütununda, A1 hücresi hariç, diğer hücrelerde, boş hücre veya hücreler var ise, düğmeye basıldğında o satır veya satırları tamamen silecek. A1 hücresinde bu kod etkisiz olacak. Bu kod diğer sütunlarda da tamamen etkisiz olacak

Teşekkürler.
 

ÖmerFaruk

Destek Ekibi
Destek Ekibi
Katılım
22 Ekim 2017
Mesajlar
4,779
Excel Vers. ve Dili
Microsoft 365 Tr-64
Anlattıklarınıza göre dört kod aşağıdadır.

C++:
Sub SütunSil_A_Hariç()
    If ActiveCell.Column = 1 Then Exit Sub
    If ActiveCell.Row > 1 Then Exit Sub
    Columns(ActiveCell.Column).Delete
End Sub

Sub SütunSil_BoşBaşlıklar()
    Son = Range("A1").SpecialCells(xlLastCell).Column
    For i = Son To 2 Step -1
        If Cells(1, i) = "" Then Columns(i).Delete
    Next i
End Sub
Sub SatırSil_BaşlıkHariç()
    If ActiveCell.Column > 1 Then Exit Sub
    If ActiveCell.Row = 1 Then Exit Sub
    Rows(ActiveCell.Row).Delete
End Sub
Sub SatırSil_BoşOlanlar()
    Son = Range("A1").SpecialCells(xlLastCell).Row
    For i = Son To 2 Step -1
        If Cells(i, 1) = "" Then Rows(i).Delete
    Next i
End Sub
 

hakki83

Altın Üye
Katılım
30 Eylül 2021
Mesajlar
546
Excel Vers. ve Dili
Excel 2016 Türkçe 32 Bit
Altın Üyelik Bitiş Tarihi
30-09-2026
ÖmerFaruk hocam teşekkür ederim. Emeğinize sağlık. Hepsini denedim. Tam tarif ettiğim gibi.
 

hakki83

Altın Üye
Katılım
30 Eylül 2021
Mesajlar
546
Excel Vers. ve Dili
Excel 2016 Türkçe 32 Bit
Altın Üyelik Bitiş Tarihi
30-09-2026
ÖmerFaruk hocam başka bir konuyla ilgili iki küçük sorum var:

Columns.Autofit ve Rows.Autofit kullanıyorum bazı yerlerde.

Columns.Autofit yaparken “1. sütun hariç” nasıl yazılır?

Bir de

Rows.Autofit yaparken “1. satır hariç” nasıl yazılır?


Teşekkürler
 

ÖmerFaruk

Destek Ekibi
Destek Ekibi
Katılım
22 Ekim 2017
Mesajlar
4,779
Excel Vers. ve Dili
Microsoft 365 Tr-64
Makro Kaydet yöntemiyle bunu manuel yapıp oluşan kodlardan bir sonuç çıkartabilirsiniz.
 

hakki83

Altın Üye
Katılım
30 Eylül 2021
Mesajlar
546
Excel Vers. ve Dili
Excel 2016 Türkçe 32 Bit
Altın Üyelik Bitiş Tarihi
30-09-2026
Deneyeceğim hocsm. Yapamazsam yardımınızı isterim.
 

hakki83

Altın Üye
Katılım
30 Eylül 2021
Mesajlar
546
Excel Vers. ve Dili
Excel 2016 Türkçe 32 Bit
Altın Üyelik Bitiş Tarihi
30-09-2026
Hocam yapamadım. Siz yapar mısınız lütfen?
 

ÖmerFaruk

Destek Ekibi
Destek Ekibi
Katılım
22 Ekim 2017
Mesajlar
4,779
Excel Vers. ve Dili
Microsoft 365 Tr-64
Siz Columsn.AutoFit satırını silmeyin.
O satırdan sonra
Columns(1).ColumnWidth=10
yazarsanız kolon genilşiğini 10 yapmış olursunuz.
 

hakki83

Altın Üye
Katılım
30 Eylül 2021
Mesajlar
546
Excel Vers. ve Dili
Excel 2016 Türkçe 32 Bit
Altın Üyelik Bitiş Tarihi
30-09-2026
Değerli hocam anladım. Fakat 1. sütunu 10 birim yapmasak da kendi ölçüsüyle dursa, onu nasıl yaparız? (Yani 1’in genişliğine hiç dokunmayacak.)
 

ÖmerFaruk

Destek Ekibi
Destek Ekibi
Katılım
22 Ekim 2017
Mesajlar
4,779
Excel Vers. ve Dili
Microsoft 365 Tr-64
Dokunmaktan neden kaçınıyorsun.
Şu an Excelden sütun üzerine gelin, sütunun genişliğini öğrenin.
Kodlara da 10 yerine burada gördüğünüz sayıyı yazın.
 

hakki83

Altın Üye
Katılım
30 Eylül 2021
Mesajlar
546
Excel Vers. ve Dili
Excel 2016 Türkçe 32 Bit
Altın Üyelik Bitiş Tarihi
30-09-2026
Hocam kodları farklı dosyalarda uygulayacağım için ve 1. sütunun genişliğini elle ayarlayacağım için, kodların 1. sütuna hiç etki etmemesinin daha iyi olacağını düşünmüştüm. Yani bir ölçü girmek yerine, kendi ölçüsüyle bırakmak gibi.
 
Üst