• DİKKAT

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

yazdır makrosunda yardım

Katılım
2 Ekim 2007
Mesajlar
359
Excel Vers. ve Dili
2010
iyi çalışmalar arkadaşlar
sizlerin yardımıyla ekteki programı buraya kadar getirebildim ancak tazminat bilgileri usformdaki yazdır makrolarını kullandığım zaman çalışma kitabı hangi sayfada açıksa o sayfayı gösteriyor
Örnek olarak :Banka listesini yazdır dediğimde çalışma kitabında ödeme emri açıksa o sayfayı getiriyor bu konuda yardım ederseniz sevinirim.dosyamı ekte gönderiyorum
 

Ekli dosyalar

Selam,
Birincisi;
Dosyanızda Sheets("TAZMİNAT_CETVELİ") adlı bir sayfa yok.
İkincisi ;
Kod:
ActiveSheet.PageSetup.PrintArea = "Yazdırma_Alanı1"
yerine
Kod:
Sheets("TAZMİNAT_CETVELİ").PageSetup.PrintArea = "Yazdırma_Alanı1"
olarak kullanınız.
Üçüncüsü;
CommandButton_Click() makrosunu End sub ile sonlandırmamışsınız ve kodları 2 kez yazmışsınız.
 
sayın hocam ilginize teşekkür ederim siteye giremedğim için teşekkür edemedim ondan dolayı kusura bakmayın kontrol edeceğim hocam
 
iyi çalışmalar arkadaşlar sağolsun ergün hocam ilgilenip cevap gödermiş bende forma uyguladım ancak sorunumu haledemedim.
gün bilgileri adlı useformda bulunan butonlara tıkladığım zaman yazdırmak için o an hangi çalışma sayfası açıksa ön izlemede o sayfa gözüküyor.Örnek vererek açıklamam gerekirse:
Çalışma sayfamda banka listesi açık bende puantaj ön izlemeyi tıkladığımda puantaj sayfası yerine banka listesi ön izlemesi geliyor cetvelide ödeme emri butonunuda kullanarak açsam banka listesi sayfası ön izlemey geliyor.
hangi butonu tıklayıp açılırsa o sayfaya ait ön izlemenin gelmesini istiyorum bu konuda yardımcı olursanız sevinirim kodları burada verielrn örneklere göre formuma uyguladım
 

Ekli dosyalar

Selam,
UserForm_initialize olurken Range() 'dan önce herhangi bir sayfa belirtmediğinizden, aralık olarak aktif olan sayfanın aralığını verir. İstediğiniz sayfanın aralığını almak için, örneğin, ya sayfanız.Select yapınız yada aralıkları sayfanız.Range() şeklinde kullanınız.
Örnek olarak PUANTAJ formu için kodlar aşağıdaki gibi olmalıdır. Sadece kırmızı alanlar eklenmiştir. İnceleyiniz.
Kod:
Private Sub UserForm_initialize()
[COLOR="Red"]Sheets("PUANTAJ").Select[/COLOR]
Range("A1:AK72").CopyPicture xlScreen, xlBitmap
ActiveSheet.Paste
genislik = Selection.Width
yukseklik = Selection.Height
Selection.Cut
Set grafik = ActiveSheet.ChartObjects.Add(, , genislik, yukseklik)
grafik.Chart.Paste
grafik.Chart.Export ThisWorkbook.Path & "\xxresimxx.jpg"
Frame1.Picture = LoadPicture(ThisWorkbook.Path & "\xxresimxx.jpg")
grafik.Delete
Kill ThisWorkbook.Path & "\xxresimxx.jpg"
End Sub

ÖDEME EMRİ formu için,
Kod:
Private Sub UserForm_initialize()
[COLOR="Red"]Sheets("ÖDEME EMRİ").Select[/COLOR]
Range("A1:DU59").CopyPicture xlScreen, xlBitmap
ActiveSheet.Paste
genislik = Selection.Width
yukseklik = Selection.Height
Selection.Cut
Set grafik = ActiveSheet.ChartObjects.Add(, , genislik, yukseklik)
grafik.Chart.Paste
grafik.Chart.Export ThisWorkbook.Path & "\xxresimxx.jpg"
Frame1.Picture = LoadPicture(ThisWorkbook.Path & "\xxresimxx.jpg")
grafik.Delete
Kill ThisWorkbook.Path & "\xxresimxx.jpg"
End Sub
CETVEL FORMU için
Kod:
Private Sub UserForm_initialize()
[COLOR="red"][B]Sheets("CETVEL").Select[/B][/COLOR]
Range("A1:M74").CopyPicture xlScreen, xlBitmap
ActiveSheet.Paste
genislik = Selection.Width
yukseklik = Selection.Height
Selection.Cut
Set grafik = ActiveSheet.ChartObjects.Add(, , genislik, yukseklik)
grafik.Chart.Paste
grafik.Chart.Export ThisWorkbook.Path & "\xxresimxx.jpg"
Frame1.Picture = LoadPicture(ThisWorkbook.Path & "\xxresimxx.jpg")
grafik.Delete
Kill ThisWorkbook.Path & "\xxresimxx.jpg"
End Sub

başka var ise gerisini siz halledersiniz.
İyi çalışmalar.
 
teşekkür ederim hocam ilginize emeğenize sağlık allah razı olsun sizlerden
 
evet hocam buldunuz sizlerin sayesinde yavaşda olsa programımı yapmaya çalışıyorum siz saygı değer üstadlarım sayesinde
 
Geri
Üst