Genel Excel Sorusu Sor

Excel'in ön yüzü ile ilgili sorularınızı buradan sorabilirsiniz.

Excel Formül Sorusu Sor

Excel formülleri ile ilgili sorularınızı buradan sorabilirsiniz.

Excel Makro Sorusu Sor

Excel makroları ile ilgili sorularınızı buradan sorabilirsiniz.
  • 1 Mayıs 2022 tarihinden önce sitemizde kayıtlı bir üyeliğiniz varsa, yeni sistemine giriş yapmak için PAROLAMI UNUTTUM kısmına tıklayıp, e-posta adresinize gelen bağlantıyı kullanarak yeni parola belirlemeniz gerekmektedir.

Çözüldü Satır Sütun Seçme ve Silme İçin 7 Kod

hakki83

VIP 4
Katılım
28 Tem 2022
Puan
10,819
Merhabalar


Her seferinde hocalarımıza sormaktansa şu kodları elimin altında şablon
gibi hazır bulundurmak istiyorum. Çünkü her an ihtiyaç olabiliyor.

Lütfen DENEME adlı sayfa için, ya da Sayfa1 için, şu 7 kodu en sade
haliyle yazar mısınız:

Sayfanın adı: DENEME ya da Sayfa1 (hangisi kolayınıza gelirse)


1.KOD
A1 hücresinden F1 hücresine kadar olan alanı seçip, silmeyi
(ClearContents)


2. KOD
A1 hücresinden sağa doğru son dolu sütuna kadar otomatik seçip, bu
alanı silmeyi


3.KOD
A1 hücresinden F1 hücresine kadar, ve aşağıya doğru son dolu satıra
kadar otomatik seçip, bu alanı silmeyi (Bu özellikle Borders.Color komutu için ihtiyaç oluyor)


4.KOD
A1 hücresinden A15 hücresine kadar olan alanı seçip, bu alanı silmeyi


5.KOD
A1 hücresinden aşağıya doğru son dolu satıra kadar otomatik seçip, bu
alanı silmeyi


6.KOD
A1 hücresinden A15 hücresine kadar, ve sağa doğru son dolu sütuna kadar
otomatik seçip, bu alanı silmeyi


7.KOD
A1 hücresinden sağa doğru son dolu sütuna kadar, ve aşağıya doğru son
dolu satıra kadar otomatik seçip, bu alanı silmeyi



Teşekkürler
 
Çözüm
Beşinci kod için, üçüncü kod ile aynı demişsiniz. Oysa aynı değil.
Üçüncü kodda A1'den F1'e kadar sütunsal bir alan vardı. Oysa beşinci kodda sütunsal bir alan yok, A1'den satırsal olarak son dolu satıra kadar seçilip, tüm satırın komple silinmesi gerekiyordu. Ya da çerçeve uygulanması gerekiyordu.
Seçme ve silme işlemi. Select işlemini kullanmadan delete işlemini kullanabilirsiniz. Delete işlemini kullanırsanız satırları siler ve Satırlar yukarı kaydırılır.
Kod:
SonSatir = Sheets("sayfa1").Cells(Rows.Count, "A").End(xlUp).Row
Sheets("sayfa1").Rows("1:" & SonSatir).Select
Sheets("sayfa1").Rows("1:" & SonSatir).Delete




Altıncı kodda
A1 hücresinden A15 hücresine kadar, ve sağa doğru son dolu sütuna kadar
otomatik seçip...

okutkan

Forum Yöneticisi
Yönetici
Katılım
12 Ara 2021
Puan
3,210
Çoğu kod için seçme işlemi yapmanıza gerek yoktur. Direkt olarak yapmak istediğiniz işlemi yapabilirsiniz.
1-Sheets("sayfa1").Range("A1:F1").clearcontents

2- Birinci satırda Sağa doğru son dolu sütunu belirlemek için değişkeni(SonSag) oluşturalım. Bu değişkenin ismini değiştirebilirsiniz.
*Değişkeni işlem içinde kullanıyoruz. Shift işleminde silinen hücrelerin sola kaydırılmasını sağlıyor.
Kod:
SonSutun = Sheets("sayfa1").Cells(1, Columns.Count).End(xlToLeft).Column
Sheets("sayfa1").Range(Cells(1, "A"), Cells(1, SonSutun)).Delete Shift:=xlToLeft

3-A sütunundaki son satırı bir değişkene atıyoruz. Bu değişkeni temizleme kod satırı içinde kullanıyoruz.
*İşlemde "clear" kullanırsanız hücre biçimlendirmesi dahil hücreyi temizler.
Kod:
SonSatir= Sheets("sayfa1").Cells(Rows.count, "A").end(xlUp).row
Sheets("sayfa1").Range("A1:F"& SonSatir).Clear

4- Hücre içeriğini temizleme
Sheets("sayfa1").Range("A1:A15").clearcontents

Hücre içeriğiyle birlikte hücre biçimlendirmelerini temizleme
Sheets("sayfa1").Range("A1:A15").clear

Hücreleri silerek Sütunu sola kaydırma
Sheets("sayfa1").Range("A1:A15").Delete Shift:=xlToLeft

Hücreleri silerek A sütunu satırlarını yukarı kayırma
Sheets("sayfa1").Range("A1:A15").Delete Shift:=xlUp

5- Üçüncü madde ile aynı işlem.

6- Burdaki SonSütun belirleme işlemi farklı (A1:A15 aralığındaki son dolu sütunu aradığımız için).
Kod:
SonSutun = Range("A1:AAA15").Find("*", , , , xlByColumns, xlPrevious).Column
Sheets("sayfa1").Range(Cells(1, "A"), Cells(15, SonSutun)).Delete Shift:=xlToLeft

7- Bu işlemde Son Satır ve Son Sütunu tespit etmemiz gerektiği için iki farklı değişken kullanıyoruz.
Kod:
SonSutun = Range("A:AAA").Find("*", , , , xlByColumns, xlPrevious).Column
SonSatir = Range("A1:A10000").Find("*", , , , xlByRows, xlPrevious).Row
Sheets("sayfa1").Range(Cells(1, "A"), Cells(SonSatir, SonSutun)).Delete Shift:=xlToLeft
 
Son düzenleme:

hakki83

VIP 4
Katılım
28 Tem 2022
Puan
10,819
Değerli Okutkan hocam, önce emekleriniz için teşekkür ederim, emeklerinize sağlık.


İnternet üzerinden mesajlaşmalarda insan bazen kendini yanlış ifade edebiliyor hocam.

Şöyle ki:

A1:F1 arası diye bahsederken aslında komple tüm sütun, yada A1:A25 arası diye bahsederken de, komple tüm satır olarak seçilmesi gerekiyordu. Bunu kast etmiştim.
Tamamen benim hatam. Eksik bilgi verdim.

Verdiğiniz kodları denerken kolay kontrol edebilmek için hep Borders.Color = 13948110 komutu ile denedim.


Birinci kodda komple sütunsal alan olması gerekiyordu.

İkinci kodda komple sütunsal alan olması gerekiyordu.

Üçüncü kodda sorun yok. Doğru.

Dördüncü kodda satırsal alan olması gerekiyordu.

Beşinci kod için, üçüncü kod ile aynı demişsiniz. Oysa aynı değil.
Üçüncü kodda A1'den F1'e kadar sütunsal bir alan vardı. Oysa beşinci kodda sütunsal bir alan yok, A1'den satırsal olarak son dolu satıra kadar seçilip, tüm satırın komple silinmesi gerekiyordu. Ya da çerçeve uygulanması gerekiyordu.


Altıncı kodda
A1 hücresinden A15 hücresine kadar, ve sağa doğru son dolu sütuna kadar
otomatik seçip, bu alanı silinmesini istemiştim. Sadece A1:A15 arasını seçti.


Yedinci kod hata verdi. AAA'yı düzeltip A yaptım. Ve yine sağa doğru son dolu sütuna kadar seçilmesi gerekiyordu. Sadece A1 son dolu satırı seçti.


Müsait vaktinizde yeni kodlarınızı denemek için merakla bekleyeceğim.

Teşekkürler, saygılar.
 

okutkan

Forum Yöneticisi
Yönetici
Katılım
12 Ara 2021
Puan
3,210
1-A1:F1 arası diye bahsederken aslında komple tüm sütun, yada A1:A25 arası diye bahsederken de, komple tüm satır olarak seçilmesi gerekiyordu. Bunu kast etmiştim.
Tamamen benim hatam. Eksik bilgi verdim.
A1:F1 arasını bahsederken tüm sütun seçilecekse bunu A:F olarak belirtmeniz gerekir.
A1:A25 arasını bahsederken tüm satır seçilecekse bunu 1:25 olarak belirtmeniz lazım


Verdiğiniz kodları denerken kolay kontrol edebilmek için hep Borders.Color = 13948110 komutu ile denedim.
Kodu kolay kontrol etmek için yukarıdaki yöntem yerine Select yöntemi kullanmanız daha basit olur. Kontrol sonrası gereksiz işlemleri tekrarlamınıza gerek kalmaz.
Örneğin 3. koddakini select yöntemi ile kullanalım. Clear yerine Select yazıyoruz.
Kod:
SonSatir= Sheets("sayfa1").Cells(Rows.count, "A").end(xlUp).row
Sheets("sayfa1").Range("A1:F"& SonSatir).Select



Birinci kodda komple sütunsal alan olması gerekiyordu.
Sheets("sayfa1").Range("A:F").ClearContents




İkinci kodda komple sütunsal alan olması gerekiyordu.
Kod:
SonSutun = Sheets("sayfa1").Cells(1, Columns.Count).End(xlToLeft).Column
Sheets("sayfa1").Range(Cells(1, 1), Cells(1, SonSutun)).EntireColumn.Select




Dördüncü kodda satırsal alan olması gerekiyordu.
istediğiniz işlem
Sheets("sayfa1").Rows("1:15").ClearContents
Kodu kontrol ederken kullanacağınız örnek kod
Sheets("sayfa1").Rows("1:15").Select
 
Son düzenleme:

Ömer BARAN

Forum Kurucusu
Yönetici
Katılım
11 Nis 2019
Puan
4,890
Kenarlık uygulayan kod kullanıyorsanız;
tıpkı daha önce açtığınız Son satıra kadar Borders kodu yazma başlıklı konu sayfasındaki çözüm cevabımda olduğu gibi,
önce alanda mevcut eski tüm kenarlıkları kaldırıp, ilgili alanın yeni boyutuna göre tekrar kenarlık uygulamakta yarar var.
İlgili konu sayfasında, çözüm cevabımdaki ilk kod satırı mevcut kenarlıkları kaldırıyor.
 

okutkan

Forum Yöneticisi
Yönetici
Katılım
12 Ara 2021
Puan
3,210
Beşinci kod için, üçüncü kod ile aynı demişsiniz. Oysa aynı değil.
Üçüncü kodda A1'den F1'e kadar sütunsal bir alan vardı. Oysa beşinci kodda sütunsal bir alan yok, A1'den satırsal olarak son dolu satıra kadar seçilip, tüm satırın komple silinmesi gerekiyordu. Ya da çerçeve uygulanması gerekiyordu.
Seçme ve silme işlemi. Select işlemini kullanmadan delete işlemini kullanabilirsiniz. Delete işlemini kullanırsanız satırları siler ve Satırlar yukarı kaydırılır.
Kod:
SonSatir = Sheets("sayfa1").Cells(Rows.Count, "A").End(xlUp).Row
Sheets("sayfa1").Rows("1:" & SonSatir).Select
Sheets("sayfa1").Rows("1:" & SonSatir).Delete




Altıncı kodda
A1 hücresinden A15 hücresine kadar, ve sağa doğru son dolu sütuna kadar
otomatik seçip, bu alanı silinmesini istemiştim. Sadece A1:A15 arasını seçti.
Son dolu sütun A olduğu için sadece A sütununda seçim yapıyordur.
A1:A15 aralığında son dolu hücre 14 olsun, Son dolu sütun da F olsun.
A1:F14 aralağını seçecektir.

Koddaki select komutunu silip sağındaki tırnağı silerseniz hücreleri silme işlemi yapar.
Kod:
SonSutun = Range("A1:AAA15").Find("*", , , , xlByColumns, xlPrevious).Column
SonSatir = Range("A1:A15").Find("*", , , , xlByRows, xlPrevious).Row
Sheets("sayfa1").Range(Cells(1, "A"), Cells(SonSatir, SonSutun)).Select 'Delete Shift:=xlToLeft





Yedinci kod hata verdi. AAA'yı düzeltip A yaptım. Ve yine sağa doğru son dolu sütuna kadar seçilmesi gerekiyordu. Sadece A1 son dolu satırı seçti.
Herhangi bir hata vermedi. Birleştirilmiş hücreler varsa hata alabilirsiniz. Seçme işlemi ile aşağıdaki şekilde kullanıp deneyin.
Kod:
SonSutun = Range("A:AAA").Find("*", , , , xlByColumns, xlPrevious).Column
SonSatir = Range("A1:A10000").Find("*", , , , xlByRows, xlPrevious).Row
Sheets("sayfa1").Range(Cells(1, "A"), Cells(SonSatir, SonSutun)).Select '.Delete Shift:=xlToLeft
 
Çözüm

Hazır Excel Dosyası İndir

İki Tarih Arasındaki Hafta Tatili Sayısını Bulma işlemi öğretilmektedir.
5.00 Oylama 1 İnceleme
İndirilme
4
Güncelleme
  • Öne çıkan
Formüller ile Yıllık İzin Takip Çizelgesi işlemleri yerine getirilmektedir.
5.00 Oylama 2 İnceleme
İndirilme
39
Güncelleme
Yıllık İzin Talep Formu ile çalışanlarınızın izin taleplerini oluşturabilirsiniz.
5.00 Oylama 2 İnceleme
İndirilme
6
Güncelleme
Her X Sütundaki Değerleri Toplama işlemi öğretilmektedir.
5.00 Oylama 1 İnceleme
İndirilme
8
Güncelleme
En Yakın Lokasyonu ve Uzaklığını Bulma işlemi öğretilmektedir.
5.00 Oylama 1 İnceleme
İndirilme
7
Güncelleme

Benzer İçerikler

Üst
Konuşma Başlat
Sitemiz ile ilgili tüm soru(n)larınız için hızlı iletişim kurabilirsiniz. Excel sorularınız cevaplanmayacaktır.
Ekip üyelerimizden ilk müsait olan cevap verecektir.