Satır daraltma-genişletme

Katılım
25 Ağustos 2012
Mesajlar
562
Excel Vers. ve Dili
Office 2003
Altın Üyelik Bitiş Tarihi
3.7.2018
Yapmak istediğim konu birleştirilmiş hücreler içerisinde bir metin yazarken metnin uzunluk veya kısalık durumuna göre buton kullanarak satırlar arasını daraltmak veya genişletmek şimdiden teşekkürler. Ek teki çalışmada açıklamaya çalıştım. Yardımlarınızı bekliyorum şimdiden teşekkür ederim.
 

Ekli dosyalar

Katılım
6 Temmuz 2015
Mesajlar
926
Excel Vers. ve Dili
2003
Dosyalarınızı alternatif bir site üzerinden paylaşırsanız, (elimizden gelirse) bizlerde yardımcı olmaya çalışırız.
 
Katılım
6 Temmuz 2015
Mesajlar
926
Excel Vers. ve Dili
2003
Şöyle bir mantık işinizi görür mü ?

Kod:
Sub Hücre()
If Len(Range("B16")) >= 10 And Len(Range("B16")) <= 20 Then
Range("B16").Font.Size = 8

ElseIf Len(Range("B16")) >= 21 And Len(Range("B16")) <= 30 Then
Range("B16").Font.Size = 12

ElseIf Len(Range("B16")) >= 31 And Len(Range("B16")) <= 40 Then
Range("B16").Font.Size = 16

ElseIf Len(Range("B16")) >= 41 And Len(Range("B16")) <= 50 Then
Range("B16").Font.Size = 20
End If
End Sub
 
Katılım
25 Ağustos 2012
Mesajlar
562
Excel Vers. ve Dili
Office 2003
Altın Üyelik Bitiş Tarihi
3.7.2018
Şöyle bir mantık işinizi görür mü ?

Kod:
Sub Hücre()
If Len(Range("B16")) >= 10 And Len(Range("B16")) <= 20 Then
Range("B16").Font.Size = 8

ElseIf Len(Range("B16")) >= 21 And Len(Range("B16")) <= 30 Then
Range("B16").Font.Size = 12

ElseIf Len(Range("B16")) >= 31 And Len(Range("B16")) <= 40 Then
Range("B16").Font.Size = 16

ElseIf Len(Range("B16")) >= 41 And Len(Range("B16")) <= 50 Then
Range("B16").Font.Size = 20
End If
End Sub
Hocam ekli dosyada anlatmaya çalıştım ben rapor yazarken metnin durumuna göre satır yüksekliğini bir buton yardımıyla azaltmak yada yükseltmek istiyorum
 

Ekli dosyalar

Katılım
6 Temmuz 2015
Mesajlar
926
Excel Vers. ve Dili
2003
Altın üye olmadığımızdan dosyanızı indiremiyorum. Alternatif bir site lütfen.
 

Ömer BARAN

Uzman
Katılım
8 Mart 2011
Mesajlar
12,997
Excel Vers. ve Dili
Office 2013 ( 32 bit ) TÜRKÇE
Altın Üyelik Bitiş Tarihi
(18.03.2020) - Uzman olduğu için tarih geçersiz oldu.
Merhaba, kod yazma olayında yeniyim ancak bir öneride bulunmak istedim.
Şayet sayfanızda elle veri girişi yaptığınız veya veri doğrulama listesinden seçim şeklinde kullandığınız (yane formül ile veri elde edilen hücreler dışında) bir hücre varsa (örneğin ben J53 veya B47 hücresini elle veri girişi yapılan hücre diye düşündüm), bu iki hücrede değişiklik yaptığınızda otomatik olarak devreye girecek (düğme gibi nesneye gerek olmaksızın) kod ile kendiliğinden gerçekleşebili diye düşündüm.
B47 hücresindeki metnin uzunluğu ve birleştirilmiş hücrenin mevcut genişliğine göre baktığımda yaklaşık 90 karakterin bir satır olduğunu düşünerek aşağıdaki gibi bir kod düşündüm. Bu sayıyı aşağıdaki koddan dilediğiniz gibi değiştirebilirsiniz elbette, zira karakter boyutu tercihinizi bilemiyorum.
Umarım işinize yarar.
Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, [J53, B47]) Is Nothing Then Exit Sub
Rows(47).RowHeight = WorksheetFunction.RoundUp((Len(Range("B47")) / 90), 0) * 16
End Sub
 
Katılım
25 Ağustos 2012
Mesajlar
562
Excel Vers. ve Dili
Office 2003
Altın Üyelik Bitiş Tarihi
3.7.2018
Hocam merhaba ilginize teşekkür ederim. Lakin girilecek metin belli değil. Her hafta yazılan rapora veya duruma göre değişkenlik göstermektedir. Birleştirilmiş hücrede bazen 2 satı, bezen de 15 satır olabilmektedir. o nedenle butonla isteğe göre daraltıp genişletmek daha mantıklı gibi. Teşekkür ederim.
 

Ömer BARAN

Uzman
Katılım
8 Mart 2011
Mesajlar
12,997
Excel Vers. ve Dili
Office 2013 ( 32 bit ) TÜRKÇE
Altın Üyelik Bitiş Tarihi
(18.03.2020) - Uzman olduğu için tarih geçersiz oldu.
Merhaba.
47'inci satırdaki birleştirilmiş hücredeki metnin formül ile elde edildiğini düşünürsek; sadece kod'un tetiklenmesi için sayfada elle veya veri doğrulama yolayla veri girişi yapılan bir hücre varsa kodda ikinci satırda yer alan [J53, B47] yerine o hücre adresini yazmanız yeterli olacaktır, diye düşündüm. Tercih elbette sizin.
 
Katılım
25 Ağustos 2012
Mesajlar
562
Excel Vers. ve Dili
Office 2003
Altın Üyelik Bitiş Tarihi
3.7.2018
Ömer Baran hocam ilginize teşekkür ederim. Birleştirilmiş hücreye elle giriş yapıyorum. aslında verdiğiniz formül güzel ama bu çalışmamda kullanamadım . ama arşivime ekledim. Kesinlikle işime daha sonra yarayacak. Çok sağolun
 

Ömer BARAN

Uzman
Katılım
8 Mart 2011
Mesajlar
12,997
Excel Vers. ve Dili
Office 2013 ( 32 bit ) TÜRKÇE
Altın Üyelik Bitiş Tarihi
(18.03.2020) - Uzman olduğu için tarih geçersiz oldu.
Genişletilecek hücreye elle veri girişi yapılıyorsa bahsettiğim kısma o hücre adresini yazmanız yeterli olacaktır, karakter sayısına göre yükseklik otomatik olarak artacak/azalacaktır, siz bilirsiniz tabi, iyi günler dilerim.
 
Üst