• DİKKAT

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

yazdırma

Katılım
15 Ocak 2007
Mesajlar
791
Excel Vers. ve Dili
2003 excel visual basic
arkadaşlar ve üstadlar ii çalışmalar
benim çalışmam da bir sorunum çıktı
sorunum şu >>
- listbox'a almış olduğum verileri başka bir sayfaya 4 sütun halinde alıyorum
- bu dört sütunlu verinin
- ilki isim
- 2.cisi avans
- 3.sü maaş
- 4.sü t.maaşı oluşturuyor.buraya kadar herşey "ok".
ama ben birden fazla yazdıracağım için örneğin:
x kişisinin maaşı bu kadar akratıldı ama aktarım sayfasında 3 kişi var
ve bir kişinin maaşı bir sayfayı oluşturuyor
dolayısıyla 3 kişi 3 sayfa :)
ben bir buton koysam da bana sorsa ilki yazdırıldı mı evet desem ikinciye geçse evet desem üçüncüye geçse bu döngü devam etse...
yardımcı olcak olmayacak herkese teşekkürler ii çalışmalr...
 
Merhaba,

Şu şekilde bir işlem işinize yaramaz mı?

Sub Makro1()


For i = 1 To Sheets.Count
yeniden:

If i = Sheets.Count Then GoTo son:

Sheets(i).PrintOut Copies:=1, Collate:=True
a = MsgBox(i & ". Sayfa yazdırılıyor." & i + 1 & ". Sayfanın Yazdırılmasına geçilsin mi?", vbYesNo)
i = i + 1
If a = 7 Or i > Sheets.Count Then Exit Sub

If a = 6 Then GoTo yeniden:
Next

son:
MsgBox "Bütün Sayfalar Yazdırıldı", vbInformation
Sheets(i).PrintOut Copies:=1, Collate:=True

End

End Sub
 
arkadaşım

saolasın ama bu şekilde değil
kişi aktarılıyor soruluyor yazdırılsın mı evet ise yazdır
2.olay aktarılan kişinin bilgileri silinip aktarım sayfasındaki 2. kişi yazdırılacak
kişinin bilgileri silinip aktarım sayfasındaki 3. kişi yazdırılacak.bu şekilde devam edecek.
 
Merhaba,
Aktarma kodlarını ya da dosyayı yollar mısın?
 
arkadaşım

dosya ektedir yardımcı olursanız sevinirim...
 
şu kodlar işinize yara mı?


Sub aktar()
a = 6
yeniden:
For i = 1 To 4

Sheets("AKTARIM").Cells(1, i) = Sheets("DATA").Cells(a, i)
Next
isim = Sheets("DATA").Cells(a, 1)
isim2 = Sheets("DATA").Cells(a + 1, 1)
aa = MsgBox(isim & " ismindeki kişinin verileri yazdırılıyor." & isim2 & " ismindeki kişinin verilerinin yazdırılmasına geçilsin mi?", vbYesNo)
If aa = 7 Then End
If aa = 6 Then
Sheets("AKTARIM").PrintOut Copies:=1, Collate:=True
Sheets("AKTARIM").Cells.ClearContents
MsgBox "Aktarım Tamamlandı", vbInformation

a = a + 1
End If
If Sheets("DATA").Cells(a, 1) = "" Then
MsgBox "Bütün Sayfalar Yazdırıldı", vbInformation
Sheets("AKTARIM").Cells.ClearContents
Else: GoTo yeniden:
End If

Exit Sub


End Sub
 
çok teşekkür ederim

ama bu değildi arkadaşım bu makro tüm sayfayı yazdırıyor.yine de sağolasın
bana yardımcı olacak başka arkadaşım var mı acaba kendimi anlatamadım galiba...
 
yardım

bu konu hakkında bana yardımcı olacak kimse yok mu?...
 
Kardeş merhaba,
DATA sayfasında bulunan ilk kişinin 4 hücreden oluşan bilgileri AKTARMA sayfasına aktarılıp yazdırılacaksa bütün sayfanın yazdırılmasında ne sorun var anlamadım.Yok ben sadece o bilgilerin kopyalandığı satırı yazdıracağım diyorsan yazdırma alanı belirlemek işine yaramaz mı?

sheets("AKTARIM").PageSetup.PrintArea = "$A$1:$D$1"
 
Sn. emrexcel123

Dosyayı inceleyin. Umarım işinize yarar.
 
işte bu

sn AS3434 işte istediğim buydu yalnız o koddaki msgbox kısmını silip yani yazdırırken sormasa ve tüm aralığı yani aktarılan tüm kişilerin bilgilerini yazdırsa olabilir mi gerçekten size minnettarım çok sağolun bana yardım ettiğiniz için teşekkür ederim...
 
arkadaşlar

son sorunum bu yardımcı olabilirseniz gerçekten makbule geçecek...
 
Güzel bir çalışma AS3434,tebrik ederim. Seçilen aralıktaki makbuzların sırayla otomatik yazdırılması mümkün mü ?
 
sn as3434

sorunumu çözdüm sizin fikrinizle ve mükemmel oldu size minnettarım.sırayla yazdırabiliyor for - next döngüsünü akıl edememişim çok sağolun sorunsuz çalışıyor...:hihoho:
 
Sn emreexcel123

Mesajlarınızı ve sorunuzu yeni gördüm. Ama probleminizi çözmüşsünüz. Yine de merak eden ve soru soran arkadaşlar için, (Dün forumda sorarak öğrendiğim, AKTAR makrosu revizeli) yeni dosyayı ekliyorum.
Bu arada yazdır makrosunun kodları da bana ait değil. Hatırladığım kadarıyla Sn. ybilgin 'e aittir. Ben sadece sizin dosyanıza uyguladım.
 
öneri

arkadaşım yine de sağol kimse bana yardmcı olmadığı anda oldun sağolasın bir önerim var ben bu şekilde kullandım:
avans ve maaş yazdır butonları yerine tek bir buton kullandım aktarma yaparken belli bir hücreye avans yada maaş şeklinde yazdırdım (tabi seçime bağlı) aktarırken soruyor avans mı maaş mı diye...
ben de tediye sayfasına eğer ve ara formülleri ile şöyle yazdım:
eğer(aranan="";"";ara(aralık;ölçüt;eğer(hücre="avans";avanssütunu; maaşsütunu) şeklinde gayet de güzel oldu...
bu bir öneridir yani daha kısa olması amacıyla yine de daha kolay nasıl gelirse siz bilirsiniz kolay gelsin tekrar teşekkürler...
 
kimse bana yardımcı olmadığı anda oldun sağolasın ...

Mesajınızda ki bu kısmı sehven yazdığınızı kabul ediyorum.
Çünkü sizin de bildiğiniz burası gönüllülük esasına dayanan bir paylaşım forumu. Bu forumda cevap veren değerli arkadaşlarımın hepsi (sizde dahil) eşine rastlanmayacak bir şekilde özveri ile sorulara cevap vermektedirler. Sorunuza ben cevap vermesem bile mutlaka sorunuzu çözecek başka bir arkadaş çıkacaktı.

Sağlıcakla kalın.
 
kimse derken

yanlış anlaşıldım galiba özürlerimi kabul etmenizi dilerim ancak
benim kastım veryansın değil tam tersine herhangi bir arkadaşımdan yanıt gelmediği anda demek istemiştim :)...
 
Geri
Üst