Hücre Adıyla Farklı Kaydeden Makro

Barfly

Altın Üye
Katılım
29 Eylül 2007
Mesajlar
136
Excel Vers. ve Dili
Microsoft Office Professional Plus 2026 - Türkçe
Altın Üyelik Bitiş Tarihi
26-02-2026
Herkese Selam,

Halit Hocamın vermiş olduğu kodla abc.xls dosyasını C4 hücresindeki değer adıyla farklı bir şekilde kaydedebiliyorum. Sıkıntıma gelince abc.xls dosyası bir taslak dosyası ve içerisine veriler giriliyor, farklı kaydediliyor ve verilerin bulunduğu yeni bir dosya oluşuyor. Aşağıdaki kodla abc.xls dosyasını kapatıp tekrar açtığımda abc içindeki verilerinde aynen kaydedildiğini görüyorum. Yani ben yeni dosyayı kaydet dediğimde taslak dosyayıda o haliyle aynen kaydediyor. Bunu engellemem mümkün müdür acaba.Yardımlarınızı rica ederim.

Sub kayıtet()
ActiveWorkbook.Save
yer = ThisWorkbook.Path & "\" & Cells(16, "AI").Value & ".xlsm"
Dim DosyaSistemi
Set DosyaSistemi = CreateObject("Scripting.FileSystemObject")
Dim ds, a
Set ds = CreateObject("Scripting.FileSystemObject")
a = ds.FileExists(yer)
If a = True Then
MsgBox "Bu isimde bir dosya var"
Else
DosyaSistemi.CopyFile ThisWorkbook.FullName, yer
End If
End Sub


Saygılarımla,
 
Katılım
10 Mayıs 2009
Mesajlar
1,080
Excel Vers. ve Dili
2003 türkçe
Merhabalar;

.xlt uzantılı bir şablondan bu kodla dosya üretip aynı klasöre atmayı deniyorum ve...

DosyaSistemi.CopyFile ThisWorkbook.FullName, yer
yukardaki satırda File Not Found şeklinde hata veriyor ne yapabilirim?
 

halit3

Uzman
Uzman
Katılım
18 Ocak 2008
Mesajlar
12,852
Excel Vers. ve Dili
2003 excell türkçe
ve
2007 excell türkçe
Merhabalar;

.xlt uzantılı bir şablondan bu kodla dosya üretip aynı klasöre atmayı deniyorum ve...



yukardaki satırda File Not Found şeklinde hata veriyor ne yapabilirim?
yapıyor bu kodu denermisiniz A1 hücresine dosya adını yazınız.

Kod:
Sub kayıtet()
yer = ThisWorkbook.Path & "\" & Cells(1, "A").Value & ".xlt"
Dim DosyaSistemi
Set DosyaSistemi = CreateObject("Scripting.FileSystemObject")
Dim ds, a
Set ds = CreateObject("Scripting.FileSystemObject")
a = ds.FileExists(yer)
If a = True Then
MsgBox "Bu isimde bir dosya var"
Else
DosyaSistemi.CopyFile ThisWorkbook.FullName, yer
End If
End Sub
 
Katılım
10 Mayıs 2009
Mesajlar
1,080
Excel Vers. ve Dili
2003 türkçe
Halit Hocam bu kodlarla da aynı yerde hata verdi.Klasör içinde kodların uygulandığı örnek bir şablon yüklüyorum.Umarım ilgilenebilirsiniz.
 

Ekli dosyalar

halit3

Uzman
Uzman
Katılım
18 Ocak 2008
Mesajlar
12,852
Excel Vers. ve Dili
2003 excell türkçe
ve
2007 excell türkçe
yani xlt uzantılı dosyayı xls olarakmı değiştirmek istiyorsun
 
Katılım
10 Mayıs 2009
Mesajlar
1,080
Excel Vers. ve Dili
2003 türkçe
Hocam dosyada excelin kendi kaydet butonuna bastığınızda Farklı Kaydet penceresi açılıyor ve kendisi sablon1.xls adında bir dosya üretiyor ve ben o dosyayı adını değiştirip istediğim bir dizine kaydediyorum.

İstediğim bu son basamakları bir butonla yapmak Farklı Kaydet penceresini açmadan A1 hücresi.xls şeklinde bir dosyayı şablonumun bulunduğu klasöre kaydetmek ve açık olan tüm excel uygulamalarını kapatmak..
 

halit3

Uzman
Uzman
Katılım
18 Ocak 2008
Mesajlar
12,852
Excel Vers. ve Dili
2003 excell türkçe
ve
2007 excell türkçe
http://www.excel.web.tr/showthread.php?t=58047

yukarıdaki linkdeki dosyada
Dosyaadıdegistir sayfasında
bulunan komut düğmesine tıkla işlem türünü seç
aranan uzantıyı açılan liste kutusundan seç
veridosyaların klasörünü bul düğmesinden veri alınacal dosyanın klasörünü seç
ve liste kutusundan işaretle
değiştirilecek uzantıyı listeden seç veya elel yaz açılan liste kutusuna
kayıt yapılacak yeni dosyaların klasörünü bul komut düğmesinden seç
işlemleri yap komut düğmesine tıkla
 
Katılım
10 Mayıs 2009
Mesajlar
1,080
Excel Vers. ve Dili
2003 türkçe
Hocam Nod32 linkteki dosyada bilinmeyen macro virus şeklinde virüs tespit ediyor malesef açamadım:(
 
Katılım
10 Mayıs 2009
Mesajlar
1,080
Excel Vers. ve Dili
2003 türkçe
Hocam dosyanız açıldı çok hoş bir dosya teşekkür ederim ellerinize sağlık.
Fakat şöyle bir sorun var.Hali hazırdaki şablon dosyam zaten işlemler yapıp değişiklikleri kaydederek çıktığımda .xls uzantılı bir dosya üretiyor yani bunun için benim bu kadar yolu takip etmemin pek manası yok.Üstelik bu dosya aracılığı ile yaptığımda şablonun aynı bir kopya elde ediyorum oysa şablon üzerinde işlem yapıp kaydettiğimde 2 şey kazanıyorum

1.)işlem yapılmış haliyle kaydedilmiş .xls uzantılı istediğim dosya
2.)Yapısı bozulmamış tekrar açtığımda ilk halinde olacak olan .xlt şablon dosyam


üzerinden zaman geçtiği için bir kere daha sorumu özetlesem iyi olacak sanırım.

Klasör içindeki şablon dosyasında işlemlerimi bitirdikten sonra eklemiş olduğum farklı kaydet butonuna bastığımda değişikliklerin uygulanmış olduğu haliyle bir .xls dosyasının aynı klasöre kaydedilmesini istiyorum.

İlginiz için teşekkür ederim.
 

halit3

Uzman
Uzman
Katılım
18 Ocak 2008
Mesajlar
12,852
Excel Vers. ve Dili
2003 excell türkçe
ve
2007 excell türkçe
bunu bir dene


Sub kayıtet()
ActiveWorkbook.Save
yer = ThisWorkbook.Path & "\" & Cells(1, "A").Value & ".xls"
deg = Mid(ThisWorkbook.FullName, 1, Len(ThisWorkbook.FullName) - 4) & ".xlt"
Dim DosyaSistemi
Set DosyaSistemi = CreateObject("Scripting.FileSystemObject")
Dim ds, a
Set ds = CreateObject("Scripting.FileSystemObject")
a = ds.FileExists(deg)
If a = True Then
MsgBox "Bu isimde bir dosya var"
Else
DosyaSistemi.CopyFile deg, yer
End If
End Sub
 
Katılım
10 Mayıs 2009
Mesajlar
1,080
Excel Vers. ve Dili
2003 türkçe
DosyaSistemi.CopyFile deg, yer

Aynı hatayı burada veriyor hocam.Aktarmada bir sorun olduğunu sanmıyorum ama siz çalıştırabildiyseniz dosyayı eklerseniz sevinirim.
 

halit3

Uzman
Uzman
Katılım
18 Ocak 2008
Mesajlar
12,852
Excel Vers. ve Dili
2003 excell türkçe
ve
2007 excell türkçe
şimdi anlamak için soruyorum xlt uzantılı dosyayı açıyorsunuz bunu xls uzantılı kayıtmı yapmak istiyorsunuz.
yoksa tam tersimi
 
Katılım
10 Mayıs 2009
Mesajlar
1,080
Excel Vers. ve Dili
2003 türkçe
Hocam .xlt uzantılı dosyam zaten kaydedip kapatmaya kalkarsam dosyanın son haliyle kaydedilmiş bir .xls uzantılı dosya üretiyor.
Bu durumda .xls uzantılı dosya ürettiğim son haliyle .xlt uzantılı dosyamda ana haliyle klasörde kayıtlı kalıyor.
----------------------------------------------------------------------------------------
Bunlar bir yana sorum netleşsin diye şunu deneyebilirsiniz.

-sablon.xlt dosyasını açın.
-Herhangi bir işlem yapın.(A2 ye halit yazın mesala)
-Farklı Kaydet penceresini açın.
-Orada DosyaAdı na bakarsanız (sablon1.xls) gördüğünüz gibi zaten .xls dosyası üretilmiş olacak.

İşte ben bu işlemleri yapıp orada dosya adını değiştirip istediğim dizini seçip kaydediyorum.
Sorum da bu:

Yani "Klasöre Kaydet" butonuna bastığımda dosya adı A1.Value.xls olsun
kaydedileceği yer şablonun bulunduğu klasör olsun.
 

halit3

Uzman
Uzman
Katılım
18 Ocak 2008
Mesajlar
12,852
Excel Vers. ve Dili
2003 excell türkçe
ve
2007 excell türkçe
dosyayı bir kalasörün içine koy
ve makroyu çalıştır oradan açılan listeden dosyanın bulunduğu klasörü seç
tamam de
 

Ekli dosyalar

halit3

Uzman
Uzman
Katılım
18 Ocak 2008
Mesajlar
12,852
Excel Vers. ve Dili
2003 excell türkçe
ve
2007 excell türkçe
1-dosyayı herhangibir klasörün içine koy
2-dosyayı aç
3-düğmeye dıkladığın zaman dosyanın hangi klasörde olduğunu seç
4- tamam de
bu kadar
 
Katılım
20 Şubat 2007
Mesajlar
41
Excel Vers. ve Dili
2007türkçe
hocam sorunum sayfa1 e girdiğim verleri otomatik sayfa 2 ye atıyor. I3 hücresindeki isimle farklı kaydetmek istiyorum. (sadece sayfa 2 yi kaydetmek istiyorum onuda sayfa biçimi aynı,formülleri değer olarak istiyorum.yardımlarınız için şimdiden teşekkür ederim.
 
Üst