birden fazla fatura sayfası oluşturmak.

Katılım
25 Ağustos 2005
Mesajlar
569
Excel Vers. ve Dili
Excel 2003 Tr
merhaba, bir fatura sablomda 26 satırlık bir veri kopyalatabiliyorum ama veri 26 satırdan fazla ise kopyalama yapmak için sayfanın devamında yeniden fatura başlığı oluşturuyorum ve makroya (örnek: verinin devamını a52 hücresinden) başlat diyorum.bu durumda birinci sayfa ve ikinci sayfa toplamlarını da elle yapmak zorunda kalıyorum yazdırma alanlarını yeniden tanımlıyorum. yapmak istediğim eğer veri 26 satır ise tek bir şablona yazsın ve toplamı alsın ama veri 26 satırdan büyük ise birinci sayfa oluştuktan sonra birkaç satır boş bırakıp ikinci fatura şablonunu oluştursun ve kalan veriyi oraya kopyalayıp toplamı alsın ve yazıcı ayarı yapmayayım. belki imkansız gibi görünüyor ama şimdiye kadar gördüklerim bunun mümkün olabileceğini düşündürüyor.ilginize teşekkür ederim.
 
Katılım
25 Ağustos 2005
Mesajlar
569
Excel Vers. ve Dili
Excel 2003 Tr
günaydın, konu ile ilgili olarak merak ettiğim konu; dosyanın içinde bulunan kopyalama makrosunda eğer 26 satırdan büyük ise kalanını .... hücresine yaz diyoruz. peki araya xxx hücresine "qqqqqqq firması", "wwwww adresi" bilgilerini hücreye yaz sonra ilk satırdan kalan veriyi listele diyebilirmiyiz.
 
Katılım
25 Ağustos 2005
Mesajlar
569
Excel Vers. ve Dili
Excel 2003 Tr
Merhaba, hocalarım bu konu hakkında fikri olan yokmu. dosya içerisindeki kopyala komutu ile satırları saydırıp 26 ve katları olarak istediğimiz hücrelere yazıdırıyoruz. istediğim her 26 satırdan sonra araya müşteri bilgileri girmesi.yardımcı olurmusunuz lütfen
 
Katılım
25 Ağustos 2005
Mesajlar
569
Excel Vers. ve Dili
Excel 2003 Tr
merhaba, forumdaki bütün fatura konularını taradım ama istediğimi bulamadım. sanırım herkes ya tek bir sayfa fatura kestiği için sayfada bir tek şablon yapmış veya birden fazla sayfalarda elle başlık giriyorlar. benim yapmak istediğimi yine tekrarlamak istiyorum. fatura oluşturma ve baskı sayfasında fatura şablonum var ve bu 26 satır veri alıyor.26 satırdan fazla olduğu zaman userformu kapatıp fatura sayfasına girerek tekrar ikinci bir fatura oluşturmak için üstten müşteri bilgileri tarih v.s.yi kopyalayıp sayfanın aşağısına yedinen yapıştırmak zorunda kalıyorum. bu bir müşteri için 3-4 sayfa olabiliyor. satır saydırma yaptırıp 26 satırlık parçalara ayırabiliyorum.mesela a10 dan başlatıp a36'ya kadar veriyi kopyalıyorum. kalan kısmını 10 satır bırakıp a46 dan başlatarak kalanı kopyalatabiliyorum.benim istediğim "Eğer veri 26 satırdan büyük ise a10-a36 arasına kopyala a37-a41 arasına müşteri ismi ve adresini yaz (Müşteri bilgisi sadece bir kişinin olacak o nedenle kod sayfasına doğrudan ali veli diye de yazabilirim) kalan veriyi a46 dan aşağı yaz" kopyala makrosunun içine böyle bir ek koymak.ilginiz için teşekkür ederim.
 
Katılım
25 Ağustos 2005
Mesajlar
569
Excel Vers. ve Dili
Excel 2003 Tr
merhaba, ne kadar uğraştıysam olmuyor bir türlü formül kuramadım.istediğim sadece (eğer veri 26 satırdan büyük ise a36 satırına "xxxxx müşteri" a37 satırına "xxx adres" yaz) yapmak. makronun diğer kısmı var zaten. bir fikir verin lütfen. :yardim: :yardim:
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,057
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
Bu değeri kopyaladığınız alandan hesaplatmak gerekir. Kopyalanacak alanı nereden aldığınızı blirtirmisiniz.
 
Katılım
25 Ağustos 2005
Mesajlar
569
Excel Vers. ve Dili
Excel 2003 Tr
levent hocam örnekte belirttim konumu.ilginiz için teşekkür ederim.
 
Katılım
25 Ağustos 2005
Mesajlar
569
Excel Vers. ve Dili
Excel 2003 Tr
merhaba, hocam bir çözmünüz oldumu. ben halen çözüm bulamadım. kayıt işlemindeki gibi gibi activecell komutu ile yapmaya çalıştım ama tabiri caizse yutmadı excel.
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,057
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
Sn hikmet

Dosyanıza baktım ama açıkçası anlayamadım. Yazdığınız kod ile sayfa isimleri birbirini tutmuyor. Ayrıca neden 26 kayıt onuda anlayamadım. Kopyalanacak veri alanı neresidir?, yapıştırılacak alan tam olarak neresidir? bunları uygulanmış halini içeren bir dosya eklerseniz çözüm kolay olacaktır.
 
Katılım
25 Ağustos 2005
Mesajlar
569
Excel Vers. ve Dili
Excel 2003 Tr
hocam kodun çalışır haldeki dosyası ek'te dir. neden 26 satırda bir başlık vermesi gerektiğine gelince bu fatura bizim kullandığımız matbaa baskısı faturalara basılacak ve elimizdeki faturaya da sadece 26 satır sığıyor.
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,057
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
Aşağıdaki kodu deneyin.

[vb:1:92b1eb3087]Sub kopyala()
Application.ScreenUpdating = False
Set s1 = Sheets("sayfa4")
Set s2 = Sheets("TRFT")
s2.Rows("17:65536").Delete
say = s1.[a65536].End(3).Row - 1
deg = WorksheetFunction.RoundUp(say / 26, 0)
For a = 1 To deg
If a > 1 Then
s2.[a1:h16].Copy
s2.[b65536].End(3).Offset(1, -1).PasteSpecial
End If
s1.Range("d" & 2 + c & ":d" & 27 + c & ",f" & 2 + c & ":f" & 27 + c).Copy
s2.[b65536].End(3).Offset(1, 0).PasteSpecial Paste:=xlPasteValues
s1.Range("k" & 2 + c & ":k" & 27 + c).Copy
s2.[d65536].End(3).Offset(1, 0).PasteSpecial Paste:=xlPasteValues
s1.Range("g" & 2 + c & ":g" & 27 + c).Copy
s2.[e65536].End(3).Offset(1, 0).PasteSpecial Paste:=xlPasteValues
s1.Range("j" & 2 + c & ":j" & 27 + c).Copy
s2.[f65536].End(3).Offset(1, 0).PasteSpecial Paste:=xlPasteValues
s1.Range("s" & 2 + c & ":s" & 27 + c).Copy
s2.[g65536].End(3).Offset(1, 0).PasteSpecial Paste:=xlPasteValues
s1.Range("t" & 2 + c & ":t" & 27 + c).Copy
s2.[h65536].End(3).Offset(1, 0).PasteSpecial Paste:=xlPasteValues
c = c + 26
Next
End Sub
[/vb:1:92b1eb3087]
 
Katılım
25 Ağustos 2005
Mesajlar
569
Excel Vers. ve Dili
Excel 2003 Tr
günaydın, levent hocam elinize sağlık, çok teşekkür ederim.çözümleriniz ve ilginiz için size ve forumdaki hocalarıma arkadaşlarıma çok teşekkür ederim.
 
Katılım
25 Ağustos 2005
Mesajlar
569
Excel Vers. ve Dili
Excel 2003 Tr
Merhaba; sorunuma halen bir çözüm bulamadığımdan tekrar sormak zorunda kaldım. Değerli fikirleriniz için teşekkür ederim.
 

Ali

Uzman
Katılım
21 Temmuz 2005
Mesajlar
7,895
Excel Vers. ve Dili
İş:Excel 2016-Türkçe
Dosyanıza tam bakamadım Levent Bey daha uzman bu konuda benimki acizane bir fikir eğer eksik varsa kusura bakmayın Hikmet Bey.
Aşağıdaki gibi kodların arası sum fonksiyonunu ekleyerek bir deneyin.

s2.[f65536].End(3).Offset(1, 0).PasteSpecial Paste:=xlPasteValues
s2.[f65536].End(3).Offset(1, 0) = WorksheetFunction.Sum(s1.Range("j" & 2 + c & ":j" & 27 + c))

s2.[h65536].End(3).Offset(1, 0).PasteSpecial Paste:=xlPasteValues
s2.[h65536].End(3).Offset(1, 0) = WorksheetFunction.Sum(s1.Range("t" & 2 + c & ":t" & 27 + c))

gibi deneyin
 
Katılım
25 Ağustos 2005
Mesajlar
569
Excel Vers. ve Dili
Excel 2003 Tr
sn.fructose ilginize teşekkür ederim. maalesef çalıştıramadım kodları. nedeni benden kaynaklanıyordur muhtemelen çünkü o kadar uğraştım ki bu gün artık anlama kabiliyetimi kaybettim.
 

Ali

Uzman
Katılım
21 Temmuz 2005
Mesajlar
7,895
Excel Vers. ve Dili
İş:Excel 2016-Türkçe
s1.Range("d" & 2 + c & ":d" & 27 + c & ",f" & 2 + c & ":f" & 27 + c).Copy
s2.[b65536].End(3).Offset(1, 0).PasteSpecial Paste:=xlPasteValues
s1.Range("k" & 2 + c & ":k" & 27 + c).Copy
s2.[d65536].End(3).Offset(1, 0).PasteSpecial Paste:=xlPasteValues
s1.Range("g" & 2 + c & ":g" & 27 + c).Copy
s2.[e65536].End(3).Offset(1, 0).PasteSpecial Paste:=xlPasteValues
s1.Range("j" & 2 + c & ":j" & 27 + c).Copy
s2.[f65536].End(3).Offset(1, 0).PasteSpecial Paste:=xlPasteValues
s1.Range("s" & 2 + c & ":s" & 27 + c).Copy
s2.[f65536].End(3).Offset(1, 0) = WorksheetFunction.Sum(s1.Range("j" & 2 + c & ":j" & 27 + c))
s2.[g65536].End(3).Offset(1, 0).PasteSpecial Paste:=xlPasteValues
s1.Range("t" & 2 + c & ":t" & 27 + c).Copy
s2.[h65536].End(3).Offset(1, 0).PasteSpecial Paste:=xlPasteValues
s2.[h65536].End(3).Offset(1, 0) = WorksheetFunction.Sum(s1.Range("t" & 2 + c & ":t" & 27 + c))
c = c + 26


gibi demek istemiştim
 
Katılım
25 Ağustos 2005
Mesajlar
569
Excel Vers. ve Dili
Excel 2003 Tr
sn.fructose; işlemi yapıyor doğru ama sorun eğer veri 26 satırdan fazla ise birinci sayfaya alt toplam koymaması ve bu alt toplam devrini sayfa 2 nin başına almaması. bu konuda fikrinizi öğrenebilirmiyim. değişik bir alternatifiniz olabilir diye.
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,191
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Selamlar,

Sn. hikmet,

Ekteki makrosuz formüller ile çözüm örneğini inceleyiniz.
 
Katılım
25 Ağustos 2005
Mesajlar
569
Excel Vers. ve Dili
Excel 2003 Tr
sn.cost control ilginize teşekkür ederim.bu şekilde bir çözüm normalde olur fakat bu soru programın bir parçası ve bu program tamamen userformlarla makrolarla çalışıyor işin bu kısmına geldiğimde bu şekilde bir çözüm ile işlem yapmam mümkün olmuyor. birincisi faturalar normal resmi faturalar ve bu şablonla kullandığımda bir sayfa dolusu veri var ise diğer dört sayfa boş çıkacak ikincisi bu faturanın aynısı bir de ingilizce basılacak. sonuçta kullanıcının fatura kısımına kardar olan bölümleri userformdan girmesi sonra türkçe, ingilizce faturaları basarken userformları kapatıp fatura sayfalarını kontrol etmesi ve boş olan sayfaları silip yazdırma sayfası ayarı yapıp fatura bastırması ve şablon bozulmasın diye kaydetmeden çıkması gerekiyor.Benim sıkıntım zaten işi bu duruma getirmemek.
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,191
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Selamlar,

Sn. hikmet,

Dikkatli incelerseniz TRFT sayfasında YAZDIR butonu bulunmakta. Bu butonu eklememdeki amaç boş sayfaları yazdırmamak içindi. Eğer fatura kayıtlarınız 1 sayfa ise bu butona bastığınızda sadece 1. sayfa yazdırılır. Bu şablona göre dolu fatura sayfası kaç adetse o kadar yazdırılıyor. Eğer bu çözüm yeterli gelmiyorsa dosyanızın formlar ile kullanılan halini gönderebilirseniz yardımcı olmaya çalışırım.
 
Üst