Satır Yüksekliğini Gösteren Formül Var mı?

Katılım
18 Mayıs 2009
Mesajlar
1,184
Excel Vers. ve Dili
Excel 2016 Türkçe
Merhabalar,

Örnek veriyorum,

A sütununda, binlerce satırdan oluşan bir excel sayfası var. Bu hücrelerin yani satırların, satır yüksekliğini kontrol etmek ve görüp kontrol ettikten sonra elle düzeltmek istiyorum.

(Hepsi 12,6 olması gerekirken bir başka satır (hücre), 25,1 olduysa, nedenini görmek istiyorum. Yanlışlıkla Alt enter mi yapılmış, veya metni kaydır mı yapılmış, bulup, görüp elle düzeltmek istiyorum.

(50-100 satır olsa gözle görülebilir ama binlerce satırda gözden kaçanlar olabilir. Formül, bizi doğru sonuca ulaştırır)

ihtiyacım olan, acaba B1 den başlayıp formül yazarak satır yüksekliklerini dökebiliyor muyuz?

(Makro da olur)

Teşekkürler.
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,250
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Bu işlem için yerleşik fonksiyon bulunmuyor.

Aşağıdaki kullanıcı tanımlı fonksiyon işinize yarayabilir.

Satır sayısı fazla ise yavaşlık sorunu yaratabilir.

C++:
Option Explicit

Function ROW_HEIGHT(MY_CELL As Range) As Double
    Application.Volatile True
    ROW_HEIGHT = MY_CELL.RowHeight
End Function
 
Katılım
18 Mayıs 2009
Mesajlar
1,184
Excel Vers. ve Dili
Excel 2016 Türkçe
Bu işlem için yerleşik fonksiyon bulunmuyor.

Aşağıdaki kullanıcı tanımlı fonksiyon işinize yarayabilir.

Satır sayısı fazla ise yavaşlık sorunu yaratabilir.

C++:
Option Explicit

Function ROW_HEIGHT(MY_CELL As Range) As Double
    Application.Volatile True
    ROW_HEIGHT = MY_CELL.RowHeight
End Function
Sayın Uzmanım harika, tek kelimeyle sorun çözen bir çözüm oldu

Teşekkür ederim

Arşivimde durması amacıyla
Sütunları gösteren kodları da yazar mısınız?

Teşekkürler
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,250
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Sütunlar için deneyiniz.

C++:
Option Explicit

Function COLUMN_WIDTH(MY_CELL As Range) As Double
    Application.Volatile True
    COLUMN_WIDTH = MY_CELL.ColumnWidth
End Function
 

ÖmerFaruk

Destek Ekibi
Destek Ekibi
Katılım
22 Ekim 2017
Mesajlar
4,779
Excel Vers. ve Dili
Microsoft 365 Tr-64
Teşekkürler, GET=AL yazamamışım =))

Ancak bu sefer de satır yüksekliği değişse dahi sonuç eski değerde kalıyor. Formülün yazıldığı hücreye girip çıkınca düzeliyor.
Sorun ne olabilir?
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,250
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Satır yüksekliğini değiştirmek sayfada herhangi bir olayı tetiklemediği için hesaplama yapamıyor. Aynı durum renk değişimi içinde geçerlidir.

F9 tuşuna basarak sonuç vermesini sağlayabilirsiniz.

Ya da;

Aşağıdaki kodu BUÇALIŞMAKİTABI (ThisWorkbook) bölümüne uygularsanız bir hücreye tıkladığınızda hesaplama yapılacaktır.

C++:
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
    Calculate
End Sub
[/coce]
 

Haluk

Özel Üye
Katılım
7 Temmuz 2004
Mesajlar
12,406
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
Sorun; Excel4 makrosuyla yazılan fonksiyonun "Volatile" olmamasından kaynaklanıyor.

Korhan Bey 5 No'lu mesajındaki kodda VBA ile hazırladığı fonksiyonda bu özelliği kullanmıştı..... O zaman, Excel4 fonksiyonu için, buna benzer bir kandırmaca yapmak lazım....

Örneğin; fonksiyon ile elde edilen satır yüksekliğini, sonucu sıfır olan bir işlemle toplayabiliriz. Böylece, sayfada herhangibir işlem gerçekleştiğinde, Excel4 fonksiyonuna "Volatile" özelliğini kazandırmış oluruz.

Kod:
=GET.CELL(17;Sheet1!A1)+0*RAND()
.
 

ÖmerFaruk

Destek Ekibi
Destek Ekibi
Katılım
22 Ekim 2017
Mesajlar
4,779
Excel Vers. ve Dili
Microsoft 365 Tr-64
...herhangibir işlem gerçekleştiğinde...
Bu şekilde oluyor, teşekkürler.
Benim bu özellikle ilgili ısrarım, genelde soru soran arkadaşlara Excelin bu özelliği yok deniyor ve kodlara yönlendiriliyor. Böyle bir alternatifin olduğunu bilmeleri faydalı olacaktır.
 

Haluk

Özel Üye
Katılım
7 Temmuz 2004
Mesajlar
12,406
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
Esasında GET.CELL kullanımı da bir makrodur. Farkı; VBA geliştirilmeden önce kullanılan eski makro tipi olmasıdır.

Yani; bu tür fonksiyonları kullanmak için yeni nesil Excel dosyalarını "*.xlsm" olarak kaydettiğinizde kullanabilirsiniz...

.
 

ÖmerFaruk

Destek Ekibi
Destek Ekibi
Katılım
22 Ekim 2017
Mesajlar
4,779
Excel Vers. ve Dili
Microsoft 365 Tr-64
Güzel bilgilendirmelerin için teşekkürler Haluk Bey.
 
Üst