• DİKKAT

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

Aynı İşlem İkinci sayfada yapabilir mi?

Katılım
9 Ekim 2009
Mesajlar
1,626
Excel Vers. ve Dili
türkçe
2003
Aynı İşlem İkinci sayfada yapılabilir mi?

Merhabalar;
Arkadaşlar ekte ki örnek dosyanın içerisinde veri sayfasında A1 hücresine metin girdiğim zaman A4 sayfasında A12:H12 hücrelerinde otamatik olarak girilen metnin uzunluğuna göre satırda açılma oluyor.Yine veri sayfasında A15 hücresine metin girdiğim zaman A4 sayfasında A13:H13 hücrelerinde otamatik olarak girilen metnin uzunluğuna göre satırda açılma oluyor.Benim istediğim veri sayfasından aynı hücrelere metin girdiğim zaman A4 sayfasına parelel olarak aynı işemi A5 sayfasında A12:H12,A13:H13 birleştirilmiş hücrelerde de girilen metnin uzunluğuna göre satırın otamatik olarak açılması.Bu konuda yardımlarınızı bekliyorum.Saygılar
 

Ekli dosyalar

Son düzenleme:
Sayın EErkut Merhaba;
Yapmış olduğunuz kod a5 sayfasında işlem yapıyor.Fakat bu sefer a4 sayfası iptal.A4 sayfasında satır girilen metnin uzunluğuna göre açılıp kapanmıyor
 
Merhaba,
Kodlar veri sayfasında.
 

Ekli dosyalar

Sayı Leumruk hocam çok teşekkür ederim ellerinize sağlık .Tam istediğim şekilde olmuş .Birde sizden ricam ekteki örnekte veri sayfasında c4 hücresine metin girdiğim zaman butona bastığımda a4 sayfasında c3 satırında girilen metne göre satırda açılma oluıyor.Aynı işlem veri sayfasından c5 hücresine metin girdiğimde aynı butona bastığımda a4 sayfasında c3 ve c4 satırında da girilen metne göre açılma olabilir mi?
 

Ekli dosyalar

Son düzenleme:
Arkadaşlar 5.nolu mesajıma yardımcı olabilirmisiniz?
 
Merhaba,

Aşağıdaki kodu denermisiniz.

Kod:
Sub OTOMATİK_GENİŞLET()
    Dim Hücre As Range, Sayfa_Zoom As Integer
    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
 
    Application.ScreenUpdating = False
 
    GENİŞLİK = Sheets("a4").Range("C3:M3").Columns.Width
    Sayfa_Zoom = ActiveWindow.Zoom
 
    Set S1 = Sheets.Add
    ActiveWindow.Zoom = Sayfa_Zoom
 
    Application.DisplayAlerts = False
 
    For Each Hücre In Sheets("veri").Range("C4:C5")
        Satır = 2
        YÜKSEKLİK = 0
        If Hücre.Value <> "" Then
            With S1
                .Cells.Font.Size = Hücre.Font.Size
                .Range("A1") = "=""              ""&veri!C" & Hücre.Row
                .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 * 2
                    Satır = Satır + 1
                Next
            End With
 
            Sheets("a4").Range("C" & Hücre.Row - 1).RowHeight = YÜKSEKLİK
        End If
    Next
 
    S1.Delete
    Sheets("a4").Select
    Application.DisplayAlerts = True
    Application.ScreenUpdating = True
End Sub
 
Merhaba,

Aşağıdaki kodu denermisiniz.

Kod:
Sub OTOMATİK_GENİŞLET()
    Dim Hücre As Range, Sayfa_Zoom As Integer
    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
 
    Application.ScreenUpdating = False
 
    GENİŞLİK = Sheets("a4").Range("C3:M3").Columns.Width
    Sayfa_Zoom = ActiveWindow.Zoom
 
    Set S1 = Sheets.Add
    ActiveWindow.Zoom = Sayfa_Zoom
 
    Application.DisplayAlerts = False
 
    For Each Hücre In Sheets("veri").Range("C4:C5")
        Satır = 2
        YÜKSEKLİK = 0
        If Hücre.Value <> "" Then
            With S1
                .Cells.Font.Size = Hücre.Font.Size
                .Range("A1") = "=""              ""&veri!C" & Hücre.Row
                .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 * 2
                    Satır = Satır + 1
                Next
            End With
 
            Sheets("a4").Range("C" & Hücre.Row - 1).RowHeight = YÜKSEKLİK
        End If
    Next
 
    S1.Delete
    Sheets("a4").Select
    Application.DisplayAlerts = True
    Application.ScreenUpdating = True
End Sub




Günaydın ,Korhan Bey;
yapmış olduğunuz makroyu uyguladım .Yalnız veri sayfasında veri olmadığı zaman a4 butona bastığımda a4 sayfasındaki satır eski halini almıyor.Birde veri sayfasına fazla metin girdiğim zaman girilen metnin tamamı a4 sayfasında gözükmüyor.Bazen girlen metinden fazla boşluk gözüküyor.Bazende metin sığmıyor
 
Son düzenleme:
Merhaba,

Aşağıdaki kodu denermisiniz.

Kod:
Sub OTOMATİK_GENİŞLET()
    Dim Hücre As Range, Sayfa_Zoom As Integer
    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
 
    Application.ScreenUpdating = False
 
    Sheets("a4").Range("C3:C4").EntireRow.AutoFit
    Sheets("a4").Range("C3") = Chr(10) & Sheets("veri").Range("C4")
    Sheets("a4").Range("C4") = Chr(10) & Sheets("veri").Range("C5")
    
    GENİŞLİK = Sheets("a4").Range("C3:M3").Columns.Width
    Sayfa_Zoom = ActiveWindow.Zoom
 
    Set S1 = Sheets.Add
    ActiveWindow.Zoom = Sayfa_Zoom
 
    Application.DisplayAlerts = False
 
    For Each Hücre In Sheets("veri").Range("C4:C5")
        Satır = 2
        YÜKSEKLİK = 0
        If Hücre.Value <> "" Then
            With S1
                .Cells.Font.Name = Sheets("a4").Range("C" & Hücre.Row - 1).Font.Name
                .Cells.Font.Size = Sheets("a4").Range("C" & Hücre.Row - 1).Font.Size
                .Range("A1") = Chr(10) & Hücre.Text
                .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
            End With
 
            Sheets("a4").Range("C" & Hücre.Row - 1).RowHeight = YÜKSEKLİK
        End If
    Next
 
    S1.Delete
    Sheets("a4").Select
    Application.DisplayAlerts = True
    Application.ScreenUpdating = True
End Sub
 
Sayın Korhan bey çok teşekkür ederim .Ellerinize sağlık .Yapmış olduğunuz kodu ekteki örnek dosyaya uygulamaya çalıştım fakat başarılı olamadım.Nerede eksiklik yaptım,bulamadım.Rica etsem kodu ekteki örneğe ekleyebilirmisiniz?.Resmi yazı sayfasında c14 hücresinde veri yoksa a4 sayfasında c20 satırı gizlenebilir mi?.Tekrar veri girildiği zaman ise gözükebilir mi?
 

Ekli dosyalar

Son düzenleme:
Merhaba,

Aşağıdaki kodu denermisiniz.

Kod:
Sub OTOMATİK_GENİŞLET()
    Dim Hücre As Range, Sayfa_Zoom As Integer
    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
 
    Application.ScreenUpdating = False
 
    Sheets("a4").Range("C19:C20").EntireRow.AutoFit
    Sheets("a4").Range("C19") = Chr(10) & Sheets("resmi yazı").Range("C13")
    Sheets("a4").Range("C20") = Chr(10) & Sheets("resmi yazı").Range("C14")
    
    GENİŞLİK = Sheets("a4").Range("C19:N19").Columns.Width
    Sayfa_Zoom = ActiveWindow.Zoom
 
    Set S1 = Sheets.Add
    ActiveWindow.Zoom = Sayfa_Zoom
 
    Application.DisplayAlerts = False
 
    For Each Hücre In Sheets("resmi yazı").Range("C13:C14")
        Satır = 2
        YÜKSEKLİK = 0
        If Hücre.Value <> "" Then
            With S1
                .Cells.Font.Name = Sheets("a4").Range("C" & Hücre.Row + 6).Font.Name
                .Cells.Font.Size = Sheets("a4").Range("C" & Hücre.Row + 6).Font.Size
                .Range("A1") = Chr(10) & Hücre.Text
                .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
            End With
 
            Sheets("a4").Range("C" & Hücre.Row + 6).RowHeight = YÜKSEKLİK
        End If
    Next
 
    S1.Delete
    Sheets("a4").Select
    Application.DisplayAlerts = True
    Application.ScreenUpdating = True
End Sub
 
Teşekkür ederim.Veri girişinde c14 hücresinde veri olmasa a4 sayfasındaki c20 satırını gizleme mümkün olabilir mi?.Tekrar veri girişi sağlanırsa a4 sayfasındaki c20 satırı gösrerilebilir mi?Birde Korhan bey veri girişine az veri girdiğimde a4 sayfasında satır aşırı açılma oluyor.Bunu nasıl diğer hücreler gibi yapabiliriz 15.75 olarak
 
Son düzenleme:
Sayın Korhan Bey çok teşekkür ederim.Ellerinize sağlık kodlar tam istediğim şekilde çalışıyor.Sizden ricam koda ek olarak resmi yazı sayfasında c14 hücresinde veri girilmediği zaman a4 sayfasındaki C20 satırı gizlenebilir mi ?
 
Merhaba,

Siz ilk mesajınızdaki dosyada formülle verileri alırken boşluk verdiğiniz için bende ihtiyacınız olduğunu düşünerek koda boşluk eklemiştim. Boşlukları kaldırırsak 15,75 satır yüksekliğini görebilirsiniz.

Aşağıdaki kodu denermisiniz.

Kod:
Sub OTOMATİK_GENİŞLET()
    Dim Hücre As Range, Sayfa_Zoom As Integer
    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
 
    Application.ScreenUpdating = False
 
    Sheets("a4").Range("C19:C20").EntireRow.AutoFit
    Sheets("a4").Range("C19") = Sheets("resmi yazı").Range("C13")
    Sheets("a4").Range("C20") = Sheets("resmi yazı").Range("C14")
 
    GENİŞLİK = Sheets("a4").Range("C19:N19").Columns.Width
    Sayfa_Zoom = ActiveWindow.Zoom
 
    Set S1 = Sheets.Add
    ActiveWindow.Zoom = Sayfa_Zoom
 
    Application.DisplayAlerts = False
 
    For Each Hücre In Sheets("resmi yazı").Range("C13:C14")
        Satır = 2
        YÜKSEKLİK = 0
        If Hücre.Value <> "" Then
            With S1
                .Cells.Font.Name = Sheets("a4").Range("C" & Hücre.Row + 6).Font.Name
                .Cells.Font.Size = Sheets("a4").Range("C" & Hücre.Row + 6).Font.Size
                .Range("A1") = Hücre.Text
                .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
            End With
 
            Sheets("a4").Range("C" & Hücre.Row + 6).RowHeight = YÜKSEKLİK
        Else
            Sheets("a4").Range("C" & Hücre.Row + 6).EntireRow.Hidden = True
        End If
    Next
 
    S1.Delete
    Sheets("a4").Select
    Application.DisplayAlerts = True
    Application.ScreenUpdating = True
End Sub
 
Sayın Korhan Bey ,çok teşekkür ederim ellerinize sağlık.
 
Son düzenleme:
Sayın Korhan Bey hocam .Yapmış olduğunuz makroda ufak bir değişiklik yaptım.Fakat çalıştıramadım.resmi yazı sayfasında veri girişi yaptığım c14 hücresini c15'e çektim fakat kod çalışmadı .makro üzerindede değiştirdim.Yine olmadı.Son yapmış olduğum değişikliğide makroya uyarlayabilirmisiniz?
 
Merhaba,

Bu durumda kod C13 ve C15 hücreleri içinmi çalışacak?
Yoksa C13-C14-C15 hücreleri içinmi çalışacak?
 
veri sayfasından c13 ve c15 hücrelerine veri girdiğim zaman çalışacak.a4 Sayfasında herhangi bir değişiklik söz konusu değil.
 
Merhaba,

Aşağıdaki kodu denermisiniz.

Kod:
Sub OTOMATİK_GENİŞLET()
    Dim Hücre As Range, Sayfa_Zoom As Integer
    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
 
    Application.ScreenUpdating = False
 
    Sheets("a4").Range("C19:C20").EntireRow.AutoFit
    Sheets("a4").Range("C19") = Sheets("resmi yazı").Range("C13")
    Sheets("a4").Range("C20") = Sheets("resmi yazı").Range("C15")
 
    GENİŞLİK = Sheets("a4").Range("C19:N19").Columns.Width
    Sayfa_Zoom = ActiveWindow.Zoom
 
    Set S1 = Sheets.Add
    ActiveWindow.Zoom = Sayfa_Zoom
 
    Application.DisplayAlerts = False
 
    For Each Hücre In Sheets("resmi yazı").Range("C13,C15")
        Satır = 2
        YÜKSEKLİK = 0
        If Hücre.Value <> "" Then
            With S1
                .Cells.Font.Name = Sheets("a4").Range("C" & IIf(Hücre.Row = 13, Hücre.Row + 6, Hücre.Row + 5)).Font.Name
                .Cells.Font.Size = Sheets("a4").Range("C" & IIf(Hücre.Row = 13, Hücre.Row + 6, Hücre.Row + 5)).Font.Size
                .Range("A1") = Hücre.Text
                .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
            End With
 
            Sheets("a4").Range("C" & IIf(Hücre.Row = 13, Hücre.Row + 6, Hücre.Row + 5)).RowHeight = YÜKSEKLİK
        Else
            Sheets("a4").Range("C" & IIf(Hücre.Row = 13, Hücre.Row + 6, Hücre.Row + 5)).EntireRow.Hidden = True
        End If
    Next
 
    S1.Delete
    Sheets("a4").Select
    Application.DisplayAlerts = True
    Application.ScreenUpdating = True
End Sub
 
Çok teşekkür ederim Korhan bey
 
Geri
Üst