Tanımladığım adrese dosyayı kaydetme

Katılım
12 Nisan 2007
Mesajlar
170
Excel Vers. ve Dili
Office XP
Arkadaşlar benim için çok önemli olan bir konuda yardımınızı istiyorum. Örnek kod;

Sub Arşive_Kaydet()
MkDir "B:\Mali Raporlar\2008\5-Mali Tablolar\Bilanço - Gelir Tabloları\ & [Bilayı] & - & [P2] & Now"
ActiveWorkbook.SaveAs Filename:= _
"B:\Mali Raporlar\2008\5-Mali Tablolar\Bilanço - Gelir Tabloları\ & [Bilayı] & - & [P2] & Now\[Bilfir]&_&[Biltip].xls" _
, FileFormat:=xlNormal, Password:="", WriteResPassword:="", _
ReadOnlyRecommended:=False, CreateBackup:=False
End Sub

Yukarıdaki kodda Bilayı, Bilfir ve Biltip hücre adını göstermektedir.
Bu kodlarla Bilanço - Gelir Tabloları klasörüne kadar yolu buluyor. Oraya "& [Bilayı] & - & [P2] & Now" isminde klasör açıyor. benim yapmak istediğim ise, Bilanço - Gelir Tabloları klasörünün altında 12-Aralık klasörü yoksa bu klasörü açması varsa klasör açmayı denemeden o klasörün altına (now) günün tarih ve saati ile klasör açıp onun altına Bilfir ve Biltip hücrelerinde yazan kelimelerle dosyayı kaydetmesi. Yardımlarınızı bekliyorum. Şimdiden teşekkürler.
 

hamitcan

Uzman
Uzman
Katılım
1 Temmuz 2004
Mesajlar
7,738
Excel Vers. ve Dili
Excel 2019 Türkçe
Aşağıdaki kodu dener misiniz?
Kod:
Sub kaydet()
Set ds = CreateObject("Scripting.FileSystemObject")
klasor = "B:\Mali Raporlar\2008\5-Mali Tablolar\Bilanço - Gelir Tabloları\ & [Bilayı] & - & [P2] & Now"
a = ds.folderExists(klasor)

If a = True Then
    ActiveWorkbook.SaveAs Filename:= _
    klasor & "\[Bilfir]&_&[Biltip].xls" _
    , FileFormat:=xlNormal, Password:="", WriteResPassword:="", _
    ReadOnlyRecommended:=False, CreateBackup:=False
Else
    ds.CreateFolder (klasor)
    ActiveWorkbook.SaveAs Filename:= _
    klasor & "\[Bilfir]&_&[Biltip].xls" _
    , FileFormat:=xlNormal, Password:="", WriteResPassword:="", _
    ReadOnlyRecommended:=False, CreateBackup:=False
End If
End Sub
 
Katılım
12 Nisan 2007
Mesajlar
170
Excel Vers. ve Dili
Office XP
Hamitcan bey ilginizden dolayı çok teşekkür ediyorum. yazdığınız kodları kullandığımda benim daha önceki sonucun aynısını verdi yani Bilanço ve Gelir Tabloları klasörünün altına "& [Bilayı] & - & [P2] & Now" ismiyle klasör açtı ve dosyayı kaydedemedi. Sanki & işaretlerinde hata yapıyoruz gibi geliyor bana Dosya yolu yazarken "" mı kullanmak gerekiyor.
 
Katılım
12 Nisan 2007
Mesajlar
170
Excel Vers. ve Dili
Office XP
Hücre etiketleriyle ilgili de sıkıntı var aslında. Mesela orada Bilfir adıyla değil Bilfir hücresinde yazan kelime ile klasör oluşturması lazım.
 

hamitcan

Uzman
Uzman
Katılım
1 Temmuz 2004
Mesajlar
7,738
Excel Vers. ve Dili
Excel 2019 Türkçe
Verdiğim kod; klasör var mı yok mu kontrol ediyor. Bu yüzden bence siz öncelikle, gönderdiğiniz kodu inceleyin.
 
Katılım
12 Nisan 2007
Mesajlar
170
Excel Vers. ve Dili
Office XP
Benim kodun bu kısmında zaten hata var. Sizin kodlar klasörü kontrol etme noktasında doğru çalışıyor ama dosyayı kaydederken dosyayı kayıt yolu olarak benim yazdığım kodu aynen aldığınız için aynı sonuca ulaştık. Dolayısıyla hata şu kısımda;
"B:\Mali Raporlar\2008\5-Mali Tablolar\Bilanço - Gelir Tabloları\ & [Bilayı] & - & [P2] & Now"

& [Bilayı] & - & [P2] & Now" buradan sonrası hatalı. Bunu nasıl yazmalıyım Bilayı etiketi kullanmak yerine örneğin [A5] veya ("A5") şeklinde mi yazmalıyım. Ama etiket te kullanılabilmeli. O etikete göre o hücrede yazan kelimeyi görmeli burada.
 

hamitcan

Uzman
Uzman
Katılım
1 Temmuz 2004
Mesajlar
7,738
Excel Vers. ve Dili
Excel 2019 Türkçe
Kod:
"B:\Mali Raporlar\2008\5-Mali Tablolar\Bilanço - Gelir Tabloları\" & [Bilayı] & "-" & [P2] & Now
şeklinde deneyin.
 
Katılım
12 Nisan 2007
Mesajlar
170
Excel Vers. ve Dili
Office XP
Sub Arşive_Kaydet()
Set ds = CreateObject("Scripting.FileSystemObject")
VerilecekAd = Sheets("Kriter").Range("c6").Value & "-" & Sheets("Kriter").Range("p2").Value
klasor = "B:\Mali Raporlar\2008\5-Mali Tablolar\Bilanço - Gelir Tabloları\" & VerilecekAd
klasor2 = klasor & "\" & Date
a = ds.folderExists(klasor)
b = ds.folderExists(klasor2)

If a = True And b = True Then
ActiveWorkbook.SaveAs Filename:= _
klasor2 & "\" & Sheets("Kriter").Range("c2").Value & "_" & Sheets("Kriter").Range("c8").Value & ".xls" _
, FileFormat:=xlNormal, Password:="", WriteResPassword:="", _
ReadOnlyRecommended:=False, CreateBackup:=False
Else
If a = True And b = False Then
ds.CreateFolder (klasor2)
ActiveWorkbook.SaveAs Filename:= _
klasor2 & "\" & Sheets("Kriter").Range("c2").Value & "_" & Sheets("Kriter").Range("c8").Value & ".xls" _
, FileFormat:=xlNormal, Password:="", WriteResPassword:="", _
ReadOnlyRecommended:=False, CreateBackup:=False
Else
If a = False And b = False Then
ds.CreateFolder (klasor)
ds.CreateFolder (klasor2)
ActiveWorkbook.SaveAs Filename:= _
klasor2 & "\" & Sheets("Kriter").Range("c2").Value & "_" & Sheets("Kriter").Range("c8").Value & ".xls" _
, FileFormat:=xlNormal, Password:="", WriteResPassword:="", _
ReadOnlyRecommended:=False, CreateBackup:=False
End If
End If
End If
End Sub

Yukarıdaki kodlarla sorun çözülmüştür. İlginizden dolayı teşekkür ederim.
 
Üst