Excel Formül Sorusu Sor

Bir Excel formülüne dair sorunuz varsa, bu alanı kullanarak bize iletin.

Excel Makro Sorusu Sor

Bir Excel VBA koduna dair sorunuz varsa, bu alanı kullanarak bize iletin.

Genel Excel Sorusu Sor

Excel'in ön sayfasındaki FORMÜL haricinde olan sorularınızı buradan sorabilirsiniz.

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

hakki83

Site Üyesi

Excel Versiyonu
Excel 2016
Excel Sürümü
64 Bit
Excel Dili
Türkçe
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:
Görüntülemek için giriş yapmalısınız.
(3 satır)




Altıncı kodda
A1 hücresinden A15 hücresine kadar, ve sağa doğru son dolu sütuna kadar
otomatik seçip...
Ç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:
Görüntülemek için giriş yapmalısınız.
(2 satır)

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:
Görüntülemek için giriş yapmalısınız.
(2 satır)

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:
Görüntülemek için giriş yapmalısınız.
(2 satır)

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:
Görüntülemek için giriş yapmalısınız.
(3 satır)
 
Son düzenleme:
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.
 
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:
Görüntülemek için giriş yapmalısınız.
(2 satır)



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




İkinci kodda komple sütunsal alan olması gerekiyordu.
Kod:
Görüntülemek için giriş yapmalısınız.
(2 satır)




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:
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.
 
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:
Görüntülemek için giriş yapmalısınız.
(3 satır)




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:
Görüntülemek için giriş yapmalısınız.
(3 satır)





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:
Görüntülemek için giriş yapmalısınız.
(3 satır)
 
Çözüm
Okutkan hocam denedim, AAA15 ve AAA lı olanlar hata veriyor. Diğerlerinde sorun yok. Teşekkürler.
Ayrıca Select tavsiyeniz iyi oldu. Kontrolü kolaylaştırdı.
 
DMCA.com Protection Status
Konuyu başlatan
Site Üyesi
Katılım
Konu Bilgi
Durum
Çözüldü 
Forum
Excel Makro Soruları
Başlangıç tarihi
Son yanıt tarihi
Cevaplar
11
Geri
Üst