Makronun Farklı Yere Kaydetme Sorunu

batinhincer

Altın Üye
Katılım
2 Kasım 2023
Mesajlar
13
Excel Vers. ve Dili
Excel 2013
Altın Üyelik Bitiş Tarihi
29-02-2025
Merhabalar,

Excel sayfasını SaveAsPDF makrosu ile tasarladım. Tek sıkıntım dosyayı istediğim konuma kaydetmiyor. Makromu aşağıda görebilirsiniz.
path = "C:\Users\Lfss2\YandexDisk\Satis (Lfss)\CI\" belirlememe rağmen kaydettiği konum Satis (LFSS) konumu oluyor. CI'nın içine kaydetmiyor.

Yardımcı olabilecek biri var mı?

Şimdiden teşekkürler.

Sub SaveAspdf()

path = "C:\Users\Lfss2\YandexDisk\Satis (Lfss)\CI\"
invno = Range("f15")
custname = Range("c10")
PIno = Range("c33")
POno = Range("c34")
dt_issue = Range("f14")
fname = invno & " - " & custname & " - " & PIno & " - " & POno & " - " & dt_issue

ActiveSheet.ExportAsFixedFormat _
Type:=xlTypePDF, _
IgnorePrintAreas:=False, _
Filename:=fname

Set nextrec = Sheet3.Range("A1048576").End(xlUp).Offset(1, 0)
nextrec = invno
nextrec.Offset(0, 1) = custname
nextrec.Offset(0, 2) = amt
nextrec.Offset(0, 3) = dt_issue
nextrec.Offset(0, 4) = dt_issue + term

Sheet3.Hyperlinks.Add anchor:=nextrec.Offset(0, 6), Address:=path & fname & ".pdf"

End Sub
 

Muzaffer Ali

Destek Ekibi
Destek Ekibi
Katılım
5 Haziran 2006
Mesajlar
6,165
Excel Vers. ve Dili
2019 Türkçe
Merhaba.
Buradaki kod dosyayı kayıt yapmıyor, son boş hücreye link ekliyor.
 

batinhincer

Altın Üye
Katılım
2 Kasım 2023
Mesajlar
13
Excel Vers. ve Dili
Excel 2013
Altın Üyelik Bitiş Tarihi
29-02-2025
Nasıl çözebiliriz?
 

Muzaffer Ali

Destek Ekibi
Destek Ekibi
Katılım
5 Haziran 2006
Mesajlar
6,165
Excel Vers. ve Dili
2019 Türkçe
Bu satırı silin
Kod:
Sheet3.Hyperlinks.Add anchor:=nextrec.Offset(0, 6), Address:=path & fname & ".pdf"
yerine aşağıdakini ekleyin.
Kod:
Sheet3.ExportAsFixedFormat Type:=xlTypePDF, Filename:=Path & fname & ".pdf"
 

batinhincer

Altın Üye
Katılım
2 Kasım 2023
Mesajlar
13
Excel Vers. ve Dili
Excel 2013
Altın Üyelik Bitiş Tarihi
29-02-2025
Cevabınız için çok teşekkürler. Fakat şimdi Variable Not Defined hatası alıyorum. Bunu nasıl çözebilirim?

Option Explicit
Dim invno As String
Dim custname As String
Dim PIno As Long
Dim POno As Long
Dim amt As Currency
Dim dt_issue As Date
Dim term As Byte
Dim nextrec As Range
Dim path As String
Dim fname As String

Sub SaveAspdf()

path = "C:\Users\Lfss2\YandexDisk\Satis (Lfss)\CI\"
invno = Range("f15")
custname = Range("c10")
PIno = Range(c33)
POno = Range(c34)
dt_issue = Range("f14")
fname = invno & " - " & custname & " - " & PIno & " - " & POno & " - " & dt_issue

ActiveSheet.ExportAsFixedFormat _
Type:=xlTypePDF, _
IgnorePrintAreas:=False, _
Filename:=path & fname

Set nextrec = Sheet3.Range("A1048576").End(xlUp).Offset(1, 0)
nextrec = invno
nextrec.Offset(0, 1) = custname
nextrec.Offset(0, 2) = amt
nextrec.Offset(0, 3) = dt_issue
nextrec.Offset(0, 4) = dt_issue + term

Sheet3.ExportAsFixedFormat Type:=xlTypePDF, Filename:=Path & fname & ".pdf"

End Sub
 
Katılım
20 Şubat 2007
Mesajlar
646
Excel Vers. ve Dili
2007 Excel, Word Tr
Merhaba,
PIno = Range(c33)
POno = Range(c34) ifadelerinde parantez içlerindeki hücreler çift tırnak içinde olmalı. Ayrıca Sheet3 ile ActiveSheet aynı yer iseler iki defa export yapılıyor.
 

muhasebeciyiz

Altın Üye
Katılım
10 Şubat 2006
Mesajlar
557
Excel Vers. ve Dili
Office 2016
64 Bit
Altın Üyelik Bitiş Tarihi
21-12-2027
Option Explicit
Dim invno As String
Dim custname As String
Dim PIno As Long
Dim POno As Long
Dim amt As Currency
Dim dt_issue As Date
Dim term As Byte
Dim nextrec As Range
Dim path As String
Dim fname As String

Sub SaveAspdf()

path = "C:\Users\Lfss2\YandexDisk\Satis (Lfss)\CI\"
invno = Range("f15")
custname = Range("c10")
PIno = Range(c33)
POno = Range(c34)
dt_issue = Range("f14")
fname = invno & " - " & custname & " - " & PIno & " - " & POno & " - " & dt_issue

ActiveSheet.ExportAsFixedFormat _
Type:=xlTypePDF, _
IgnorePrintAreas:=False, _
Filename:=path & fname

Set nextrec = Sheet3.Range("A1048576").End(xlUp).Offset(1, 0)
nextrec = invno
nextrec.Offset(0, 1) = custname
nextrec.Offset(0, 2) = amt
nextrec.Offset(0, 3) = dt_issue
nextrec.Offset(0, 4) = dt_issue + term

Sheet3.ExportAsFixedFormat Type:=xlTypePDF, Filename:=Path & fname & ".pdf"

End Sub

Eğer amt değişkenine herhangi bir değer atamaya veya kullanmaya gerek yoksa, yalnızca Dim amt As Currency satırını ekleyebilirsiniz. Bu, değişkenin varlığını bildirir, ancak ona bir değer atamazsanız birden fazla hata alabilirsiniz.
 

batinhincer

Altın Üye
Katılım
2 Kasım 2023
Mesajlar
13
Excel Vers. ve Dili
Excel 2013
Altın Üyelik Bitiş Tarihi
29-02-2025
Benim izlemlediğim Sheet3 kısmına direk uyarı çıkarıyor. Bunu ne yapmalıyım?Excel Hata.png


250256
 

muhasebeciyiz

Altın Üye
Katılım
10 Şubat 2006
Mesajlar
557
Excel Vers. ve Dili
Office 2016
64 Bit
Altın Üyelik Bitiş Tarihi
21-12-2027
Option Explicit

Dim invno As String
Dim custname As String
Dim PIno As Long
Dim POno As Long
Dim amt As Currency
Dim dt_issue As Date
Dim term As Byte
Dim nextrec As Range
Dim path As String
Dim fname As String

Dim Sheet3 As Worksheet

Sub SaveAspdf()

path = "C:\Users\Lfss2\YandexDisk\Satis (Lfss)\CI\"
invno = Range("f15")
custname = Range("c10")
PIno = Range(c33)
POno = Range(c34)
dt_issue = Range("f14")
fname = invno & " - " & custname & " - " & PIno & " - " & POno & " - " & dt_issue

ActiveSheet.ExportAsFixedFormat _
Type:=xlTypePDF, _
IgnorePrintAreas:=False, _
Filename:=path & fname

Set nextrec = Sheet3.Range("A1048576").End(xlUp).Offset(1, 0)
nextrec = invno
nextrec.Offset(0, 1) = custname
nextrec.Offset(0, 2) = amt
nextrec.Offset(0, 3) = dt_issue
nextrec.Offset(0, 4) = dt_issue + term

Sheet3.ExportAsFixedFormat Type:=xlTypePDF, Filename:=Path & fname & ".pdf"

End Sub


"Compile error variable not defined" hatası hala Sheet3 için gösteriliyor çünkü amt değişkeninden farklı olarak, bir değişken olarak tanımlanmamış bu nedenle sheet3 ü değişken olarak tanımlamamız gerekiyor.Denermisiniz.
 

batinhincer

Altın Üye
Katılım
2 Kasım 2023
Mesajlar
13
Excel Vers. ve Dili
Excel 2013
Altın Üyelik Bitiş Tarihi
29-02-2025
İlginiz için teşekkürler fakat konuya yabancıyım. Makroyu bir yerden kopyalarak kendime göre modifikasyonlar yapmaya çalıştım fakat halledemedim. Exceli sadeleştirerek mesajıma ek olarak koydum. Yardımcı olabilirseniz çok sevinirim.
 

Ekli dosyalar

batinhincer

Altın Üye
Katılım
2 Kasım 2023
Mesajlar
13
Excel Vers. ve Dili
Excel 2013
Altın Üyelik Bitiş Tarihi
29-02-2025
Teşekkürler oldu. Fakat çalıştığım sayfanın ortasına record için yazılar oluşturuyor dosya ismi konumu vs gibi. Onları Yeni sekme oluşturarak record sayfası adı altında kaydediyorum bunda bir program yok. Tek düzeltemedeğim sayfanın ortasına dosyanın kaydedildiği konumun linkini atması. Bunuda record sayfasına geçirmem mümkün mü? Onuda halledebilirsek bir pürüz kalmıyor gibi duruyor.
 

batinhincer

Altın Üye
Katılım
2 Kasım 2023
Mesajlar
13
Excel Vers. ve Dili
Excel 2013
Altın Üyelik Bitiş Tarihi
29-02-2025
Select bölümünü silersem kaydediyor fakat sayfanın ortasına link koyuyor.




250264Makro Slect Sorunu.png
 

batinhincer

Altın Üye
Katılım
2 Kasım 2023
Mesajlar
13
Excel Vers. ve Dili
Excel 2013
Altın Üyelik Bitiş Tarihi
29-02-2025
Çok teşekkürler makroda yazdıklarınıza dikkat ederek yola çıktıktan sonra onuda hallettim. Yardımlarınız için sağolun
 

batinhincer

Altın Üye
Katılım
2 Kasım 2023
Mesajlar
13
Excel Vers. ve Dili
Excel 2013
Altın Üyelik Bitiş Tarihi
29-02-2025
Arkadaşlar Makroda değişiklik yapmama rağmen bir anda hata vermeye başladı.

EmailasPDF özelliği çalışmıyor ve Run Time Error hatası vererek bu dosya bulunamıyor diyor. Makroyu aşağıya yapıştırdım. Yardımlarınızı bekliyorum.

Option Explicit
Dim invno As String
Dim custname As String
Dim PIno As String
Dim POno As String
Dim amt As Currency
Dim dt_issue As Date
Dim term As Byte
Dim nextrec As Range
Dim path As String
Dim fname As String

Sub RecordofInvoice()

invno = Range("f15")
custname = Range("c10")
amt = Range("I41")
dt_issue = Range("f14")
term = Range("C6")

Set nextrec = Sayfa3.Range("A1048576").End(xlUp).Offset(1, 0)

nextrec = invno
nextrec.Offset(0, 1) = custname
nextrec.Offset(0, 2) = amt
nextrec.Offset(0, 3) = dt_issue
nextrec.Offset(0, 4) = dt_issue + term

End Sub

Sub SaveAspdf()

path = "C:\Users\Lfss2\YandexDisk\Satis (Lfss)\CI\"
invno = Range("f15")
custname = Range("c10")
PIno = Range("c33")
POno = Range("c34")
dt_issue = Range("f14")
fname = invno & " - " & custname & " - " & PIno & " - " & POno & " - " & dt_issue

ActiveSheet.ExportAsFixedFormat _
Type:=xlTypePDF, _
IgnorePrintAreas:=False, _
Filename:=path & fname

Set nextrec = Sayfa3.Range("A1048576").End(xlUp).Offset(1, 0)
nextrec.Value = invno
nextrec.Offset(0, 1).Value = custname
nextrec.Offset(0, 2).Value = PIno
nextrec.Offset(0, 3).Value = POno
nextrec.Offset(0, 4).Value = dt_issue


Sayfa3.Hyperlinks.Add Anchor:=nextrec.Offset(0, 5), Address:=path & fname & ".pdf"


MsgBox "PDF dosyası başarıyla kaydedildi: " & path & fname & ".pdf", vbInformation


End Sub


Sub EmailAspdf()

Dim EApp As Object
Set EApp = CreateObject("Outlook.Application")

Dim EItem As Object

path = "C:\Users\Lfss2\YandexDisk\Satis (Lfss)\CI\"
invno = Range("f15")
custname = Range("c10")
PIno = Range("c33")
POno = Range("c34")
dt_issue = Range("f14")
fname = invno & " - " & custname & " - " & PIno & " - " & POno & " - " & dt_issue
amt = Range("I41")
dt_issue = Range("f14")
term = Range("C6")

ActiveSheet.ExportAsFixedFormat _
Type:=xlTypePDF, _
IgnorePrintAreas:=False, _
Filename:=fname

Set nextrec = Sayfa13.Range("A1048576").End(xlUp).Offset(1, 0)

nextrec = invno
nextrec.Offset(0, 1) = custname
nextrec.Offset(0, 2) = dt_issue
nextrec.Offset(0, 4) = Now

Sayfa13.Hyperlinks.Add Anchor:=nextrec.Offset(0, 3), Address:=fname & ".pdf"

Set EItem = EApp.CreateItem(0)

With EItem

.To = Range("c15")

.Subject = invno & " - " & custname & " - " & PIno & " - " & POno & " - " & dt_issue

.Body = "Please find invoice attached."

.Attachments.Add (fname & ".pdf")

.Display

End With
Exit Sub



End Sub
 
Üst