Excel Formül Sorusu Sor

Bir Excel formülüne dair sorunuz varsa, bu alanı kullanarak bize iletin.

Excel Makro Sorusu Sor

Bir Excel VBA koduna dair sorunuz varsa, bu alanı kullanarak bize iletin.

Genel Excel Sorusu Sor

Excel'in ön sayfasındaki FORMÜL haricinde olan sorularınızı buradan sorabilirsiniz.

Çözüldü Klasördeki Son Dosya İsmini Excele Aktarma

Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...

scam

Normal Üye

Excel Versiyonu
Excel 2016
Excel Sürümü
64 Bit
Excel Dili
Türkçe
merhaba.

ben excel sayfasına h1hücresindeki dosya yolunu dikkate alarak bu klasördeki en son dosya ismini a1 hücresine yazdırmak istiyorum. dosya uzantısını almasa da olur.

internette formlarda çok araştırdım. dosya isimlerini getiriyorum, ama sıralı getiremiyorum.

benim dosya isimlerim aşağıdaki örnekteki gibi.

dosya isimleri; B021905997. xlsx / B021905998. xlsx / B021905999 xlsx / B0219051000. xlsx / B0219051001. xlsx / B0219051002. xlsx / B0219051003. xlsx diye gidiyor.

ben burada en son dosya ismi olan B0219051003. xlsx olan dosyayı getirmek istiyorum. ama o bana B021905999 xlsx dosyayı getiriyor. yardımlarınızı bekliyorum.

kullandığım makro dolu aşağıdadır.
Kod:
Görüntülemek için giriş yapmalısınız.
(65 satır)
 
Moderatörün son düzenlenenleri:
Çözüm
Eğer yukarıda belirttiğim konu olmuyor ise aşağıdaki konuyu da yapabilirseniz olur.
klasör içerisinde kaç adet excel dosyası var? bunu excele net şekilde getirirseniz de olur.
klasör içerisindeki excel dosya sayısını ben excele getiriyorum. ama net sayı gelmiyor.
eğer o klasöre girip bir excel dosyasını açtıktan sonra makro çalıştırdığımda klasörde 10 dosya var ise açık dosyayı 2 tane sayıp 11 dosya var diyor.
ama klasörde 10 adet dosya var.
eğer klasörden hiç bir excel dosyası açmadan klasör dışındaki excel den makro çalıştırdığımda istediğim klasörde hiç açık dosya olmadığı için doğru sayı olan 10 dosya sayısını veriyor.

ben her iki durumda da klasörde tüm excel dosyaları kapalı iken kaç dosya var ise o sayıyı getirsin. yani...
Merhaba Sayın @satilmiscam , forumumuza hoşgeldiniz.
Öncelikle forumdaki mesajlarında vereceğiniz formülleri/kodları, aşağıdaki ekran görüntüsündeki kısmı kullanarak
açılacak alana yapıştırarak eklemeye özen göstermenizin yerinde olacağını hatırlatayım.

1558369443761.webp


Sorunuza gelince; istediğiniz işlem için aşağıdaki gibi bir yapı düşünülebilir.
Dosya isimlerinin ilk karakterinin HARF, geriye kalan kısmının ise SAYI olduğu varsayıldı.
Kod'da kırmızı renklendirdiğim klasör yolu bilgisini, kendinize göre (H1 hücresi demişsiniz) düzeltip,
işlem sonucunu bir hücreye yazdırmak istediğinize göre de MsgBox satırının yerine Sheets(.....).Range("....") = son şeklinde değiştirirsiniz.
VBA:
Görüntülemek için giriş yapmalısınız.
(17 satır)
 
Moderatörün son düzenlenenleri:
Benden de 2 tane alternatif olsun.
1.Alternatif sizin çalışmanızda ki dosya isimlerine göre kodlandı.
2.Alternatif klasöre en son kaydedilen dosya isimine göre kodlandı.

Alternatif1:
VBA:
Görüntülemek için giriş yapmalısınız.
(26 satır)

Alternatif2:
VBA:
Görüntülemek için giriş yapmalısınız.
(21 satır)
 
Moderatörün son düzenlenenleri:
Tamam. çok teşekkürler. göndermiş olduğunuz örnekleri deneyip size bilgi vereceğim
Benden de 2 tane alternatif olsun.
1.Alternatif sizin çalışmanızda ki dosya isimlerine göre kodlandı.
2.Alternatif klasöre en son kaydedilen dosya isimine göre kodlandı.

Alternatif1:
VBA:
Görüntülemek için giriş yapmalısınız.
(26 satır)

Alternatif2:
VBA:
Görüntülemek için giriş yapmalısınız.
(21 satır)
 
Tamam. çok teşekkürler. göndermiş olduğunuz örnekleri deneyip size bilgi vereceğim

Merhaba Ömer Bey,

Alternatif 1 makrosu gayet güzel hızlı çalışıyor. Ama en son dosyayı bulamıyor. burada bazı sıkıntılar var. bunlar,

Ben size örnek dosya isimlerini yazarken B021905997. xlsx / B021905998. xlsx / B021905999 xlsx / B0219051000. xlsx / B0219051001. xlsx / B0219051002. xlsx / B0219051003. xlsx diye yazmıştım. eksik bilgi vermişim. özür dilerim. dosya isimlerim yukarıdaki gibi fakat aralarında bazı dosya isimleri "B0219051004 denisson tel. xlsx " / "B0219051005-termal tel. xlsx " "B0219051006. xlsx" gibi açıklamalıdır. burada makro çalışınca "B0219051006. xlsx" gelmesi gerekirken "B0219051004 denisson tel. xlsx " geliyor. burada sadece baştan boşluğa " " kadar veya "-" işaretine kadar olan bölüm alınamaz mı? yani sadece "B0219051006" şeklinde getirilemez mi?

Yukarıda verdiğiniz Sub Son_Dosya_Adi() makro fazla dosya olan klasörlerde çok yavaş çalışıyor. Acaba bu makronun hızlı çalışması sağlanamaz mı? birde bu makro "B0" bölümünü getirmiyor. "219051006" şeklinde getiriyor. bu makro hem hızlı çalışıp hem de "B0219051006" şeklinde sonucu getiremez mi?
 
Ben hala konu sahibinin açıklamalarından isteğinin netleşmediğini düşünüyorum.

İsteğin;
-- son kaydedilen dosya mı,
-- yoksa win. gezgininde ilgili klasör görüntülenip dosya adına göre sıralanması halinde listenin en sonundaki dosya adının mı
istenildiğinden emin değilim doğrusu.

Boşluk ve - karakteri vesaire halledilebilir, asıl sorduğum sorunun cevabı netleşmelidir.
.
 
Alternatif 2 makro su işizi görmedi mi Adı XD_EnYeni_Dosya olan.
Ben hala konu sahibinin açıklamalarından isteğinin netleşmediğini düşünüyorum.

İsteğin;
-- son kaydedilen dosya mı,
-- yoksa win. gezgininde ilgili klasör görüntülenip dosya adına göre sıralanması halinde listenin en sonundaki dosya adının mı
istenildiğinden emin değilim doğrusu.

Boşluk ve - karakteri vesaire halledilebilir, asıl sorduğum sorunun cevabı netleşmelidir.
.

Merhaba Ömer Bey,

sorum net anlaşılmamış, özür dilerim.. sorum şu.

A)

Bir klasör içerisindeki windows gezgini sırasına göre en son dosya ismini excele almaktır.
Dosya isim örneklerimi yukarıdaki yazışmalarımda vermiştim..
Sizden istediğim windows gezgini sırasına göre son dosya ismini excel sayfasına almak.
klasör yolunu benim istediğim excel hücresinden alacak. sonucu benim istediğim excel hücresine yazacak.


B)

Eğer yukarıda belirttiğim konu olmuyor ise aşağıdaki konuyu da yapabilirseniz olur.
klasör içerisinde kaç adet excel dosyası var? bunu excele net şekilde getirirseniz de olur.
klasör içerisindeki excel dosya sayısını ben excele getiriyorum. ama net sayı gelmiyor.
eğer o klasöre girip bir excel dosyasını açtıktan sonra makro çalıştırdığımda klasörde 10 dosya var ise açık dosyayı 2 tane sayıp 11 dosya var diyor.
ama klasörde 10 adet dosya var.
eğer klasörden hiç bir excel dosyası açmadan klasör dışındaki excel den makro çalıştırdığımda istediğim klasörde hiç açık dosya olmadığı için doğru sayı olan 10 dosya sayısını veriyor.

ben her iki durumda da klasörde tüm excel dosyaları kapalı iken kaç dosya var ise o sayıyı getirsin. yani klasör içindeki excel dosyasını açsam da açmasam da kapalı iken kaç dosya varsa o kadar dosya sayısını hücreye yazsın.


Ömer bey A ve B konularından hangisini yapabilirseniz benim işime yarar.

Benim amacım klasörlere excel dosyaları kaydediyorum. B klasörüne 100 adet dosya kaydettiysem sonraki kayıtta bu 100 adet dosya olduğunu öğrenip dosya adını bir artırıp "B.........……….101..xlsb" yapmak. bunun için B klasöründeki son dosya ismini yani "B......................100.xlsb" öğrenip 1 artırıp "B............................101.xlsb"
şeklinde farklı kaydetmek. bunun için bana "son dosya ismi yada klasörde net kaç adet dosya var?" bunlar lazım.

yardımlarınız ve ilginiz için çok teşekkürler.
 
Aşağıdaki kodu dener misiniz ?

VBA:
Görüntülemek için giriş yapmalısınız.
(29 satır)


merhaba ,

kodu denedim istediğim gibi olmadı. boşluk " " ve tire "-" işaretlerinde takılmıyor. ama windows gezgini sıralamasına göre en son dosyayı getirmiyor. ortalardan rasgele bir dosya ismi getiriyor. istediğim windows gezgini sırasına göre en son dosya ismini getirtmek.

yardımlarınız için çok teşekkürler.
 
Eğer yukarıda belirttiğim konu olmuyor ise aşağıdaki konuyu da yapabilirseniz olur.
klasör içerisinde kaç adet excel dosyası var? bunu excele net şekilde getirirseniz de olur.
klasör içerisindeki excel dosya sayısını ben excele getiriyorum. ama net sayı gelmiyor.
eğer o klasöre girip bir excel dosyasını açtıktan sonra makro çalıştırdığımda klasörde 10 dosya var ise açık dosyayı 2 tane sayıp 11 dosya var diyor.
ama klasörde 10 adet dosya var.
eğer klasörden hiç bir excel dosyası açmadan klasör dışındaki excel den makro çalıştırdığımda istediğim klasörde hiç açık dosya olmadığı için doğru sayı olan 10 dosya sayısını veriyor.

ben her iki durumda da klasörde tüm excel dosyaları kapalı iken kaç dosya var ise o sayıyı getirsin. yani klasör içindeki excel dosyasını açsam da açmasam da kapalı iken kaç dosya varsa o kadar dosya sayısını hücreye yazsın.

B sorunuzun cevabını verelim ozaman.

VBA:
Görüntülemek için giriş yapmalısınız.
(16 satır)
 
Çözüm
Merhaba,

çok teşekkür ediyorum. kod normal çalışıyor. diğer çalışmalarımda da deneyeceğim. onlarda da olursa sorunum çözülmüş olacaktır.

yardımlarınız ve sabrınız için çok teşekkürler.
 
Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...
DMCA.com Protection Status
Konuyu başlatan
Normal Üye
Katılım
Konum
İstanbul
Konu Bilgi
Durum
Çözüldü 
Forum
Excel Makro Soruları
Başlangıç tarihi
Son yanıt tarihi
Cevaplar
13
Geri
Üst