excel dosyasını iki ayrı yere kaydetme

Katılım
8 Aralık 2006
Mesajlar
218
Excel Vers. ve Dili
Excel 2002
Türkçe
Altın Üyelik Bitiş Tarihi
15.06.2020
siteden araştırdım ama istediğimi bulamadım.Flaş Bellekte tuttuğum bir excel dosyam var.üzerinde değişiklik yaptıktan sonra kaydettiğim zaman, hem var olan dosyanın kaydedilmesini, hemde konumunu daha önce belirleiğim(bilgisayarın d sürücüsü olabilir) yere kaydetmesini istiyorum.
 
Katılım
6 Temmuz 2008
Mesajlar
1,875
Excel Vers. ve Dili
OFFİCE 2010- TÜRKÇE
Altın Üyelik Bitiş Tarihi
22-12-2019
Hayırlı akşamlar,
Aşağıdaki kodubir butona tanımlayın istediğiniz olacaktır.
Kod:
Sub kaydet()
ActiveWorkbook.Save
    ChDir "[COLOR="Red"][B]D[/B][/COLOR]:\"
    ActiveWorkbook.SaveAs Filename:="F:\Kitap1.xls", FileFormat:=xlExcel8
        
End Sub
 
Katılım
6 Temmuz 2008
Mesajlar
1,875
Excel Vers. ve Dili
OFFİCE 2010- TÜRKÇE
Altın Üyelik Bitiş Tarihi
22-12-2019
Bu kodları da ThisWorkbook kodbölümüne yazarsanız dosya kapanırken bu kaydetme işlemini yapar.

Kod:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
kaydet
End Sub
 
Katılım
8 Aralık 2006
Mesajlar
218
Excel Vers. ve Dili
Excel 2002
Türkçe
Altın Üyelik Bitiş Tarihi
15.06.2020
Hocam anladığım kadarıyla kaydetme işlemini tanımlayacağım buton ile yapacağım.Yani excel'in kendi kaydet butonunu kullanmayacağım doğrumu?
 
Katılım
6 Temmuz 2008
Mesajlar
1,875
Excel Vers. ve Dili
OFFİCE 2010- TÜRKÇE
Altın Üyelik Bitiş Tarihi
22-12-2019
Farklı türlerde kullanabilirsiniz. Fakat kodların mutlakaoluşturulması gerekir.
Bir modüle kodları kopyalayın. Buradan sonra ister butona atayın isterseniz Thiswokbook kod bölümüne Kaydederken çalışması için;
Kod:
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
kaydet
End Sub
 
Katılım
8 Aralık 2006
Mesajlar
218
Excel Vers. ve Dili
Excel 2002
Türkçe
Altın Üyelik Bitiş Tarihi
15.06.2020
hocam cevaplar için teşekkür ederim.yoğunluktan dolayı detaylı bakamamıştım.şimdi söylediğiniz gibi
iki koduda Thiswokbook kod bölümüne yazdım.kaydetmek istediğim zaman "rune-time error '1004' şeklinde hata mesajı alıyorum ne yapmalıuım?
 
Katılım
6 Temmuz 2008
Mesajlar
1,875
Excel Vers. ve Dili
OFFİCE 2010- TÜRKÇE
Altın Üyelik Bitiş Tarihi
22-12-2019
Hangi satırda sarıya boyanıyor bakabilirmisiniz?
 
Katılım
8 Aralık 2006
Mesajlar
218
Excel Vers. ve Dili
Excel 2002
Türkçe
Altın Üyelik Bitiş Tarihi
15.06.2020
ActiveWorkbook.SaveAs Filename:="F:\Kitap1.xls", FileFormat:=xlExcel8
bu satır sarıya boyanıyor.
 
Katılım
8 Aralık 2006
Mesajlar
218
Excel Vers. ve Dili
Excel 2002
Türkçe
Altın Üyelik Bitiş Tarihi
15.06.2020
hocam D olarakda değiştirdim sonuç aynı.
 
Katılım
6 Temmuz 2008
Mesajlar
1,875
Excel Vers. ve Dili
OFFİCE 2010- TÜRKÇE
Altın Üyelik Bitiş Tarihi
22-12-2019
hocam D olarakda değiştirdim sonuç aynı.
Tekrar denedim çalışıyor. Kodları tekrar kontrol edin bir yerde hatalı yazım yapmış olabilirsiniz..

Thisworkbook kodları
Kod:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
kaydet
End Sub
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
kaydet
End Sub

İnsert - Module yaptıktan sonra da bu kodları yazacaksınız.

Kod:
Sub kaydet()
ActiveWorkbook.Save
    ChDir "D:\"
    ActiveWorkbook.SaveAs Filename:="D:\Kitap1.xls", FileFormat:=xlExcel8
        
End Sub
 
Katılım
8 Aralık 2006
Mesajlar
218
Excel Vers. ve Dili
Excel 2002
Türkçe
Altın Üyelik Bitiş Tarihi
15.06.2020
Hocam,
bir türlü yapamadım.İki ayrı kodu ayrı ayrı yerlere yazacağım anladığım kadarıyla.Kodları yazacağım yerleri daha ayrıntılı yazabilirmisiniz?
 
Katılım
5 Haziran 2018
Mesajlar
85
Altın Üyelik Bitiş Tarihi
05/06/2023
geliştirici- - visual basic - insert -module yi açıp yapabilirsiniz
yalnız farklı kaydet deyip excel makro içerebilrn dosyalar şeklinde kaydedin
 
Katılım
8 Aralık 2006
Mesajlar
218
Excel Vers. ve Dili
Excel 2002
Türkçe
Altın Üyelik Bitiş Tarihi
15.06.2020
Hocam excel 2003 kullanıyorum.söyledikleriniz bu versiyonda mevcutmu? bulamadım çünkü.
 
Son düzenleme:
Katılım
8 Aralık 2006
Mesajlar
218
Excel Vers. ve Dili
Excel 2002
Türkçe
Altın Üyelik Bitiş Tarihi
15.06.2020
İyi çalışmalar,
acar6783 hocamın söylediği gibi
Thisworkbook kısmına ve İnsert - Module kısmına verdiği kodları yazıyorum.F8 ile kodları çalıştırdığımda D:\ dizinine kaydediyor fakat excel dosyasını kapatıp açtığımda İnsert - Module' deki kodları göremiyorum dolayısıyla D: dizinine kayıt yapmıyor.Nerde hata yapıyorum acaba?
 
Katılım
8 Aralık 2006
Mesajlar
218
Excel Vers. ve Dili
Excel 2002
Türkçe
Altın Üyelik Bitiş Tarihi
15.06.2020
Katılım
31 Aralık 2014
Mesajlar
1,845
Excel Vers. ve Dili
Excel 2010
Merhaba
BuÇalışmaKitabı(thiswworkbook)
kod penceresine aşağıdaki kodları yazıp denermisiniz?
Kod:
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
n = Application.DefaultSaveFormat
Application.DefaultSaveFormat = ThisWorkbook.FileFormat
ThisWorkbook.SaveCopyAs "D:\" & ThisWorkbook.Name
Application.DefaultSaveFormat = n
End Sub
Yedeklenen bu dosyadada işlem yapıp kaydetme ihtimali varsa ona görede kodlara ek yapalım
 
Son düzenleme:
Katılım
8 Aralık 2006
Mesajlar
218
Excel Vers. ve Dili
Excel 2002
Türkçe
Altın Üyelik Bitiş Tarihi
15.06.2020
hocam iyi geceler,
kodu denedim.istediğim gibi olmadı.Benim yapmak istediğim, üzerinde sürekli değişiklik yaptığım dosyam flaş'da.Tüm işlemlerimi burdan yapıyorum.Burda işlem yapıpda dosyayı kapatırken yada kaydet butonuna bastığım zaman aynı dosyayı d:/ dizinine kaydeydetsin istiyorum.
 
Katılım
31 Aralık 2014
Mesajlar
1,845
Excel Vers. ve Dili
Excel 2010
Aşağıdaki dosyayı denermisiniz?
"F" veya "D" diskinde farketmez hangisinde açıp kapatırsanız diğerine kopyalaması gerekiyor
https://www.dosyaupload.com/fmzU
Kod:
Private Sub Workbook_AfterSave(ByVal Success As Boolean)
Call kayıt
End Sub

Private Sub Workbook_BeforeClose(Cancel As Boolean)
Call kayıt
End Sub

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Call kayıt
End Sub

Sub kayıt()
Dim yol As String, n, dsk As String
Set FS = CreateObject("Scripting.FileSystemObject")
Set y = FS.GetDrive(FS.GetDriveName(ThisWorkbook.Path))
dsk = "F:"
If y = "F:" Then dsk = "D:"
n = Application.DefaultSaveFormat
Application.DefaultSaveFormat = ThisWorkbook.FileFormat
ThisWorkbook.SaveCopyAs dsk & "\" & ThisWorkbook.Name
Application.DefaultSaveFormat = n
End Sub
 

EmrExcel16

Destek Ekibi
Destek Ekibi
Katılım
1 Kasım 2012
Mesajlar
1,524
Excel Vers. ve Dili
Office 365 Türkçe
Sn PLİNT' in müsadesi ile alternatif olsun.
Buçalışmakitabı kod bölümüne
Kod:
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
    Dim path As String
    On Error Resume Next
    path = CreateObject("WScript.Shell").SpecialFolders("Desktop") & "/" 'Masaüstü ayarlanmıstır ,isteğe göre değiştiriniz.
    ThisWorkbook.SaveCopyAs path & "Kopya" & ThisWorkbook.Name
End Sub
 

Ekli dosyalar

Üst