• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

Yedekleme

Katılım
29 Kasım 2008
Mesajlar
215
Excel Vers. ve Dili
excel 2003 türkçe
Değerli arkadaşlar.Yedekleme konusunda bir konuda yardımınıza ihtiyacım var.

Günlük aldığım siparişleri , excelde alırken bir makro yardımıyla masaüstünde bir klasöre , müş.no-müşteri adı şeklinde günlük siparişler isimiden bir klasöre otomatik yedekliyorum. ve daha sonrada bunları serverde her müşterinin bir klasörü var oraya tek tek kopyalıyorum manual olarak. Bu son söylediğim olayı belgedeyken müşteri adını dikkate alarak serverdaki ilgili klasöre otomatik yedekletme şansım varmıdır.veyahut gün tamamlanınca günlük siparişler klasörünü açıp ordan otomatik yedeklemede olabilir. İlgili sipariş şablonumu ekledim.

Bu konuda yardımcı olabilirseniz memnun olurum.Saygılarımla..
 

Ekli dosyalar

Son düzenleme:
yedekleme

en azından bir öneriniz yokmu değerli arkadaşlar??
 
Değerli arkadaşlar.Yedekleme konusunda bir konuda yardımınıza ihtiyacım var.

Günlük aldığım siparişleri , excelde alırken bir makro yardımıyla masaüstünde bir klasöre , müş.no-müşteri adı şeklinde günlük siparişler isimiden bir klasöre otomatik yedekliyorum. ve daha sonrada bunları serverde her müşterinin bir klasörü var oraya tek tek kopyalıyorum manual olarak. Bu son söylediğim olayı belgedeyken müşteri adını dikkate alarak serverdaki ilgili klasöre otomatik yedekletme şansım varmıdır.veyahut gün tamamlanınca günlük siparişler klasörünü açıp ordan otomatik yedeklemede olabilir. İlgili sipariş şablonumu ekledim.

Bu konuda yardımcı olabilirseniz memnun olurum.Saygılarımla..

Anladığım kadarıyla ekte eklediğiniz bir adet sipariş formu, bunun gibi gün içinde birkaç tane gelmekte, sizde makro ile masaüstünde bir çalışma sayfasında alt alta ekliyorsunuz daha sonra isme göre filtreleyerek , ayrı ayrı çalışma sayfalarına kayıt ediyorsunuz, eğer buysa istediğiniz yapılabilir ancak tüm detayları vermeniz gerekli, olayın manuel olarak adım adım anlatmanız gerekecek, ayrıca serverin adresi de gerekecek daha detaylı ve adım adım anlatırsanız yardımcı olabiliriz görüşündeyim.
 
Bir adet sipariş şablonu var.Ve bu şablonda ilgili müşteri adı ve ili hücrelerde yazıyor.Şablonu her sipariş aldıkça masaüstünde bir klasöre yedekliyorum.Daha sonrada Serverda illere ait klasörler ve onların içindede müşteri adları mevcut.buralara Manuel olarak Kopyala-yapıştır şeklinde yedek alıyorum.

Yapmak istediğim şey şablondaki müşteri adı ve il bilgileri dikkate alınarak bir makro yardımıyla direkt serverdaki ilgili il klasörünün içindeki ilgili müşteri klasörünün içerisine yedekleyebilirmiyiz.

Yardımlarınız için teşekkürler.
 
bu kodu denermisiniz.

Sub yedekkal()
dosya_adı = Cells(4, "C").Value 'dosya adını buraya yazınız.
Sayfa_adı = ActiveSheet.Name 'sayfa adını buraya yazınız.
kayıt_yeri = "D:\" 'Kayıt yapılacak yer
On Error Resume Next
Dim sayfa As Worksheet
For Each sayfa In Worksheets
MsgBox Worksheets
If sayfa.Name = Sayfa_adı Then
sayfa.Copy
Sheets(ActiveSheet.Name).Name = Sayfa_adı
ActiveSheet.DrawingObjects.Delete
ActiveWorkbook.SaveAs kayıt_yeri & dosya_adı & ".xls"
ActiveWorkbook.Close False
Exit Sub
End If
Next sayfa
End Sub
 
Sayın Halit3;

Burada makro ilgili siparişe bakıp müşteri adı - sipariş no şeklinde , c5 hücresindeki il ve c4 hücresindeki müşteri adını dikkate alarak , gidip E:\KAPAK klasörünün içerisinde ilgili il ve onun altında ilgili müşteri adına ait klasörü bulup oraya yedekleme yapacak.Sadece Sayfa1 yedeklenecek. eğer öyle bir klasör yoksada hata uyarısı vermesi gerekiyor.

Yardımlarınız için teşekkürler.
 
E:\KAPAK altında hangi klasör olacak bir örnek olsa tamam zaten sorun anlaşılnadığı için yanıt almakta gecikiyorsunuz.

anladığım bu böylemi olacak

"E:\KAPAK\KİLİS\108-238\CİHAN MOBİLYA.xls"
 
E:\KAPAK altında hangi klasör olacak bir örnek olsa tamam zaten sorun anlaşılnadığı için yanıt almakta gecikiyorsunuz.

anladığım bu böylemi olacak

"E:\KAPAK\KİLİS\108-238\CİHAN MOBİLYA.xls"

Sayın Halit3;

E:\KAPAK\KİLİS\108-238\CİHAN MOBİLYA.xls

burada CİHAN MOBİLYA adlı bir klasör olacak.yani hazırda oluşturulmuş şekilde var.Yani müşteri adına bakarak E:\KAPAK\KİLİS klasörünün altında ilgili müşteri adının klasörünee gidip oraya (müşteri adı-sip no.) şeklinde yedeklenecek.

Yani müşteri adı neyse o isimde bir klasör mevcut.E:\KAPAK\KİLİS\CİHAN MOBİLYA

eğer ilgili klasör bulunamazsada uyarı verebilirmi? bu müşteri adında klasör bulunamadı diyerek?
 
bunu denermisiniz.

Sub yedekkal()
Sayfa_adı = ActiveSheet.Name 'sayfa adını buraya yazınız.
kayıt_yeri = "E:\KAPAK\" & Cells(5, "C").Value & "\" & Cells(4, "C").Value & "\" & Cells(3, "C").Value & ".xls" 'Kayıt yapılacak yer
On Error Resume Next
Dim ds, a
Set ds = CreateObject("Scripting.FileSystemObject")
a = ds.FileExists(kayıt_yeri)
If a = True Then
MsgBox "Bu isimde bir dosya var"
Else
Dim sayfa As Worksheet
For Each sayfa In Worksheets
MsgBox Worksheets
If sayfa.Name = Sayfa_adı Then
sayfa.Copy
Sheets(ActiveSheet.Name).Name = Sayfa_adı
ActiveSheet.DrawingObjects.Delete
ActiveWorkbook.SaveAs kayıt_yeri
ActiveWorkbook.Close False
Exit Sub
End If
Next sayfa
End If
End Sub
 
Sayın Halit3;
108-238.xls adıyla yedekledi.burada "Cihan Mobilya -108-238.xls " şeklinde yedekleyebilirmi?

birde yeni bir siparişte doğal olarak il adı ve müşteri adı farklı olacak.Bu seferde yine az önce olduğu gibi ilgili il adının bulunduğu klasörü bulup oraya yedeklemeli.Denedim ama olmadı.

Yani siparişler doğal olarak farklı iller ve farklı müşteri adı şeklinde.burada en önemli kriter şu yol değişmeyecek E:\KAPAK . ama bu yolun içinde her ilin klasörü mevcut.C5 hücresinde yazan hangi ilse gidip o klasörün içine kopyalaması gerekiyor.

Birde az önceki mesajımda belirttiğim gibi ilgili klasör bulunamazsa " müşteri ili klasörü mevcut değil" şeklinde bir uyarı vermesi gerekiyor.
 
bunu denermisiniz.

E:\KAPAK\KİLİS\CİHAN MOBİLYA-108-238.xls

Sub yedekkal()
Sayfa_adı = ActiveSheet.Name 'sayfa adını buraya yazınız.
kayıt_yeri = "E:\KAPAK\" & Cells(5, "C").Value & "\" & Cells(4, "C").Value & "-" & Cells(3, "C").Value & ".xls" 'Kayıt yapılacak yer
On Error Resume Next
Dim ds, a
Set ds = CreateObject("Scripting.FileSystemObject")
a = ds.FileExists(kayıt_yeri)
If a = True Then
MsgBox "Bu isimde bir dosya var"
Else
Dim sayfa As Worksheet
For Each sayfa In Worksheets
MsgBox Worksheets
If sayfa.Name = Sayfa_adı Then
sayfa.Copy
Sheets(ActiveSheet.Name).Name = Sayfa_adı
ActiveSheet.DrawingObjects.Delete
ActiveWorkbook.SaveAs kayıt_yeri
ActiveWorkbook.Close False
Exit Sub
End If
Next sayfa
End If
End Sub
 
Sayın Halit3 ;

Burda direkt olarak E:\KAPAK klasörünün altındaki ilgili il klasörüne kayıt ediyor. İlgili il klasörünün altındaki İlgili müşteri klasörünü dikkate almıyor..!!

Eğer bu şekilde yaparsak sorunumuz çözülecek.Birde dediğim gibi eğer müşteri ili yada müşteri adına ait klasör yoksada " müşteri iline ait klasör bulunamadı" ve "müşteri adına ait klasör bulunamadı" şeklinde uyarı verebilirmi..

Sizi yordum kusura bakmayın.
 
her halde dosya yolu böyle olacak

E:\KAPAK\KİLİS\CİHAN MOBİLYA\CİHAN MOBİLYA-108-238.xls


Sub yedekkal()
deg1 = "E:\KAPAK"
deg2 = Cells(5, "C").Value
deg3 = Cells(4, "C").Value
deg4 = Cells(3, "C").Value
On Error Resume Next
If Dir(deg1) = "" Then MkDir (deg1)
If Dir(deg1 & "\" & deg2) = "" Then MkDir (deg1 & "\" & deg2)
If Dir(deg1 & "\" & deg2 & "\" & deg3) = "" Then MkDir (deg1 & "\" & deg2 & "\" & deg3)
Sayfa_adı = ActiveSheet.Name 'sayfa adını buraya yazınız.
kayıt_yeri = deg1 & "\" & deg2 & "\" & deg3 & "\" & deg3 & "-" & deg4 & ".xls" 'Kayıt yapılacak yer
Dim ds, a
Set ds = CreateObject("Scripting.FileSystemObject")
a = ds.FileExists(kayıt_yeri)
If a = True Then
MsgBox "Bu isimde bir dosya var"
Else
Dim sayfa As Worksheet
For Each sayfa In Worksheets
MsgBox Worksheets
If sayfa.Name = Sayfa_adı Then
sayfa.Copy
Sheets(ActiveSheet.Name).Name = Sayfa_adı
ActiveSheet.DrawingObjects.Delete
ActiveWorkbook.SaveAs kayıt_yeri
ActiveWorkbook.Close False
Exit Sub
End If
Next sayfa
End If
End Sub
 
yedekleme

Sayın Halit3;

Yardımlarınız için teşekkürler.Sorun çözülmüştür.

Emeğinize yüreğinize sağlık.
 
Geri
Üst