DEĞİŞKEN KLASÖR VE EXCEL DOSYASI AÇMA

evrimmm

Altın Üye
Altın Üye
Katılım
6 Temmuz 2007
Mesajlar
35
Excel Vers. ve Dili
excel 2003
Arkadaşlar merhaba,

Benim C klasörü altında bir klasörüm var ve bu klasör içinde aylık klasörlerim var ve bu klasörlerin içindede birden fazla excel dosyalarım var.
(C \ ÜRÜNLER \ OCAK ÇIKIŞ \ A.xlsx, B.xlsx, C.xlsx. ....)
ŞUBAT ÇIKIŞ \ A.xlsx, B.xlsx, C.xlsx. ....)
MART ÇIKIŞ \ A.xlsx, B.xlsx, C.xlsx. ....) gibi


Ben userform ile kullanıcıdan öncelikle aylık seçeceği klasörü istiyorum örneğin: o ay Mart çıkışlarını hesaplaması gerekiyor ise Mart klasörünü seçmesini istiyorum ve bu klasörün adını yani .value özelliğini bir değişkene atıyorum "k" gibi.Eğer kullanıcı Mart klasörünü seçti ise ben o klasör içinde ki excel dosyalarını açmak ve işlem yapmak istiyorum. Excel isimleri her ay sabit olup onları da adi= cells( i, j) gibi bir yerden alıyorum ve bu iki değişkeni birleştirip; excel dosyalarını açmak istiyorum​
Workbooks.open Filename:= "C:\ ÜRÜNLER \ k & adi & ".xlsx" gibi bir metod ile ulaşmaya çalışıyorum, fakat kodum çalışmıyor. Yardımcı olabilir misiniz?​
 
Katılım
31 Aralık 2014
Mesajlar
1,845
Excel Vers. ve Dili
Excel 2010
Merhaba
k = MART ÇIKIŞ ise
Aşağıdaki gibi deneyin.
Kod:
Workbooks.Open Filename:="C:\ÜRÜNLER\" & k & "\" & adi & ".xlsx"
 

evrimmm

Altın Üye
Altın Üye
Katılım
6 Temmuz 2007
Mesajlar
35
Excel Vers. ve Dili
excel 2003
Sayın Plint ,aslında bu kodu bende bu şekilde yazmıştım fakat çalışmadı arada ki klasör ismini maalesef okumuyor.

C:\ÜRÜNLER\A.xlsx olarak gözüküyor , fakat benim istediğim Mart klasörü seçildi ise;
C:\ÜRÜNLER\ MART ÇIKIŞ \ A.xslx
Şubat seçildi ise
C:\ÜRÜNLER\ ŞUBAT ÇIKIŞ \ A.xslx şeklinde çalışmasını istiyorum.
 
Katılım
31 Aralık 2014
Mesajlar
1,845
Excel Vers. ve Dili
Excel 2010
Klasör seçimini yapan kodlarınızı bilmiyorum ama aşağıdaki iki şekilde kullanılabilir
Kodlar içindeki
Kod:
i=2
J=1
adi = Cells(i, j)
satırları ile açılacak dosya adının "A2" hücresinde yazılı olduğu varsayılmıştır.


Kod:
Private Sub CommandButton1_Click()

Set klasorsec = CreateObject("Shell.Application").BrowseForFolder(0, "Lütfen bir klasör seçin !", 0, "C:\ÜRÜNLER\")
If klasorsec Is Nothing Then Exit Sub

yol = klasorsec.Items.Item.Path
i=2
J=1
adi = Cells(i, j)  

Workbooks.Open Filename:=yol & "\" & adi & ".xlsx"
End Sub
Kod:
Private Sub CommandButton2_Click()

Set klasorsec = CreateObject("Shell.Application").BrowseForFolder(0, "Lütfen bir klasör seçin !", 0, "C:\ÜRÜNLER\")
If klasorsec Is Nothing Then Exit Sub

k = klasorsec.Items.Item

i=2
J=1
adi = Cells(i, j)

Workbooks.Open Filename:="C:\ÜRÜNLER\" & k & "\" & adi & ".xlsx"

End Sub
 
Son düzenleme:

Haluk

𐱅𐰇𐰼𐰚
Katılım
7 Temmuz 2004
Mesajlar
12,271
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Sayın PLİNT;

Kodlardaki "i" ve "j" değerlerinin de belirlenmesini sağlayan ilaveyi veya soruyu soran arkadaşa bununla ilgili bir açıklamayı yaparsanız iyi olur diye düşünüyorum.

.
 
Katılım
31 Aralık 2014
Mesajlar
1,845
Excel Vers. ve Dili
Excel 2010
Merhaba
Haklısınız Haluk hocam,
Sayın evrimmm
Excel isimleri her ay sabit olup onları da adi= cells( i, j) gibi bir yerden alıyorum
diye belirttiği için gerek görmemiştim; yukarıdaki mesajıma küçük bir açıklama ekledim.
 

evrimmm

Altın Üye
Altın Üye
Katılım
6 Temmuz 2007
Mesajlar
35
Excel Vers. ve Dili
excel 2003
Sayın Plint,

CommandButton2 örneğinizi denedim ve kod işime yaradı elinize emeğinize sağlık çok teşekkür ederim. Geç dönüşüm için kusura bakmayın lütfen tekrardan teşekkür ederim. Saygılarımla,
 
Katılım
22 Şubat 2021
Mesajlar
99
Excel Vers. ve Dili
İngilizce
Arkadaşlar merhaba, bende benzer bir problem yaşıyorum. Klasörüm sabit ama excelin ismi değişiyor nasıl yapmam gerekir? Şimdiden teşekkürler, kolay gelsin herkese.
Kod:
Workbooks.Open ("\\Fs1-mitas\msim\03_Kaynakli_Imalat_Fabrika\01_Üretim_Planlama\01_İş_Planı_Raporu\")
Bu kodum çalışmadı..
 
Üst