sayfaya makro ile alt bilgi ekleme ve düzenleme

tamer42

Destek Ekibi
Destek Ekibi
Katılım
11 Mart 2005
Mesajlar
3,194
Excel Vers. ve Dili
Office 2013 İngilizce
Merhabalar,
Makro ile sayfa alt bilgilerinin yazdırılması konusunda aşağıdaki kodu oluşturdum
burada verileri 2'şerli olmak üzere şimdi 3 ' parçaya ( sol, orta, sağ) böldüm ; parçalar arasında çok boşluk var,
parça içinde daha çok boşluk vererek, parçalar arası boşluğu azaltabilir miyiz?
veriler daha düzenli görünsün, özetle sayfanın alt tarafında eşit olarak dağılsın.

yardımlarınız için şimdiden teşekkürler,

iyi Çalışmalar dilerim.

Kod:
Sub SetFooterThreeAreasOptimized()
    Dim ws As Worksheet
    Dim ayar As Worksheet
    Dim tasks(1 To 6) As String, names(1 To 6) As String
    Dim footerLeft As String, footerCenter As String, footerRight As String
    Dim PadInner As Integer ' Parça içi boşluk
    
    Set ws = ThisWorkbook.Sheets("Tablo")
    Set ayar = ThisWorkbook.Sheets("Ayarlar")
    
    ' --- Görev ve isimleri al ---
    Dim i As Integer
    For i = 1 To 6
        tasks(i) = ayar.Cells(i + 1, "E").Value
        names(i) = ayar.Cells(i + 1, "F").Value
    Next i
    
    PadInner = 6 ' Parça içi boşluk (görev ve isimler arasında)
    
    ' --- Sol / Orta / Sağ alanlar ---
    footerLeft = tasks(1) & " / " & names(1) & Space(PadInner) & tasks(2) & " / " & names(2)
    footerCenter = tasks(3) & " / " & names(3) & Space(PadInner) & tasks(4) & " / " & names(4)
    footerRight = tasks(5) & " / " & names(5) & Space(PadInner) & tasks(6) & " / " & names(6)
    
    ' --- PageSetup ---
    With ws.PageSetup
        .LeftFooter = footerLeft
        .CenterFooter = footerCenter
        .RightFooter = footerRight
        .LeftMargin = Application.InchesToPoints(0.3)
        .RightMargin = Application.InchesToPoints(0.3)
        .TopMargin = Application.InchesToPoints(0.5)
        .BottomMargin = Application.InchesToPoints(0.5)
        ' Üstbilgi
        .CenterHeader = "&""Calibri,Bold""&16 " & ayar.Range("B2").Value
    End With
End Sub
 

Ekli dosyalar

muhasebeciyiz

Altın Üye
Katılım
10 Şubat 2006
Mesajlar
1,127
Excel Vers. ve Dili
Office 2016
64 Bit
Altın Üyelik Bitiş Tarihi
21-12-2027
Parçalar Arası Boşluk: Sol, Orta ve Sağ altbilgi alanları arasındaki boşluk sabit ve eşittir, sayfa genişliği ve kenar boşlukları tarafından belirlenir. Bunu değiştiremezsiniz.

Görsel Yanılsama: Parçalar arası boşluğu azaltmanın tek yolu, her bir parçayı (örneğin footerLeft içindeki metni) görsel olarak daha sıkı ve daha az yayılmış göstermektir. Bu, sizin isteğinizin tersine, parça içi boşluğu (PadInner) azaltarak (örneğin 6 yerine 3 veya 4 yaparak) veya daha kısa ayırıcılar (örneğin Space(PadInner) yerine " | ") kullanarak mümkün olur.

Deneyiniz: Yukarıdaki kodda PadInner değerini 4 olarak ayarladım ve setler arasına " | " ayırıcısını eklendi. Bu, altbilginizin daha düzenli görünmesine yardımcı olacaktır.

Hocam bilginize sunulur.Saygılar
 

Ekli dosyalar

tamer42

Destek Ekibi
Destek Ekibi
Katılım
11 Mart 2005
Mesajlar
3,194
Excel Vers. ve Dili
Office 2013 İngilizce
Parçalar Arası Boşluk: Sol, Orta ve Sağ altbilgi alanları arasındaki boşluk sabit ve eşittir, sayfa genişliği ve kenar boşlukları tarafından belirlenir. Bunu değiştiremezsiniz.

Görsel Yanılsama: Parçalar arası boşluğu azaltmanın tek yolu, her bir parçayı (örneğin footerLeft içindeki metni) görsel olarak daha sıkı ve daha az yayılmış göstermektir. Bu, sizin isteğinizin tersine, parça içi boşluğu (PadInner) azaltarak (örneğin 6 yerine 3 veya 4 yaparak) veya daha kısa ayırıcılar (örneğin Space(PadInner) yerine " | ") kullanarak mümkün olur.

Deneyiniz: Yukarıdaki kodda PadInner değerini 4 olarak ayarladım ve setler arasına " | " ayırıcısını eklendi. Bu, altbilginizin daha düzenli görünmesine yardımcı olacaktır.

Hocam bilginize sunulur.Saygılar
ilgi ve alakanız için teşekkür ederim.
şöyle bir durum söz konusu olabilir mi?
Ekli dosyada Ayarlar sayfasında "A14:F15" hücre aralığına yazılan değerleri resim olarak oluşturdum,
Bu görseli ekli dosyaya alt-bilgi olarak ekledim. alt bilgide bu resmin boyutunu büyüterek daha düzenli görünmesi sağlanabilir mi?
iyi Çalışmalar dilerim.
 

Ekli dosyalar

muhasebeciyiz

Altın Üye
Katılım
10 Şubat 2006
Mesajlar
1,127
Excel Vers. ve Dili
Office 2016
64 Bit
Altın Üyelik Bitiş Tarihi
21-12-2027
Excel'in altbilgi (Footer) özelliğine VBA ile bir resim dosyası eklediğinizde, bu resmin boyutunu (.Height veya .Width gibi) doğrudan makro içinde ayarlamak mümkün değildir.Excel'in altbilgisine eklenen resimler, genellikle resminizin orijinal çözünürlüğü ve boyutuyla eklenir.

Kaynak Resmi Büyütmek (En Etkili Yöntem) : Altbilgiye eklemeden önce resminizin kendisinin boyutunu ayarlamaktır.

Excel altbilgi makrolarında resim eklemek için genellikle kullanılan kod formatı şöyledir:

.LeftFooter = "&G" ' Sol Altbilgiye Grafik (Görsel) Ekle

Bu görselin boyutunu biçimlendirmek için özel kodlar mevcuttur. Deneyebileceğimiz kod:
  • &["Graphic"]: Resim biçimlendirme komutunu başlatır.
Sınırlıda olsa deneyebilirsiniz

Kod:
Sub SetFooterWithPicture()
    Dim ws As Worksheet
    Set ws = ThisWorkbook.Sheets("Tablo")
    
    ' Resminizin dosya yolunu buraya ekleyin
    Dim resimYolu As String
    ' " &P " (Yol/Dosya Adı) kısmı, resim ekleme komutunun yerini alır.
    resimYolu = "C:\Users\KullaniciAdiniz\Desktop\imza.png" ' Örnek Yol
    
    With ws.PageSetup
        ' &G: Grafik (Görsel) Ekle komutudur.
        ' Normalde görselin tam yolunu belirtmek gerekir.
        ' Resmin kendisi Excel'e gömülü olduğu için bu kod çalışır.
        
        ' Resmin biçimlendirilmiş halini altbilgiye yerleştirme denemesi:
        ' "&G" komutu, altbilgi metninde kullanılan dosya yoluna başvurur.
        .CenterFooter = "&G"
        
        ' DİKKAT: &G ile eklenen resimlerin boyutunu doğrudan değiştirmek için
        ' özel bir VBA komutu yoktur. Resmin orijinal boyutu kullanılır.
        
    End With
End Sub
Sonuç olarak: En kesin ve başarılı sonuç için, altbilgiye eklemeden önce resminizin orijinal boyutunu büyüterek (yani Ayarlar sayfasındaki A14:F15 hücrelerini daha büyük yaparak) yeniden ekran görüntüsü almanız daha uygun olacaktır. Bilginize Hocam
 

tamer42

Destek Ekibi
Destek Ekibi
Katılım
11 Mart 2005
Mesajlar
3,194
Excel Vers. ve Dili
Office 2013 İngilizce
Excel'in altbilgi (Footer) özelliğine VBA ile bir resim dosyası eklediğinizde, bu resmin boyutunu (.Height veya .Width gibi) doğrudan makro içinde ayarlamak mümkün değildir.Excel'in altbilgisine eklenen resimler, genellikle resminizin orijinal çözünürlüğü ve boyutuyla eklenir.

Kaynak Resmi Büyütmek (En Etkili Yöntem) : Altbilgiye eklemeden önce resminizin kendisinin boyutunu ayarlamaktır.

Excel altbilgi makrolarında resim eklemek için genellikle kullanılan kod formatı şöyledir:

.LeftFooter = "&G" ' Sol Altbilgiye Grafik (Görsel) Ekle

Bu görselin boyutunu biçimlendirmek için özel kodlar mevcuttur. Deneyebileceğimiz kod:
  • &["Graphic"]: Resim biçimlendirme komutunu başlatır.
Sınırlıda olsa deneyebilirsiniz

Kod:
Sub SetFooterWithPicture()
    Dim ws As Worksheet
    Set ws = ThisWorkbook.Sheets("Tablo")
   
    ' Resminizin dosya yolunu buraya ekleyin
    Dim resimYolu As String
    ' " &P " (Yol/Dosya Adı) kısmı, resim ekleme komutunun yerini alır.
    resimYolu = "C:\Users\KullaniciAdiniz\Desktop\imza.png" ' Örnek Yol
   
    With ws.PageSetup
        ' &G: Grafik (Görsel) Ekle komutudur.
        ' Normalde görselin tam yolunu belirtmek gerekir.
        ' Resmin kendisi Excel'e gömülü olduğu için bu kod çalışır.
       
        ' Resmin biçimlendirilmiş halini altbilgiye yerleştirme denemesi:
        ' "&G" komutu, altbilgi metninde kullanılan dosya yoluna başvurur.
        .CenterFooter = "&G"
       
        ' DİKKAT: &G ile eklenen resimlerin boyutunu doğrudan değiştirmek için
        ' özel bir VBA komutu yoktur. Resmin orijinal boyutu kullanılır.
       
    End With
End Sub
Sonuç olarak: En kesin ve başarılı sonuç için, altbilgiye eklemeden önce resminizin orijinal boyutunu büyüterek (yani Ayarlar sayfasındaki A14:F15 hücrelerini daha büyük yaparak) yeniden ekran görüntüsü almanız daha uygun olacaktır. Bilginize Hocam
çok teşekkür ederim Hocam
iyi Çalışmalar.
 
Üst