İsimlerin yazdırılması

Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...
Katılım
23 Mart 2005
Mesajlar
24
Ýsimlerin yazdırılması

Merhaba arkadaşlar sizden bir isteğim olcak Benim istediğim ekte göndereceğim excel sayfasında
data sayfasında bulunan isimler var her isimden farklı sayıda değişiyor bazen aynı isim 5 bazen 12
tane olabiliyor benim isteğim bu isimleri basım sayfasındaki ayarlanmış olan alana yerleştirilmesi
ve her isim değiştikçe tekrar basım sayfasına aktarılıp yazıcıdan çıktısı alınması önemli olan ayını
isimle basılacak ve yanıdaki numaralar la beraber yardımız için şimdiden tşk. ediyorum. :dua: :hey:
 
Katılım
12 Haziran 2005
Mesajlar
95
Aşağıdaki kodları DATA sayfansının kod sayfasına aynen yapıştır.
[vb:1:36c29386c2]Private Sub Worksheet_SelectionChange(ByVal Target As Range)
a = ActiveCell.Row

If Cells(a, 5) = "" Or Cells(a - 1, 5) = Cells(a, 5) Then Exit Sub
For b = 20 To 31
Worksheets("Basım").Rows(b).ClearContents
Next b

For k = 2 To a - 1
If Cells(k, 5) = Cells(a - 1, 5) Then Exit For
Next k
c = 20
For y = k To a - 1
For x = 1 To 8
Worksheets("Basım").Cells(c, x + 1) = Cells(y, x)
Next x
c = c + 1
Next y
Worksheets("Basım").PrintOut Copies:=1
End Sub[/vb:1:36c29386c2]
 
Katılım
23 Mart 2005
Mesajlar
24
Tşk. Exelans ama çalışmıyor yolladığınız kod işimi göremedim ilgilendiğinz için tşk. :hey:
 

Necdet

Moderatör
Yönetici
Katılım
4 Haziran 2005
Mesajlar
15,370
Excel Vers. ve Dili
Ofis 365 Türkçe
wordteki mail merge (adres mektup birleştirme) bu olaya tam uyar. Excel dışında bir önerim oldu
 

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
Birde aşağıdaki kodu deneyin.

[vb:1:ee6b73b850]Sub aktar()
Set s1 = Sheets("Data")
Set s2 = Sheets("Basım")
s2.[b20:i31].ClearContents
For a = 2 To s1.Cells(65536, 1).End(xlUp).Row
If s2.[b20] = 0 Then GoTo 10
If s1.Cells(a, 5) <> s1.Cells(a - 1, 5) Then
s2.[b19:i31].PrintOut Copies:=1
s2.[b20:i31].ClearContents
c = 0
End If
10 c = c + 1
For b = 2 To 9
s2.Cells(c + 19, b) = s1.Cells(a, b - 1).Value
Next
Next
End Sub[/vb:1:ee6b73b850]
 
Katılım
23 Mart 2005
Mesajlar
24
Sn leventm bey sizin verdiğiniz kod hata veriyor çalıştıramadım (s2.[b20:i31].ClearContents) diye bir hata çözemedim meseleyi tşk.
 
Katılım
23 Mart 2005
Mesajlar
24
Sn leventm bey kusura bakmayın ama yine çalışmıyor sizin gönderdiğiniz ekte Run-time error '424': diye hata veriyor. sizide uğraştırıyorum ama örnek çalışmıyor :kafa:
 

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
Ben kodları deneyerek verdim. Yalnız şu olabilir kodlar hızlı çalıştığından ve hepsini peşpeşe yazıcıya gönderdiğinden sorun çıkmış olabilir. bu durumda araya bir zamanlayıcı satır ilave edelim. Aşağıdaki kodu deneyin.

[vb:1:3e74e34978]Sub aktar()
Set s1 = Sheets("Data")
Set s2 = Sheets("Basım")
s2.[b20:i31].ClearContents
For a = 2 To s1.Cells(65536, 1).End(xlUp).Row
If s2.[b20] = 0 Then GoTo 10
If s1.Cells(a, 5) <> s1.Cells(a - 1, 5) Then
Application.Wait Now + TimeValue("00:00:02")
s2.[b19:i31].PrintOut Copies:=1
s2.[b20:i31].ClearContents
c = 0
End If
10 c = c + 1
For b = 2 To 9
s2.Cells(c + 19, b) = s1.Cells(a, b - 1).Value
Next
Next
End Sub [/vb:1:3e74e34978]
 
Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...
Üst