• DİKKAT

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

Satır ve sütun silme kodları

hakki83

Altın Üye
Katılım
30 Eylül 2021
Mesajlar
567
Excel Vers. ve Dili
Excel 2016 Türkçe 32 Bit
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.
 
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
 
ÖmerFaruk hocam teşekkür ederim. Emeğinize sağlık. Hepsini denedim. Tam tarif ettiğim gibi.
 
Ö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
 
Makro Kaydet yöntemiyle bunu manuel yapıp oluşan kodlardan bir sonuç çıkartabilirsiniz.
 
Deneyeceğim hocsm. Yapamazsam yardımınızı isterim.
 
Hocam yapamadım. Siz yapar mısınız lütfen?
 
Siz Columsn.AutoFit satırını silmeyin.
O satırdan sonra
Columns(1).ColumnWidth=10
yazarsanız kolon genilşiğini 10 yapmış olursunuz.
 
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.)
 
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.
 
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.
 
Geri
Üst