B2’den İtibaren Sildirme

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
Merhaba

Örnek dosyaya iki farklı şekilde şu kodları yazabilir miyiz, hangisi kullanışlı olursa onu kullanacağım.

1) B2'den itibaren aşağıya doğru son dolu satır ve sağa doğru son dolu sütuna kadar sildirme (ClearContents)

2) B2'den itibaren aşağıya doğru sayfanın sonuna kadar ve sağa doğru sayfanın sonuna kadar sildirme (ClearContents)

Not: Korhan hocamızın A1 için olanı vardı fakat A1'leri B2 yapınca olmadı. Makro kaydet yöntemiyle de olmadı.
 

Ekli dosyalar

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,253
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Merhaba,

1.sorunuz için alan adresi ne olmalı?
 

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 izah edeyim,

B2 başlangıç noktası olacak, ve
aşağı doğru içinde veri olan son satır hangisi
mesela örnekte? H25, yani son dolu satırı bulduk.

aynı şekilde sağa doğru içinde veri olan son sütun hangisi? örnekte L19, yani son dolu sütunu da bulduk.

Dolayısıyla silinecek alan, B2:L25 olmuş oluyor.
….
İkincisi de şöyle, yine B2’den başlayıp (son dolu satıra ve son dolu sütuna bakmadan) aşağıya doğru sayfanın sonuna kadar ve sağa doğru sayfanın sonuna kadar silinecek.

Hangisi daha kullanışlı olursa onu kullanacağım. Muhtemelen birincisi daha kullanışlı olacak ama yine de denemek istiyorum ikisini de.
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,253
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Deneyiniz.

1. sorunuz için;
C++:
Sub Test()
    Range("B2", Cells(2, 2).SpecialCells(xlCellTypeLastCell)).Select
End Sub
2. sorunuz için;
C++:
Option Explicit

Sub Test()
    Range("B2").Resize(Rows.Count - 1, Columns.Count - 1).Select
End Sub
 

Necdet

Moderatör
Yönetici
Katılım
4 Haziran 2005
Mesajlar
15,372
Excel Vers. ve Dili
Ofis 365 Türkçe
Merhaba,
Deneyiniz.
Alternatif olsun.
Ben select yaptırdım, doğru ise clearcontents yaptırılır.

Kod:
Public Sub Sil()

    Dim Kol As Integer
    Dim Sat As Long
   
    Kol = Cells.Find("*", , , , xlByColumns, xlPrevious).Column
    Sat = Cells.Find("*", , , , xlByRows, xlPrevious).Row

    Range(Cells(2, "B"), Cells(Sat, Kol)).Select
   
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
Değerli hocalarımız kodlar kusursuz olmuştur. Emeklerinize sağlık, teşekkür ederim.

Ayrıca bu tip kodlarda Select ile denemeler yapmak gerçekten denemeyi kolaylaştırıyor ve zamandan kazandırıyor.
 

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
Korhan hocam merhabalar

4 nolu mesajınızdaki ilk kodu dosyama uyarlamaya çalıştım fakat yapamadım.
Çalışmadı neden bilmiyorum.
With - End With de kullanmıştım.

(Not: Silme düğmesinin başka sayfada olması gerekiyor, çünkü anasayfada düğme koyacak yer kalmadı hocam)
 

Ekli dosyalar

Üst