Son Dolu Satıra Kadar Hücre Yüksekliği

ahmed_ummu

Altın Üye
Katılım
28 Mart 2011
Mesajlar
722
Excel Vers. ve Dili
Excel 2010 Professional Plus 64 Bit
Altın Üyelik Bitiş Tarihi
15-10-2026
Merhaba arkadaşlar.

200 küsür satırlık bir sayfam var. Bazen satır yüksekliğini artırmak bazen de eksiltmek gerekiyor. Aşağıdaki kodu denedim ama satır yüksekliğini artrırırken bir sorun olmuyor fakat eksiltirken hem uzun sürüyor hem de 44 satırdan sonrasını eksiltiyor ve önizleme yapınca 88 sayfa gösteriyor. Normalde 9 sayfa olması gerekiyor. Tabi satır yüksekliğini atırınIca veya eksiltince 1-2 sayfa artıp veya eksilebiliyor. Yardımcı olursanız sevinirim.

SATIR YÜKSEKLİĞİNİ ARTIRIRKEN
Set s1 = Sheets("tablo")
For s = 7 To s1.Cells(Rows.Count, "ar").End(xlUp).Row
On Error Resume Next
s1.Cells(s, "a").EntireRow.RowHeight = s1.Cells(s, "a").EntireRow.RowHeight + 1
Next s


SATIR YÜKSEKLİĞİNİ EKSİLTİRKEN
Set s1 = Sheets("tablo")
For s = 7 To s1.Cells(Rows.Count, "ar").End(xlUp).Row
On Error Resume Next
s1.Cells(s, "a").EntireRow.RowHeight = s1.Cells(s, "a").EntireRow.RowHeight -1
Next s
 

Muzaffer Ali

Destek Ekibi
Destek Ekibi
Katılım
5 Haziran 2006
Mesajlar
6,167
Excel Vers. ve Dili
2019 Türkçe
Kodda herhangi bir sorun yok ama her iki kodun da başına Application.ScreenUpdating = False sonuna Application.ScreenUpdating = True satırlarını ekleyin hız artacaktır.

Bir de On Error Resume Next satırlarını silin buna ihtiyaç yok.
 

ahmed_ummu

Altın Üye
Katılım
28 Mart 2011
Mesajlar
722
Excel Vers. ve Dili
Excel 2010 Professional Plus 64 Bit
Altın Üyelik Bitiş Tarihi
15-10-2026
Kodda herhangi bir sorun yok ama her iki kodun da başına Application.ScreenUpdating = False sonuna Application.ScreenUpdating = True satırlarını ekleyin hız artacaktır.

Bir de On Error Resume Next satırlarını silin buna ihtiyaç yok.
Muzaffer Ali Bey çok teşekkürler. Çok hızlandı ama yüksekliği artırırken 50. satırdan sonrasını yükseltmiyor. Eksilme yaparken de 50. satırdan sonrasını eksiltiyor.

Kodlar aynen aşağıda ki gibi

Application.ScreenUpdating = False
Set s1 = Sheets("tablo")
For s = 7 To s1.Cells(Rows.Count, "ar").End(xlUp).Row
On Error Resume Next
s1.Cells(s, "a").EntireRow.RowHeight = s1.Cells(s, "a").EntireRow.RowHeight - 1
Next s
Application.ScreenUpdating = True
 

Ekli dosyalar

dEdE

Destek Ekibi
Destek Ekibi
Katılım
1 Temmuz 2005
Mesajlar
2,605
Excel Vers. ve Dili
Ofis 2013 TR 64 Bit
Merhaba,
Kodunuzda bir sorun yok gibi görünüyor. Ancak ekli resimde "AR" sütunu görünmüyor.
Kodunuzda yer alan s1.Cells(Rows.Count, "ar").End(xlUp).Row satırı hangi değeri alıyor acaba.
Prosedürün başına MsgBox s1.Cells(Rows.Count, "ar").End(xlUp).Row satırını ekleyerek "AR" sütununun dolu olan son satırını bilmek belki bir fikir verebilir.
 

ahmed_ummu

Altın Üye
Katılım
28 Mart 2011
Mesajlar
722
Excel Vers. ve Dili
Excel 2010 Professional Plus 64 Bit
Altın Üyelik Bitiş Tarihi
15-10-2026
Merhaba,
Kodunuzda bir sorun yok gibi görünüyor. Ancak ekli resimde "AR" sütunu görünmüyor.
Kodunuzda yer alan s1.Cells(Rows.Count, "ar").End(xlUp).Row satırı hangi değeri alıyor acaba.
Prosedürün başına MsgBox s1.Cells(Rows.Count, "ar").End(xlUp).Row satırını ekleyerek "AR" sütununun dolu olan son satırını bilmek belki bir fikir verebilir.
Orada T.C. numaraları olduğu için gizledim. Son satır 225 olacak doğrun yani
 

Ekli dosyalar

ahmed_ummu

Altın Üye
Katılım
28 Mart 2011
Mesajlar
722
Excel Vers. ve Dili
Excel 2010 Professional Plus 64 Bit
Altın Üyelik Bitiş Tarihi
15-10-2026
Kusura bakayın arkadaşlar. Şimdi de ön izleme de 99 sayfa gösteriyor.

s1.Cells(s, "ar").EntireRow.RowHeight = s1.Cells(s, "ar").EntireRow.RowHeight - 1

Kırmızı olan ar yapınca satırların hepsine uyguluyor fakat bu kez de ön izleme de 99 sayfa gösteriyor.
 

Ekli dosyalar

dEdE

Destek Ekibi
Destek Ekibi
Katılım
1 Temmuz 2005
Mesajlar
2,605
Excel Vers. ve Dili
Ofis 2013 TR 64 Bit
Yukarıda belirtiğiniz satırı Rows(s).RowHeight = Rows(s).RowHeight - 1 şeklinde değiştirerek dener misiniz?
 

ahmed_ummu

Altın Üye
Katılım
28 Mart 2011
Mesajlar
722
Excel Vers. ve Dili
Excel 2010 Professional Plus 64 Bit
Altın Üyelik Bitiş Tarihi
15-10-2026
Yukarıda belirtiğiniz satırı Rows(s).RowHeight = Rows(s).RowHeight - 1 şeklinde değiştirerek dener misiniz?
Çok teşekkürler arkadaşlar. Şimdi sorunsuz çalışıyor.
 
Üst