Excel Forum
ALTIN ÜYELİK Hakkında Bilgi


Geri Git   Excel Forum > EXCEL-Soruları > Makro-VBA
Atatürk
Şifremi Unuttum

DUYURU SİSTEMİ / REKLAM PANOSU

Makro-VBA Makro veya VBA ile ilgili sorularınızı buraya gönderebilirsiniz.
Dosya ekleyebilirsiniz

Özel Arama


Yanıtla
 
Paylaş Konu Araçları Görünüm Modları
Eski 20-04-2018, 16:23   #1
cansuyu66
Altın Üye
 
cansuyu66 kullanıcısının avatarı
 
Giriş: 27/03/2012
Şehir: Ankara
Mesaj: 107
Excel Vers. ve Dili:
2010 Almanca
Varsayılan listeden birden fazla PDF oluşturma

Merhaba arkadaşlar,
ekteki dosyada yer alan listeden PDF'ler oluşturmak istiyorum.

Makinelere yetkililer tarafından bakım yapılmakta.

Örn.
Makine 1 in toplamda 6 bakım yapılmıştır ve dolayısıyla 6 PDF oluşturulmalıdır.
3 aylık bakımı yapıldıysa

Formda hangi tarihte yapıldığı kimin tarafından yapıldığı yazmalıdır.
Örnek pdf çıktılarını Excel dosyasında görebilirsiniz.

Tek tuş ile tüm listenin PDFleri ayrı ayrı oluşturulmalıdır. Bu örnek için 196 PDF

Desteğiniz için şimdiden teşekkür ederim.
Eklenmiş Dosyalar
Dosya Türü: xlsx Örnek1.xlsx (12.0 KB, 7 Görüntülenme)
cansuyu66 Çevrimdışı   Alıntı Yaparak Cevapla
Eski 22-04-2018, 05:41   #2
cansuyu66
Altın Üye
 
cansuyu66 kullanıcısının avatarı
 
Giriş: 27/03/2012
Şehir: Ankara
Mesaj: 107
Excel Vers. ve Dili:
2010 Almanca
Question

Tekrar merhaba,
Yönlendirecek arkadaş var mı?
cansuyu66 Çevrimdışı   Alıntı Yaparak Cevapla
Eski 22-04-2018, 07:20   #3
askm
Altın Üye
 
Giriş: 04/06/2005
Şehir: K.Maraş
Mesaj: 2,119
Excel Vers. ve Dili:
2010-2016
Varsayılan

Makine1 i siz mi seçip getirteceksiniz, yoksa sırası ile tümünü pdf mi yapacak. Seçim işlemi için açılır kutu eklerseniz daha net çözüm alırsınız. Ya da aktif satırı pdf yap işlemi kullanabilirsiniz. Sayfa1 e bir buton eklenir. Hangi satırda iseniz o satır için pdf yapar. Ve bunun için sadece 1 tane pdf yap sayfası yeterli.
__________________
excel 2010- türkçe
askm Çevrimdışı   Alıntı Yaparak Cevapla
Eski 22-04-2018, 07:40   #4
halit3
Uzman
 
halit3 kullanıcısının avatarı
 
Giriş: 18/01/2008
Mesaj: 10,761
Excel Vers. ve Dili:
2003 excel türkçe
Varsayılan

Örnek dosyanızdaki örnek pdf çıktı sayfasının yazdırma bölümünü ayarlayın ve kodu örnek pdf çıktı sayfasında çalıştırın.

kod:

Kod: (Rahat kopyalayabilmeniz için tüm kodu seçmenizi sağlar)
Sub pdf_yap()
Application.ScreenUpdating = False
Application.DisplayAlerts = False
sayfa = "Sayfa1" 'ActiveSheet.Name

tablo = "örnek pdf çıktı"

For i = 2 To ThisWorkbook.Worksheets(sayfa).Cells(Rows.Count, 1).End(xlUp).Row
makina = ThisWorkbook.Worksheets(sayfa).Cells(i, 1).Value
yetkili = ThisWorkbook.Worksheets(sayfa).Cells(i, 2).Value

say1 = 0
say2 = 0

For j = 3 To ThisWorkbook.Worksheets(sayfa).Cells(i, Columns.Count).End(xlToLeft).Column
ThisWorkbook.Worksheets(tablo).Cells(3, "k").Value = yetkili
ThisWorkbook.Worksheets(tablo).Cells(4, "k").Value = makina
ThisWorkbook.Worksheets(tablo).Cells(5, "k").Value = ThisWorkbook.Worksheets(sayfa).Cells(i, j).Value
aylik = ThisWorkbook.Worksheets(sayfa).Cells(1, j).Value
ThisWorkbook.Worksheets(tablo).Cells(11, "b").Value = "Makine" & i - 1 & " in " & aylik & " bakımı yapılmıştır."

say1 = say1 + 1
If say1 = 1 Then
ThisWorkbook.Sheets(tablo).Copy
Else
ThisWorkbook.Sheets(tablo).Copy After:=ActiveWorkbook.Sheets(1)
say = ActiveWorkbook.Sheets.Count
Sheets(ActiveSheet.Name).Move After:=Sheets(say)
End If

Next j

If say1 > 0 Then
ActiveWorkbook.Worksheets.Select
'Application.DisplayAlerts = False
yol = ThisWorkbook.Path
say2 = CreateObject("Scripting.FileSystemObject").getfolder(yol).Files.Count + 1

ActiveWorkbook.Sheets(1).ExportAsFixedFormat Type:=xlTypePDF, Filename:=yol & "\pdf dosyası " & say2 & " " & makina & ".pdf", _
Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, _
OpenAfterPublish:=False

ActiveWorkbook.Close False
End If

Next i

Application.ScreenUpdating = True
Application.DisplayAlerts = True
MsgBox "işlem tamam"
End Sub
Eklenmiş Dosyalar
Dosya Türü: xlsm Örnek111.xlsm (23.2 KB, 10 Görüntülenme)
__________________





Forum Kuralları
Ofis 2003 için makro güvenlik ayarları
http://www.excel.web.tr/f157/ofis-20...k-t104854.html
Ofis 2007 için makro güvenlik ayarları
http://www.excel.web.tr/f157/ofis-20...k-t104852.html
Timer Nesnesinin kurulumu
http://www.excel.web.tr/f167/timer-n...mu-t78713.html
halit3 Çevrimdışı   Alıntı Yaparak Cevapla
Eski 22-04-2018, 20:21   #5
cansuyu66
Altın Üye
 
cansuyu66 kullanıcısının avatarı
 
Giriş: 27/03/2012
Şehir: Ankara
Mesaj: 107
Excel Vers. ve Dili:
2010 Almanca
Varsayılan

Alıntı:
halit3 tarafından gönderildi Mesajı Görüntüle
Örnek dosyanızdaki örnek pdf çıktı sayfasının yazdırma bölümünü ayarlayın ve kodu örnek pdf çıktı sayfasında çalıştırın.

kod:

Kod: (Rahat kopyalayabilmeniz için tüm kodu seçmenizi sağlar)
Sub pdf_yap()
Application.ScreenUpdating = False
Application.DisplayAlerts = False
sayfa = "Sayfa1" 'ActiveSheet.Name

tablo = "örnek pdf çıktı"

For i = 2 To ThisWorkbook.Worksheets(sayfa).Cells(Rows.Count, 1).End(xlUp).Row
makina = ThisWorkbook.Worksheets(sayfa).Cells(i, 1).Value
yetkili = ThisWorkbook.Worksheets(sayfa).Cells(i, 2).Value

say1 = 0
say2 = 0

For j = 3 To ThisWorkbook.Worksheets(sayfa).Cells(i, Columns.Count).End(xlToLeft).Column
ThisWorkbook.Worksheets(tablo).Cells(3, "k").Value = yetkili
ThisWorkbook.Worksheets(tablo).Cells(4, "k").Value = makina
ThisWorkbook.Worksheets(tablo).Cells(5, "k").Value = ThisWorkbook.Worksheets(sayfa).Cells(i, j).Value
aylik = ThisWorkbook.Worksheets(sayfa).Cells(1, j).Value
ThisWorkbook.Worksheets(tablo).Cells(11, "b").Value = "Makine" & i - 1 & " in " & aylik & " bakımı yapılmıştır."

say1 = say1 + 1
If say1 = 1 Then
ThisWorkbook.Sheets(tablo).Copy
Else
ThisWorkbook.Sheets(tablo).Copy After:=ActiveWorkbook.Sheets(1)
say = ActiveWorkbook.Sheets.Count
Sheets(ActiveSheet.Name).Move After:=Sheets(say)
End If

Next j

If say1 > 0 Then
ActiveWorkbook.Worksheets.Select
'Application.DisplayAlerts = False
yol = ThisWorkbook.Path
say2 = CreateObject("Scripting.FileSystemObject").getfolder(yol).Files.Count + 1

ActiveWorkbook.Sheets(1).ExportAsFixedFormat Type:=xlTypePDF, Filename:=yol & "\pdf dosyası " & say2 & " " & makina & ".pdf", _
Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, _
OpenAfterPublish:=False

ActiveWorkbook.Close False
End If

Next i

Application.ScreenUpdating = True
Application.DisplayAlerts = True
MsgBox "işlem tamam"
End Sub
zaman ayırıp cevap verdiğiniz için teşekkür ederim.
1 makine için 1 PDF oluşturma fikride güzel. peki ayrı ayrı pdf için ne gibi bir değişiklik gerekiyor?

İyi bayramlar...

Bu mesaj en son " 22-04-2018 " tarihinde saat 20:36 itibariyle cansuyu66 tarafından düzenlenmiştir.... Neden: yanlış
cansuyu66 Çevrimdışı   Alıntı Yaparak Cevapla
Eski 22-04-2018, 21:20   #6
halit3
Uzman
 
halit3 kullanıcısının avatarı
 
Giriş: 18/01/2008
Mesaj: 10,761
Excel Vers. ve Dili:
2003 excel türkçe
Varsayılan

kod:

Kod: (Rahat kopyalayabilmeniz için tüm kodu seçmenizi sağlar)
Sub pdf_yap2()
Application.ScreenUpdating = False
Application.DisplayAlerts = False
sayfa = "Sayfa1" 'ActiveSheet.Name

tablo = "örnek pdf çıktı"

For i = 2 To Worksheets(sayfa).Cells(Rows.Count, 1).End(xlUp).Row
makina = Worksheets(sayfa).Cells(i, 1).Value
yetkili = Worksheets(sayfa).Cells(i, 2).Value

say1 = 0
say2 = 0

For j = 3 To Worksheets(sayfa).Cells(i, Columns.Count).End(xlToLeft).Column

If Worksheets(sayfa).Cells(i, j).Value <> "" Then
Worksheets(tablo).Cells(3, "k").Value = yetkili
Worksheets(tablo).Cells(4, "k").Value = makina
Worksheets(tablo).Cells(5, "k").Value = Worksheets(sayfa).Cells(i, j).Value
aylik = Worksheets(sayfa).Cells(1, j).Value
Worksheets(tablo).Cells(11, "b").Value = "Makine" & i - 1 & " in " & aylik & " bakımı yapılmıştır."

If j = 6 Or j = 10 Then
Worksheets(tablo).Cells(12, "b").Value = "Motor Yağı değişimi yapıldı"
Else
Worksheets(tablo).Cells(12, "b").Value = ""
End If

yol = ThisWorkbook.Path
say2 = CreateObject("Scripting.FileSystemObject").getfolder(yol).Files.Count + 1
Sheets(tablo).ExportAsFixedFormat Type:=xlTypePDF, Filename:=yol & "\ " & say2 & " " & makina & " " & aylik & ".pdf", _
Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, _
OpenAfterPublish:=False
End If
Next j

Next i

Application.ScreenUpdating = True
Application.DisplayAlerts = True
MsgBox "işlem tamam"
End Sub
__________________





Forum Kuralları
Ofis 2003 için makro güvenlik ayarları
http://www.excel.web.tr/f157/ofis-20...k-t104854.html
Ofis 2007 için makro güvenlik ayarları
http://www.excel.web.tr/f157/ofis-20...k-t104852.html
Timer Nesnesinin kurulumu
http://www.excel.web.tr/f167/timer-n...mu-t78713.html
halit3 Çevrimdışı   Alıntı Yaparak Cevapla
Eski 23-04-2018, 16:07   #7
cansuyu66
Altın Üye
 
cansuyu66 kullanıcısının avatarı
 
Giriş: 27/03/2012
Şehir: Ankara
Mesaj: 107
Excel Vers. ve Dili:
2010 Almanca
Varsayılan

Alıntı:
halit3 tarafından gönderildi Mesajı Görüntüle
kod:

Kod: (Rahat kopyalayabilmeniz için tüm kodu seçmenizi sağlar)
Sub pdf_yap2()
Application.ScreenUpdating = False
Application.DisplayAlerts = False
sayfa = "Sayfa1" 'ActiveSheet.Name

tablo = "örnek pdf çıktı"

For i = 2 To Worksheets(sayfa).Cells(Rows.Count, 1).End(xlUp).Row
makina = Worksheets(sayfa).Cells(i, 1).Value
yetkili = Worksheets(sayfa).Cells(i, 2).Value

say1 = 0
say2 = 0

For j = 3 To Worksheets(sayfa).Cells(i, Columns.Count).End(xlToLeft).Column

If Worksheets(sayfa).Cells(i, j).Value <> "" Then
Worksheets(tablo).Cells(3, "k").Value = yetkili
Worksheets(tablo).Cells(4, "k").Value = makina
Worksheets(tablo).Cells(5, "k").Value = Worksheets(sayfa).Cells(i, j).Value
aylik = Worksheets(sayfa).Cells(1, j).Value
Worksheets(tablo).Cells(11, "b").Value = "Makine" & i - 1 & " in " & aylik & " bakımı yapılmıştır."

yol = ThisWorkbook.Path
say2 = CreateObject("Scripting.FileSystemObject").getfolder(yol).Files.Count + 1
Sheets(tablo).ExportAsFixedFormat Type:=xlTypePDF, Filename:=yol & "\ " & say2 & " " & makina & " " & aylik & ".pdf", _
Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, _
OpenAfterPublish:=False
End If
Next j

Next i

Application.ScreenUpdating = True
Application.DisplayAlerts = True
MsgBox "işlem tamam"
End Sub

Halit bey teşekkür ederim.
bir sorum daha olacak pdfe yazdırdığımız makine ismini artırarak yazdırmasak da pdf çıktı sayfasında ki "K4" de yer alan makine numarasını nasıl yazdırabiliriz?

Kod: (Rahat kopyalayabilmeniz için tüm kodu seçmenizi sağlar)
Worksheets(tablo).Cells(11, "b").Value = "Makine" & i - 1 & " in " & aylik & " bakımı yapılmıştır."
cansuyu66 Çevrimdışı   Alıntı Yaparak Cevapla
Eski 23-04-2018, 16:28   #8
cansuyu66
Altın Üye
 
cansuyu66 kullanıcısının avatarı
 
Giriş: 27/03/2012
Şehir: Ankara
Mesaj: 107
Excel Vers. ve Dili:
2010 Almanca
Varsayılan

"Makine" & i - 1 yerine Makine yazınca oldu =) birşeyler öğreniyorum sanırım
cansuyu66 Çevrimdışı   Alıntı Yaparak Cevapla
Eski 23-04-2018, 16:50   #9
halit3
Uzman
 
halit3 kullanıcısının avatarı
 
Giriş: 18/01/2008
Mesaj: 10,761
Excel Vers. ve Dili:
2003 excel türkçe
Varsayılan

Sorunu çözmüşsünüz k4 hücresindeki isime göre yazınca örnek Makina29 da tam 7 tane tarih var buna göre 7 dosyanın adı da aynı olacak böyle işlem olmaz
__________________





Forum Kuralları
Ofis 2003 için makro güvenlik ayarları
http://www.excel.web.tr/f157/ofis-20...k-t104854.html
Ofis 2007 için makro güvenlik ayarları
http://www.excel.web.tr/f157/ofis-20...k-t104852.html
Timer Nesnesinin kurulumu
http://www.excel.web.tr/f167/timer-n...mu-t78713.html
halit3 Çevrimdışı   Alıntı Yaparak Cevapla
Eski 24-04-2018, 09:04   #10
cansuyu66
Altın Üye
 
cansuyu66 kullanıcısının avatarı
 
Giriş: 27/03/2012
Şehir: Ankara
Mesaj: 107
Excel Vers. ve Dili:
2010 Almanca
Varsayılan

Halit bey tekrar merhaba,

12 aylık ve 24 aylık bakımlarda "Motor Yağı değişimi yapıldı" ibaresini eklemek istesem ne yapmam gerekiyor?
cansuyu66 Çevrimdışı   Alıntı Yaparak Cevapla
Yanıtla


Konu Araçları
Görünüm Modları

Gönderme Kuralları
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is Açık
SimgelerAçık
[IMG] kodu Açık
HTML kodu Kapalı


Saat 07:23


Bu forum Elit NET - www.elitnet.com.tr tarafından sunulmaktadır.

Excel Eğitimi - Mobil Uygulama - Çorlu - Çorlu Web Tasarım -- Beylikdüzü mali müşavir - Beylikdüzü mali müşavir - Lingerie - Dyeing Machine - Karton Bardak- Karton Bardak- Çorlu Dil Konuşma Terapisti- Çorlu Dil Konuşma Terapisti- Çorlu Konuşma Terapisti- Çorlu Konuşma Terapisti- Çorlu Özel Eğitim- Site Yönetimi- Pronet Tekirdağ- Çorlu Kamera- Pronet Edirne- Pronet Çorlu- Çorlu Araç Takip- Rampa- Çorlu İnternet Sitesi- Çorlu Sürücü Kursu- Şişli Avukat- Çorlu Etüt- İstanbul Botanik- Çorlu Sigorta- Kağıt Bardak- Kağıt Bardak- Çorlu Havuz- Çorlu Havuz- Çorlu Perde Yıkama- Okul Danışmanlık- ADR'li taşıma kabı imalatı- Mekanik Tesisat- Çorlu Grafik Tasarım- Çorlu Sondaj- Çorlu Etüt- Futbol Cafe- Beylikdüzü Temizlik- Çorlu Kurs- Çorlu Ders- İzmit Mimar- Hurda Bakır Kablo- Hurda Bakır Kablo- Çorlu Pronet- Çorlu Yönetim- Çorlu Apartman Yönetimi- Çorlu Marangoz- Çorlu Avukat- Çorlu Su Arıtma- Çorlu Kompresör- İstanbul İnşaat-
Powered by vBulletin Version 3.7.2
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.
Advertisement System V2.6 By   Branden