Üstatlar kolay gelsin ,
Ben exel de yapmış olduğum makrolu bir dosyamı ilk açılıştan 1 saniye sonra farklı isimde kaydediyorum birden fazla kullanıcı programı kullandığı için kimse sorun yaşamadan kullanım yapması için böyle bir çözüm bulmuştum kendimce.
sonra dosyada değişiklik yapıldıktan sonra yani bilgiler girildikten sonra logo ekledim logoya tıkladıkları zaman belirtilen hücrelerdeki bilgiler ile kayıt yapıyor.
buraya kadar sorunsuz bir şekilde 5 aydır kullanıyoruz.
ama kayıt ettiğim dosyayı daha sonra yeniden açtığım zaman üzerinde yine değişiklik yaptıktan sonra aynı logoya tıkladığımda yeniden farklı kaydediyor.
ben kaydetme işlemine tarih eklediğim için 1 gün sonra açınca doğal olarak dosyayı o günün tarihi ile yeniden kaydediyor.
benim günlerdir aradığım ve istediğim, kaydedilecek klasör içinde önce *.xlsm dosya uzantısı var mı yok mu baksın varsa eğer onun üzerine kaydetsin yoksa zaten benim farklı kaydet makrom ile kaydetme işlemini gerçekleştiriyorum.
şimdiden herkese çok teşekkür ederim...
Önce Bul Sonra Kaydet Veya Farklı Kaydet
xlsm dosyasının olup olmadığını denetleyen kod
Dim StrDosyaAdi As String
StrDosyaAdi = Dir$(klasöryolu & "\*.xlsm")
if StrDosyaAdi <> "" then
' xlsm varsa yapılacaklar
else
'yoksa yapılacaklar
end if
yaklaşık olarak yukardakine benzer.
(25/04/2019, 23:51)haliliyas yazdı: xlsm dosyasının olup olmadığını denetleyen kod
yaklaşık olarak yukardakine benzer.Dim StrDosyaAdi As String
StrDosyaAdi = Dir$(klasöryolu & "\*.xlsm")
if StrDosyaAdi <> "" then
' xlsm varsa yapılacaklar
else
'yoksa yapılacaklar
end if
Üstat öncelikle çok teşekkür ederim kod için,
şimdi ben uygulamaya geçeceğim ama bir kaç sorum olacak
ben klasör oluştururken klasörün ismine ek olarak tarihte ekliyorum ileride aynı isimden klasör açılırsa karışmasın dosyalar diye.
sizin gönderdiğiniz koda ben klasör yolunu yazıyorum ama o tarih değişken olduğu için misal dosyayı ben 2 gün önce oluşturdum oda klasöre "ali _24 nis 2019" tarihi attı ama ben bugün kontrol ettiğimde "ali _26 nis 2019" tarihli klasörü bulamadığı için yeniden klasör oluşturacak bu sorunu nasıl aşa bilirim.
acaba önce mevcut exel in dosya adresini mi kontrol etse yoksa yada o da olmaz ilk açılışta dosyayı yedeklemek için ilk açılış klasörüne kaydediyor.
ben klasör oluştururken G6 ve G7 hücresinde yazan bilgilere göre klasör ismini oluşturuyorum.
acaba klasör yoluna bakarken bu G6 ve G7 de yazan bilgiler içinde geçiyormu diye kontrol edebilirmi tamamına bakınca tarih olduğu için tutmayacak diye içinden geçen de bakabilirmi acaba ?
inşallah doğru ifade edebilmişimdir.
(26/04/2019, 09:11)comp_wolf yazdı: acaba önce mevcut exel in dosya adresini mi kontrol etse
mevcut Excel derken kast ettiğiniz üzerinde çalıştığınız Excel dosyası ise
Dim StrDosyaAdi As String
StrDosyaAdi = Dir$(CurrentProject.Path & "\*.xlsm")
if StrDosyaAdi <> "" then
' xlsm varsa yapılacaklar
else
'yoksa yapılacaklar
end if
kodu işinizi görür diye düşünüyorum
"CurrentProject.Path" aktif - o an üzerinde işlem yaptığınız - dosyanızın yolunu gösterir.
açıkçası excelde pek deneyimli değilim ve tam olarak ne yapmak istediğinizi anlamadım galiba.
isterseniz çalışmanızı ekleyin bir bilen elbet çıkar)
iyi çalışmalar
(26/04/2019, 10:37)haliliyas yazdı:(26/04/2019, 09:11)comp_wolf yazdı: acaba önce mevcut exel in dosya adresini mi kontrol etse
mevcut Excel derken kast ettiğiniz üzerinde çalıştığınız Excel dosyası ise
Dim StrDosyaAdi As String
StrDosyaAdi = Dir$(CurrentProject.Path & "\*.xlsm")
if StrDosyaAdi <> "" then
' xlsm varsa yapılacaklar
else
'yoksa yapılacaklar
end if
kodu işinizi görür diye düşünüyorum
"CurrentProject.Path" aktif - o an üzerinde işlem yaptığınız - dosyanızın yolunu gösterir.
açıkçası excelde pek deneyimli değilim ve tam olarak ne yapmak istediğinizi anlamadım galiba.
isterseniz çalışmanızı ekleyin bir bilen elbet çıkar)
iyi çalışmalar
üstat tam istediğim kodu yazmışsınız teşekkür ederim.
"CurrentProject.Path" aktif - o an üzerinde işlem yaptığınız - dosyanızın yolunu gösterir.
peki bu koda ek olarak dosya ismine de baksa içinde G6 da yazan geçiyorsa o zaman
if StrDosyaAdi <> "Range("G6").Value" then
' xlsm varsa yapılacaklar
yukarıda ki kod kısmına (Range("G6").Value) eklemesini nasıl yapabiliriz ?
yani exel dosya ismi içerisinde G6 hücresinde yazan bilgiler geçiyor ise devam edecek şekilde nasıl bir kod eklemesi yapabiliriz ? yeşil ile yazan kod kısmına ekleyince sanırım tam amacıma ulaşacağım...
Son Düzenleme: 26/04/2019, 10:57, Düzenleyen: comp_wolf.
"Range("G6").Value" yerine Range("G6").Value denediniz mi?
ilk ve son -"- çift tırnak işaretini kaldırarak
ilk ve son -"- çift tırnak işaretini kaldırarak
Konuyu Okuyanlar: 1 Ziyaretçi