• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

Satır daraltma-genişletme

Katılım
25 Ağustos 2012
Mesajlar
562
Excel Vers. ve Dili
Office 2003
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

Dosyalarınızı alternatif bir site üzerinden paylaşırsanız, (elimizden gelirse) bizlerde yardımcı olmaya çalışırız.
 
Şö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
 
Şö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

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
 
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.
 
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.
 
Ö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
 
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.
 
Geri
Üst