Sekmeleri İstenilen hücreyle isimlendirerek PDF Kaydetmek

Katılım
11 Mayıs 2005
Mesajlar
110
Excel Vers. ve Dili
Office 365 | Türkçe
Altın Üyelik Bitiş Tarihi
14-01-2024
Arkadaşlar Merhaba,
Şablonu kısaca anlatayım gözünüzde canlandırın.

Bunlar Benim Seklemelerim;
TEKLİF NO | HAZIRLA | Revizyon Teklifi | EK-1 | MALİYET

1. HAZIRLA sekmesine bir buton koymak istiyorum. Yine bu sekmede ki hücrelerin birinde de RVZ17-108 yazıyor.
2. Bu buton kaydet butonu olacak ve bu butona bastığım zaman " Revizyon Teklifi ve EK-1" sekmelerini RVZ17-108 ismi ile benim belirlediğim bir klasöre kaydedecek. Hepsi bu..


Teşekkürler
 
Katılım
31 Aralık 2014
Mesajlar
1,845
Excel Vers. ve Dili
Excel 2010
Merhaba
Aşağıdaki gibi deneyin.
Kod:
[SIZE="2"]Private Sub CommandButton1_Click()
Dim a
Dim ad As Variant
Dim x As Integer
Dim yol, pd As String
Set a = CreateObject("scripting.filesystemobject")
With Application.FileDialog(msoFileDialogFolderPicker)
.AllowMultiSelect = True
.Show
If .SelectedItems.Count = 0 Then Exit Sub
yol = .SelectedItems(.SelectedItems.Count) & "\"
ad =[COLOR="Blue"] Array("Revizyon Teklifi", "EK-1")[/COLOR]
If [COLOR="Red"][A1][/COLOR] = Empty Then MsgBox "isim ön eki bulunamadı": Exit Sub
For x = 0 To 1
pd = [COLOR="Red"][A1].value[/COLOR] & " " & ad(x)
If a.FileExists(yol & pd & ".pdf") = True Then
MsgBox pd & " Adlı dosya zaten var"
Else
Sheets(ad(x)).ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
yol & pd, Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, _
OpenAfterPublish:=False 'true
End If
Next
End With
End Sub[/SIZE]
 
Katılım
11 Mayıs 2005
Mesajlar
110
Excel Vers. ve Dili
Office 365 | Türkçe
Altın Üyelik Bitiş Tarihi
14-01-2024
Merhaba PLİNT,
Yardımcı olmaya çalıştığın için teşekkür ediyorum. Excel'de kodlama konusunda epey iyi sayılırım ama makrolarla pek uğraşmadım bu konuda biraz zayıfım. Bana detaylı anlatma şansın var mı ya da dosyayı sana mı göndersem ?

Bu kodu nereye yapıştırıcam ? Kodları yazdığımız bir pencere açılıyordu onu nasıl açıcam daha doğrusu ?

İlaveten HAZIRLA sekmesine buton koyacaktım demiştimya, butonu nasıl koyup bu koda entegre edeceğim ?


Teşekkürler
 
Katılım
31 Aralık 2014
Mesajlar
1,845
Excel Vers. ve Dili
Excel 2010
Merhaba PLİNT,
Yardımcı olmaya çalıştığın için teşekkür ediyorum. Excel'de kodlama konusunda epey iyi sayılırım ama makrolarla pek uğraşmadım bu konuda biraz zayıfım. Bana detaylı anlatma şansın var mı ya da dosyayı sana mı göndersem ?
Bu kodu nereye yapıştırıcam ? Kodları yazdığımız bir pencere açılıyordu onu nasıl açıcam daha doğrusu ?
İlaveten HAZIRLA sekmesine buton koyacaktım demiştimya, butonu nasıl koyup bu koda entegre edeceğim ?
Bir bakın
http://hizliresim.com/2nXGod
Ayrıca Alt F11 ile kod sayfasına ulaşabilirsiniz
http://s9.dosya.tc/server2/5m7ka0/Yeni_Microsoft_Excel_Calisma_Sayfasi.zip.html
 
Katılım
11 Mayıs 2005
Mesajlar
110
Excel Vers. ve Dili
Office 365 | Türkçe
Altın Üyelik Bitiş Tarihi
14-01-2024
Merhaba,
Öncelikle ilgin için cidden teşekkür ediyorum emek vermişsin ve çalışıyorda..

Fakat şimdi şöyle bir düzeltme yapmamız gerekiyor,
1. Revizyon Teklifi ve EK-1 sayfasını ayrı ayrı pdf olarak kaydediyor, birleştirip kaydetmesi lazım. Hani sekmelerin ikisinide seçip F12 ile pdf olarak kaydet dediğimizde birleştirdiği gibi..
2. Kadettiğim dosyanın ismini A1 hücresi ve sekme isimleri olarak kaydediyor. Ricam sadece A1 hücresinde ne yazıyorsa o isimle kaydetmesi.


Teşekkürler
 
Son düzenleme:
Katılım
31 Aralık 2014
Mesajlar
1,845
Excel Vers. ve Dili
Excel 2010
Merhaba,
Öncelikle ilgin için cidden teşekkür ediyorum emek vermişsin ve çalışıyorda..
Fakat şimdi şöyle bir düzeltme yapmamız gerekiyor,
1. Revizyon Teklifi ve EK-1 sayfasını ayrı ayrı pdf olarak kaydediyor, birleştirip kaydetmesi lazım. Hani sekmelerin ikisinide seçip F12 ile pdf olarak kaydet dediğimizde birleştirdiği gibi..
2. Kadettiğim dosyanın ismini A1 hücresi ve sekme isimleri olarak kaydediyor. Ricam sadece A1 hücresinde ne yazıyorsa o isimle kaydetmesi.
Teşekkürler
Merhaba
Aşağıdaki gibi deneyin
Kod:
 [SIZE="2"]Private Sub CommandButton1_Click()
Dim a
Dim ad As Variant
Dim x As Integer
Dim yol, pd As String
Dim s1 As Worksheet
Set s1 = ActiveSheet
Set a = CreateObject("scripting.filesystemobject")
With Application.FileDialog(msoFileDialogFolderPicker)
.AllowMultiSelect = True
.Show
If .SelectedItems.Count = 0 Then Exit Sub
yol = .SelectedItems(.SelectedItems.Count) & "\"
If s1.[A1] = "" Then MsgBox "[A1] Dosya adı yazınız": Exit Sub
pd = s1.[A1].Value
If a.FileExists(yol & pd & ".pdf") = True Then
MsgBox pd & " Adlı dosya zaten var"
Else
Application.ScreenUpdating = False
ThisWorkbook.Sheets(Array("Revizyon Teklifi", "EK-1")).Select
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
yol & pd, Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, _
OpenAfterPublish:=False 'true
s1.Select
Application.ScreenUpdating = False
MsgBox "İşlem bitti"
End If
End With
End Sub [/SIZE]
 
Katılım
11 Mayıs 2005
Mesajlar
110
Excel Vers. ve Dili
Office 365 | Türkçe
Altın Üyelik Bitiş Tarihi
14-01-2024
Zaman ayırıp emek verdiğin için çok teşekkür ediyorum. Şu an tam istediğim şekle geldi.
Nasıl teşekkür edebileceğimi bilemiyorum ama sen yine de kabul et :)
Tekrar tekrar teşekkür ediyorum ellerine sağlık.
 
Katılım
11 Mayıs 2005
Mesajlar
110
Excel Vers. ve Dili
Office 365 | Türkçe
Altın Üyelik Bitiş Tarihi
14-01-2024
Teşekkürler, size de.

Peki birşey daha sorsam abartmış olur muyum acaba , ileriki günlerde bana bunun aynısının biraz farklısı lazım olacak, şimdiden bilgi aliyim sonra ben halledeyim.

Yine bunun birebir aynısı, ama kaydet dediğimde Revizyon Teklifi ve Ek-1'i yine aynen kaydedecek buna ilaveten bir sekme daha olacak "MALIYET" bunuda ayrı pdf olarak aynı yere kaydedecek. neresine eklicem "MALIYET" sekmesini ?
 
Katılım
31 Aralık 2014
Mesajlar
1,845
Excel Vers. ve Dili
Excel 2010
Aynı pdf dosyası içinde ise;
Yukarıdaki kodların içinde bulunan şu bölüme sayfa adını eklersiniz,
Kod:
 ThisWorkbook.Sheets(Array("Revizyon Teklifi", "EK-1",[COLOR="Red"] "MALIYET"[/COLOR])).Select
Tek adı geçen sayfa için; şöyle yaparsınız
Kod:
ThisWorkbook.Sheets("MALIYET").Select
 
Katılım
11 Mayıs 2005
Mesajlar
110
Excel Vers. ve Dili
Office 365 | Türkçe
Altın Üyelik Bitiş Tarihi
14-01-2024
Çok teşekkür ediyorum.
 
Üst