DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
Altın Üyelik Hakkında Bilgi
Sub FolderExists()
Dim TargetFolder As String
Set fs = CreateObject("Scripting.FileSystemObject")
TargetFolder = "C:\Evren"
If not fs.FolderExists(TargetFolder) Then
ChDir "C:\"
MkDir("Evren")
Else
MsgBox "Klasör var!"
End if
End Sub
Sub FolderExists()
Dim TargetFolder As String
Set fs = CreateObject("Scripting.FileSystemObject")
yol = ThisWorkbook.Path & "\" ' mevcut çalışma kitabının olduğu yol
TargetFolder = yol
If Not fs.FolderExists(TargetFolder) Then
ChDir yol
MkDir ("Evren")
Else
MsgBox "Klasör var!"
End If
End Sub
Sub FolderExists()
Dim TargetFolder As String
Set fs = CreateObject("Scripting.FileSystemObject")
yol = ThisWorkbook.Path & "\" ' mevcut çalışma kitabının olduğu yol
TargetFolder = yol & "Evren"
If Not fs.FolderExists(TargetFolder) Then
ChDir yol
MkDir ("Evren")
Else
MsgBox "Klasör var!"
End If
End Sub
emin değilim ama dataxxx leri nasıl oluşturduğunuz önemli galiba excel mi? elle mi?Konuya pat diye daldım ama bu konuya çok benzeyen ve hep benim kafamı kurcalayan bir sorum var.
Sub KOPYA ()
ADRES = "TEXT;C:\Documents and Settings\cati\Desktop\DATA1022.txt"
With ActiveSheet.QueryTables.Add(Connection:= _
ADRES, Destination:=Range("A1"))
.TextFileOtherDelimiter = ";"
.TextFileColumnDataTypes = Array(1, 1, 1, 1, 1, 1, 1, 1)
.Refresh BackgroundQuery:=False
End With
End Sub
makrosunda DATA1022 dosya adı, hergün değişerek gelecek. Yani yarın DATA1023 olacak ve arandığı katalog altında adı DATA ile başlayan dosya 1 den fazla olmayacak. Bu durumda aranacak dosyanın DATA ile başlayan dosya olması özelliğini makroya verebilmek için kodun nasıl olması gerekir ?
Yardımlarınız için teşekkürler...
Aradığınız dosyaları aşağıdaki gibi sorgulayabilirsiniz.Konuya pat diye daldım ama bu konuya çok benzeyen ve hep benim kafamı kurcalayan bir sorum var.
Sub KOPYA ()
ADRES = "TEXT;C:\Documents and Settings\cati\Desktop\DATA1022.txt"
With ActiveSheet.QueryTables.Add(Connection:= _
ADRES, Destination:=Range("A1"))
.TextFileOtherDelimiter = ";"
.TextFileColumnDataTypes = Array(1, 1, 1, 1, 1, 1, 1, 1)
.Refresh BackgroundQuery:=False
End With
End Sub
makrosunda DATA1022 dosya adı, hergün değişerek gelecek. Yani yarın DATA1023 olacak ve arandığı katalog altında adı DATA ile başlayan dosya 1 den fazla olmayacak. Bu durumda aranacak dosyanın DATA ile başlayan dosya olması özelliğini makroya verebilmek için kodun nasıl olması gerekir ?
Yardımlarınız için teşekkürler...
dosya = "C:\Documents and Settings\cati\Desktop\DATA1022.txt"
If Dir(dosya) = "" Then
MsgBox "DOSYA YOK"
Else
MsgBox "DOSYA VAR"
End If
Aşağıdaki kodu denermisiniz.Sayın Orino2 ilginiz için çok teşekkür ederim. Bu koddan beklentimiz şu : İlgili yolda buluna ve DATA ile başlayan dosyanın devamı ne olursa olsun bu DATA dosyasını açıp kopyalaması. (Yazılı olan zaten ilgili dosyayı aç, kopyala işini görüyor).
Sub KOPYA()
dosya = "C:\Documents and Settings\cati\Desktop\*.txt"
dosyalar = Dir(dosya)
Do While dosyalar <> ""
If Left(dosyalar, 4) = "DATA" Then
ADRES = "TEXT;C:\Documents and Settings\cati\Desktop\" & dosyalar
With ActiveSheet.QueryTables.Add(Connection:= _
ADRES, Destination:=Range("A1"))
.TextFileOtherDelimiter = ";"
.TextFileColumnDataTypes = Array(1, 1, 1, 1, 1, 1, 1, 1)
.Refresh BackgroundQuery:=False
End With
dosyalar = Dir
Exit Sub
End If
Loop
End Sub
Oradaki kodu aşağıdaki şekilde deneyiniz.Orion2 kod, dosyalar Dir(dosya) aşamasında takılıyor.
dosyalar = Dir(dosya)
hallettimyapmak istediğim günlük sayfamdaki verileri bordro sayfasına aktarıyorum şu hali ile çalışıyor
Arşivlemek için taslağa yaz aynı çalışma kitabınının sonuna ggaayy formatında kopyala yapıyorum.
yapmak istediğim ise taslak sayfasını yıl ve ay formatında arşivlemek
yani
Arşivlemek için taslağa yaz aynı çalışma kitabınının bulunduğu klasörün altındaki yy\aa klasöründeki aayyyy çalışma sayfasınınsonuna ggaayy formatında kopyala demek. umarım anlatabildim ilginize şimdiden teşekkür eder saygılar sunarım.
Sub FolderExistsYil()
Dim TargetFolder As String
Dim s1 As Worksheet, s2 As Worksheet, s3 As Worksheet
Set s1 = Sheets("günlük")
Set s2 = Sheets("tsb")
Set s3 = Sheets("devirler")
Set s4 = Sheets("Aylık")
A = WorksheetFunction.Text(s1.Cells(1, 1), "yyyy")
b = WorksheetFunction.Text(s1.Cells(1, 1), "mmyyyy")
Set fs = CreateObject("Scripting.FileSystemObject")
'---------------Yıl
yol = ThisWorkbook.Path & "\" ' mevcut çalışma kitabının olduğu ve alt klasör açılacak yol
TargetFolder = yol & A ' Açılacak klasör adı ile birleşimi
If Not fs.FolderExists(TargetFolder) Then 'KONTROL
ChDir yol: MkDir A: MsgBox A & " Klasörü oluşturuldu.!" 'klasöre git, oluşturma mesajı ver
Else
MsgBox A & " Klasörü var!" 'var mesajı var
End If
'---------------Ay
yol = ThisWorkbook.Path & "\" & A ' mevcut çalışma kitabının olduğu yol
TargetFolder = yol & "\" & b
If Not fs.FolderExists(TargetFolder) Then
ChDir yol
MkDir b
MsgBox b & " Klasörü oluşturuldu.!"
Else
MsgBox b & " Klasörü var!"
End If
End Sub