• DİKKAT

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

Hücre yüksekliğinin otomatik ayarlanması

  • Konbuyu başlatan Konbuyu başlatan canbolad
  • Başlangıç tarihi Başlangıç tarihi
sn leventm
belirttiğiniz ayarları da kontrol ettim onlarda da bir problem yok
sizin son verdiğiniz örnekte de çıkan hata uyarısını ekte gönderdim
 
Çok ilginç kodlarda hata verecek bir durumda söz konusu değil, peki çıkan hata mesajında debug deyince hangi satırı hatalı olarak gösteriyor.
 
Hata taşma var diyor. Bir hücreye girilebilecek en fazla karakter sayısından fazla karakter girilmişse bu hatayı veriyor olabilir.
 
Kodta ısrar edilirken, alternatif çözüm yöntemleride gözardı etmemek gerekir diye düşünüyorum. İşte bir çözüm yöntemi : Girilecek metnin uzunluğuna göre ilgili satırda açılım ve deaçılım olacak. Kod örnek niteliğindedir. Bunu kendinize adapte etmeye çalışın.

Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
Sheets(2).[A1] = [A1]
If Len([A1]) > 10 Then Sheets(2).Rows("1:1").RowHeight = 20
If Len([A1]) < 100 Then Sheets(2).Rows("1:1").RowHeight = 50
If Len([A1].Value) = 0 Then Sheets(2).Rows("1:1").RowHeight = 13
Application.EnableEvents = True
End Sub
 
sn Leventm
debug deyince çıkan kod sayfasını ekte gönderdim
 
sn Seyit Tiken
sizin verdiğiniz kodlarıda hücre adreslerini uyarlıyarak yazdım
yine olmadı
 
San&#305;yorum hatay&#305; anlad&#305;m. Yine "i" ve "&#305;" sorunu, kod i&#231;inde [i17] yazan yeri [I17] olarak d&#252;zeltin. Yani k&#252;&#231;&#252;k "i" yerine b&#252;y&#252;k "I" yazmal&#305;s&#305;n&#305;z.
 
İŞTE OLDU
SAYIN LEVENTM SİZE NE KADAR TEŞEKKÜR ETSEM AZDIR
İlgilendiğiniz ve emek harcadığınız için çok sağolun
 
Say&#305;n Seyit Tiken;
Sat&#305;r y&#252;ksekli&#287;i ile ilgili a&#351;a&#287;&#305;da verdi&#287;iniz kod i&#351;imi k&#305;smen g&#246;rd&#252; ancak ben bu i&#351;lemi t&#252;m sat&#305;rlarda yapmak istiyorum bunun i&#231;in nas&#305;l bir de&#287;i&#351;iklik yapmam gerekir.

Te&#351;ekk&#252;rler
K&#246;ksal YETK&#304;N


Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
Sheets(2).[A1] = [A1]
If Len([A1]) > 10 Then Sheets(2).Rows("1:1").RowHeight = 20
If Len([A1]) < 100 Then Sheets(2).Rows("1:1").RowHeight = 50
If Len([A1].Value) = 0 Then Sheets(2).Rows("1:1").RowHeight = 13
Application.EnableEvents = True
End Sub
 
Sn. Seyit Tiken'in Dikkatine

Ek de dosyamı gönderiyorum. Amaç şu; B3 den itibaren her bir kayıt, veri girişine duyarlı olarak satır yüksekliğini otomatik artmasını sağlamak. Ben dosyada sizin dediğinz gibi B8'e kadar kod çoğaltım ama düşünün ki 100-150 kayıt girilmiş olsa bu sayı kadar kod düzenlemek gerekecek. Temelde kod çok güzel çalışıyor tam istediğim gibi tek sorun her satır için ayrı kod yazmak. Bunu sorunu for-next ile çözebilir miyiz? Yani satır ve sütün sayısını bir değişkene atayarak bir döngü yapılırsa bu da çözülmüş olur mu?

İlginize Teşekkür ederim...
 
Bu şekilde deneyin.

Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(ActiveCell, [B3:B300]) Is Nothing Then Exit Sub
If Len(Target) > 10 Then Target.RowHeight = 30
End Sub
 
Evet i&#351;te budur. K&#252;&#231;&#252;k bir&#351;ey de&#287;i&#351;tirdim tam olarak istedi&#287;im oldu.

Te&#351;ekk&#252;r Eder Sayg&#305;lar&#305;m&#305; Sunar&#305;m
 
Satır yüksekliği ayarı değişikliği sözkonusu olduğunda, kod bölümüne gidip değişiklik yapmaya gerek kalmadan, bir hücre değerinde de yapılabilir, Örnek :

Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(ActiveCell, [B3:B300]) Is Nothing Then Exit Sub
If Len(Target) > 10 Then Target.RowHeight = [A1]
End Sub
 
evet hocam &#246;ncesinde A1 h&#252;cresinin de&#287;eri verilip daha sonra A1 h&#252;cresini refere edilebiliyor. Verdi&#287;iniz koddan bunu anlad&#305;m.

Ben bir &#246;nceki kodunuz da &#351;u de&#287;i&#351;ikleri yaparak hedefi onikiden vurdum. Tabiii sayenizde &#199;ok mersi...

Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(ActiveCell, [A3:A500]) Is Nothing Then Exit Sub
If Len(Target) > 1 Then Target.RowHeight = 30
If Len(Target.Value) = 0 Then Target.RowHeight = 13
End Sub
 
merhabalar. yeni üyeyim ve ben de konuyu ilk şimdi okuyorum. bende de aynı object hatası verdi. üstelik yukarıda kaydettiğiniz dosyada da aynı hatayı verdi.

özür dilerim. yazının devamını okumamıştım. Hata ortadan kalktı, çok teşekkür ediyorum ben de. kendi ihale dosyası programımı kendim hazırlayacağım...

çok çok sağolun EXCEL.WEB.TR
 
Merhaba. Güzel bir konu. "En Uygun yükseklik" özelliği birleştirilmiş hücreler için de çalışıyor mu ?
 
Geri
Üst