Metne göre satır yüksekliği

Katılım
30 Kasım 2006
Mesajlar
411
Excel Vers. ve Dili
Excel 2007 - Türkçe
Altın Üyelik Bitiş Tarihi
05.07.2020
Değerli Arkadaşlar..! Hayırlı çalışmalar dileğiyle..

Birleştirilmiş hücrede, metnin hacmine göre, satır yüksekliğinin otomatik olarak ayarlanması konusunda bir çok çalışma inceledim ancak tam olarak örnek dosyamda mevcut 15. satıra uyarlayamadım.
yardımlarınız için şimdiden şükranlarımı sunuyorum..
 

Ekli dosyalar

S

Skorpiyon

Misafir
Sayın omeryilmaz,

İşinizi görürse aşağıdaki şekilde kullanabilirsiniz.
 

Ekli dosyalar

Katılım
30 Kasım 2006
Mesajlar
411
Excel Vers. ve Dili
Excel 2007 - Türkçe
Altın Üyelik Bitiş Tarihi
05.07.2020
Sayfada A15 hücresine girilen harf karakter sayısına göre satır yüksekliğini ayarlamak daha doğru olmazmı?
 
S

Skorpiyon

Misafir
Aklıma gelmedi değil, ama paragraf ile başlarsanız bunu ayarlamak sorun olmaz mı ? Sizin metninizde 1'den fazla paragraf var.
 
Katılım
9 Ekim 2009
Mesajlar
1,626
Excel Vers. ve Dili
türkçe
2003
Sayın Şaban UZUN ekteki örnek dosyada butonu tıkladığımda girilen metne göre satır genişliyo ve daralıyo .Benim istediğim bunu sadece a4 sayfasında a12 satırıyla sınrlayabilirmiyiz.? yani diğer hücereleride birleştirdiğim zaman işlem a12 satırında yapacak .makro aktif olacak.Ben diğer hücreleri birleştirdiğim zaman makro çalışmıyo
 

Ekli dosyalar

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,745
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Selamlar,

Ekteki örnek dosyayı incelermisiniz. Sarı renkli hücrenizdeki metnin yapısını biraz değiştirmek zorunda kaldım. Bu şekilde sorun çıkarmaz diyorsanız önerdiğim kod işinize yarayacaktır.

Uygulanan kod; (Sayfanın kod bölümüne uygulayınız.)

Kod:
Option Explicit
 
Private Sub Worksheet_Change(ByVal Target As Range)
    Dim S1 As Worksheet, GENİŞLİK As Integer, YÜKSEKLİK As Integer
    Dim VERİ As Variant, Satır As Integer, X As Integer
    
    If Intersect(Target, Range("A15:Q15")) Is Nothing Then Exit Sub
    
    Application.ScreenUpdating = False
    GENİŞLİK = Range("A15:Q15").Columns.Width
    
    Set S1 = Sheets.Add
    Satır = 2
    
    Application.DisplayAlerts = False
    
    With S1
        .Cells.Font.Size = Target.Font.Size
        .Range("A1") = "=Sayfa31!A15"
        .Range("A:A").WrapText = True
        .Range("A1").VerticalAlignment = xlJustify
        .Range("A1").ColumnWidth = GENİŞLİK / 5.3
        .Range("A1").EntireRow.AutoFit
         
        VERİ = Split(.Range("A1"), Chr(10))
    
        For X = 0 To UBound(VERİ)
            .Cells(Satır, 1) = VERİ(X)
            YÜKSEKLİK = YÜKSEKLİK + .Cells(Satır, 1).RowHeight
            Satır = Satır + 1
        Next
        
        .Delete
    End With
    
    Target.RowHeight = YÜKSEKLİK
    
    Application.DisplayAlerts = True
    Application.ScreenUpdating = True
End Sub
 

Ekli dosyalar

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,745
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Selamlar,

Sn. ormann,

Dosyanızda tüm kodları silin ve aşağıdaki kodu "a5" isimli sayfanızın kod bölümüne uygulayın. Yeşil renkli hücreye veri girişi yapıp enter tuşuna bastığınızda işlem gerçekleşecektir.

Sayın Şaban UZUN ekteki örnek dosyada butonu tıkladığımda girilen metne göre satır genişliyo ve daralıyo .Benim istediğim bunu sadece a4 sayfasında a12 satırıyla sınrlayabilirmiyiz.? yani diğer hücereleride birleştirdiğim zaman işlem a12 satırında yapacak .makro aktif olacak.Ben diğer hücreleri birleştirdiğim zaman makro çalışmıyo

Kod:
Option Explicit
 
Private Sub Worksheet_Change(ByVal Target As Range)
    Dim GENİŞLİK As Integer, YÜKSEKLİK As Integer
    Dim VERİ As Variant, S1 As Worksheet, X As Integer, Satır As Long
 
    If Intersect(Target, Range("B4:F18")) Is Nothing Then Exit Sub
 
    Application.ScreenUpdating = False
 
    GENİŞLİK = Range("B4:F4").Columns.Width
 
    Set S1 = Sheets.Add
    Satır = 2
 
    Application.DisplayAlerts = False
 
    With S1
        .Cells.Font.Size = Target.Font.Size
        .Range("A1") = "=a5!B4"
        .Range("A:A").WrapText = True
        .Range("A1").VerticalAlignment = xlJustify
        .Range("A1").ColumnWidth = GENİŞLİK / 5.3
        .Range("A1").EntireRow.AutoFit
 
        VERİ = Split(.Range("A1"), Chr(10))
 
        For X = 0 To UBound(VERİ)
            .Cells(Satır, 1) = VERİ(X)
            YÜKSEKLİK = YÜKSEKLİK + .Cells(Satır, 1).RowHeight
            Satır = Satır + 1
        Next
 
        .Delete
    End With
 
    Sheets("a4").Select
    Sheets("a4").Range("A12").RowHeight = YÜKSEKLİK
    ActiveSheet.PrintPreview
 
    Application.DisplayAlerts = True
    Application.ScreenUpdating = True
End Sub
 

Ekli dosyalar

Katılım
9 Ekim 2009
Mesajlar
1,626
Excel Vers. ve Dili
türkçe
2003
Korhan Bey çok teşekkür ederim ellerinize sağlık
 
Katılım
30 Kasım 2006
Mesajlar
411
Excel Vers. ve Dili
Excel 2007 - Türkçe
Altın Üyelik Bitiş Tarihi
05.07.2020
Korhan Hocam Eline Yüreğine Sağlık......Teşekkürler
 
Üst