• DİKKAT

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

Toplu Fatura Basma

  • Konbuyu başlatan Konbuyu başlatan fatcem
  • Başlangıç tarihi Başlangıç tarihi
Katılım
14 Ocak 2009
Mesajlar
103
Excel Vers. ve Dili
2016 türkçe
Merhabalar,

Elimde fatura formatımıza uygun hale getirdiğim vasit bir excel dosyası var.
Fatura kesmek istediğim zaman bilgileri el ile girip printere gönderip diyerine geçiyorum. aslında bilgilerde başka bir excel dosyasında mevcut. adı soyadı tc kimlik no ve adres olmak üzere 3 sütunlu bir excel dosyam var.

yapma istediğim fatura şablonunundaki ad soyad tc ve adres bilgilerini diğer excel dosyasından getirtip print ettirmek.

Teşekkürler...
 
Iki dosyanızdan da örnek eklerseniz daha net cevap alısınız.
 
For Next Döngüsü ile kurulabilir. Sabit sayfa ise gerekli ad-soyad / tc kimlik / adres hücreleri formüle edilir ve her müşteri için bir sıra numarası oluşturulur ve bu sıra numarasına göre veriler getirtilir. Diyelim ki 30 adet müşteri var . Bir hücrede sıra numarasını her seferinde 1 arttıracak şekilde i = i+1 şeklinde For Next döngüsü içinde Sheets PrintOut komutu kullanılabilir. Örnek dosya eklerseniz yardımcı olabilirim.
 
For Next te i=i+1 e gerek yok. Benzer örnek yapmıştım. Yapılmıştan daha iyi olursa örnek üzerinden gitmek. Tam amaca hizmet eder.
 
Dosyanız ektedir. Öncelikle Liste sayfasında VERİ ÇEK butonuna basacaksınız. ÖRNEK sayfasında ileri geri düğmesi ile verileriniz gelecektir. İki Çalışma Kitabı da aynı klasör içerisinde olması gerekiyor.
 

Ekli dosyalar

Bu arada DENEME İSİM LİSTESİ kapalı olması gerek sadece FATURADENEME açık olması gerekiyor.
 
Hata alıyorum

Dosyanız ektedir. Öncelikle Liste sayfasında VERİ ÇEK butonuna basacaksınız. ÖRNEK sayfasında ileri geri düğmesi ile verileriniz gelecektir. İki Çalışma Kitabı da aynı klasör içerisinde olması gerekiyor.




Sub Veri_Cek()
Dim son As Long


Application.ScreenUpdating = False
yol = ThisWorkbook.Path & "\DENEME ISIM LISTESI.xlsx"
Workbooks.Open (yol)
son = Workbooks("DENEME ISIM LISTESI").Sheets("Sayfa1").Range("A65536").End(xlUp).Row
Workbooks("DENEME ISIM LISTESI").Sheets("Sayfa1").Range("a1:c" & son).Copy _
Workbooks("FATURADENEME").Sheets("Liste").Range("b1")


Workbooks("DENEME ISIM LISTESI").Close True

Application.ScreenUpdating = True

Workbooks("FATURADENEME").Sheets("Liste").Range("a1").Select
ActiveCell.EntireRow.Font.Bold = True
Call SIRA_NO_VER
Sayfa1.Select
End Sub



kırmızı ile boyadığım yerde hata alıyorum
 
Sayfanın ve çalışma kitabının işini kontrol edin.
 
Telefondan yazınca bazen kendi yazıyor. Sayfa ve kitap ismini kontrol edin. Sayfa1 değilse değiştirip deneyin.
 
Düşeyara kodlarını aşağıdaki şekilde değiştirin. 32 bit 64 bit sorunundan kaynaklı sanırım.

Sub Düseyara()
Dim S1 As Worksheet, S2 As Worksheet, Veri As Variant

Set S1 = Sheets("ÖRNEK")
Set S2 = Sheets("Liste")

On Error Resume Next

S1.Cells(1, 2) = WorksheetFunction.VLookup(Range("r1"), S2.Range("A:D"), 2, 0)
S1.Cells(2, 1) = WorksheetFunction.VLookup(Range("r1"), S2.Range("A:D"), 4, 0)
S1.Cells(5, 2) = WorksheetFunction.VLookup(Range("r1"), S2.Range("A:D"), 3, 0)
Set S1 = Nothing
Set S2 = Nothin
S1.PageSetup.PrintArea = "a1:k36"
S1.Activate
ActiveSheet.PrintPreview 'BASKI ÖNİZLEME İÇİN
'S1.PrintOut Copies:=1, Collate:=True 'YAZICIYA GÖNDERMEK İÇİN

'Application.Dialogs(xlDialogPrint).Show 'YAZDIR DİYALOĞUNU AÇMAK İÇİN
End Sub
 
Düşeyara kodlarını aşağıdaki şekilde değiştirin. 32 bit 64 bit sorunundan kaynaklı sanırım.

Sub Düseyara()
Dim S1 As Worksheet, S2 As Worksheet, Veri As Variant

Set S1 = Sheets("ÖRNEK")
Set S2 = Sheets("Liste")

On Error Resume Next

S1.Cells(1, 2) = WorksheetFunction.VLookup(Range("r1"), S2.Range("A:D"), 2, 0)
S1.Cells(2, 1) = WorksheetFunction.VLookup(Range("r1"), S2.Range("A:D"), 4, 0)
S1.Cells(5, 2) = WorksheetFunction.VLookup(Range("r1"), S2.Range("A:D"), 3, 0)
Set S1 = Nothing
Set S2 = Nothin
S1.PageSetup.PrintArea = "a1:k36"
S1.Activate
ActiveSheet.PrintPreview 'BASKI ÖNİZLEME İÇİN
'S1.PrintOut Copies:=1, Collate:=True 'YAZICIYA GÖNDERMEK İÇİN

'Application.Dialogs(xlDialogPrint).Show 'YAZDIR DİYALOĞUNU AÇMAK İÇİN
End Sub


merhaba bu seferde isimleri getirmiyor. ben size son halini göndersem diğer exceldeki isimleri ben alıp sizin yaptığınız excele yapıştırdım asıl son hali size göndereceğim. sadece printe bastığımda sonraki sime geçsin istiyorum.
 
Son düzenleme:
Listenizde alt kısımdaki bilgilerde yer alsa idi ileri geri butonu ile değilde 1 ile 100 arası tüm listeyi ya da 1 den son kişiye kadar tüm listeyi yazdır şeklinde yazıcıya yönlendirirdik. Ama alt bilgiler değişken olduğu düşünülerek kontrol amacı ile direkt yazıcıya göndermedim.
 
Listenizde alt kısımdaki bilgilerde yer alsa idi ileri geri butonu ile değilde 1 ile 100 arası tüm listeyi ya da 1 den son kişiye kadar tüm listeyi yazdır şeklinde yazıcıya yönlendirirdik. Ama alt bilgiler değişken olduğu düşünülerek kontrol amacı ile direkt yazıcıya göndermedim.



aslında alt bilgiler aynı. şimdi ok a bastığımda printer önizleme çıkıyor yazdır a basıyorum sonra yazıcı sayfası açılıyor. sizin dediğiniz gibi liste sonuna kadar yazdır yapabilirmiyiz.
 
Daha kullanışlı olması amacıyla bu şekilde yaptım. Dosyanız ektedir.
 

Ekli dosyalar

Yazdığım formuller çalışmıyor

Daha kullanışlı olması amacıyla bu şekilde yaptım. Dosyanız ektedir.

Merhaba,

K28, K27 VE K26 ya Kdv ile hesaplama formülü yazıyorum fakat hücrenin içine girip çıkınca formül çalışıyor.

Ayrıca A28 deki yazıyaçevir formülüde aynı şekilde çift tıklayıp içine girip çıkınca formül çalışıyor.

Nasıl düzeltebiliriz
 
Geri
Üst