İyi akşamlar,
Aşağıdaki kod ile C:\Belgeler klasörü içerisindeki dosyaları kopyala-değerleri yapıştır işlemini başarılı bir şekilde gerçekleştiriyor. Bu kodu klasörü seçecek şekilde geliştirebilirmiyiz. Yani yapmak istediğimiz şey, sabit olarak c:\Belgeler klasörü değilde, değerleri yapıştırmak istediğimiz dosyaların bulunduğu klasörü seçmek için seçebileceğimiz bir pencere açılsa. Teşekkür ederim.
KOD:
Option Explicit
Sub FORMÜLLERİ_KOPYALA_DEĞER_OLARAK_YAPIŞTIR()
Dim Dosya As Object, Kaynak_Dosya As Workbook, Sayfa As Worksheet
Application.ScreenUpdating = False
If CreateObject("Scripting.FileSystemObject").GetFolder("C:\Belgeler").Files.Count = 0 Then GoTo Son
For Each Dosya In CreateObject("Scripting.FileSystemObject").GetFolder("C:\Belgeler").Files
Set Kaynak_Dosya = Workbooks.Open(Dosya, False, False)
For Each Sayfa In Kaynak_Dosya.Sheets
Sayfa.Select
Cells.Copy
Range("A1").PasteSpecial Paste:=xlPasteValues
Range("A1").Select
Application.CutCopyMode = False
Next
Kaynak_Dosya.Close True
Next
Application.ScreenUpdating = True
MsgBox "İşleminiz tamamlanmıştır.", vbInformation
Exit Sub
Son:
Application.ScreenUpdating = True
MsgBox "Dosya bulunamamıştır !", vbCritical, "Dikkat !"
End Sub
Aşağıdaki kod ile C:\Belgeler klasörü içerisindeki dosyaları kopyala-değerleri yapıştır işlemini başarılı bir şekilde gerçekleştiriyor. Bu kodu klasörü seçecek şekilde geliştirebilirmiyiz. Yani yapmak istediğimiz şey, sabit olarak c:\Belgeler klasörü değilde, değerleri yapıştırmak istediğimiz dosyaların bulunduğu klasörü seçmek için seçebileceğimiz bir pencere açılsa. Teşekkür ederim.
KOD:
Option Explicit
Sub FORMÜLLERİ_KOPYALA_DEĞER_OLARAK_YAPIŞTIR()
Dim Dosya As Object, Kaynak_Dosya As Workbook, Sayfa As Worksheet
Application.ScreenUpdating = False
If CreateObject("Scripting.FileSystemObject").GetFolder("C:\Belgeler").Files.Count = 0 Then GoTo Son
For Each Dosya In CreateObject("Scripting.FileSystemObject").GetFolder("C:\Belgeler").Files
Set Kaynak_Dosya = Workbooks.Open(Dosya, False, False)
For Each Sayfa In Kaynak_Dosya.Sheets
Sayfa.Select
Cells.Copy
Range("A1").PasteSpecial Paste:=xlPasteValues
Range("A1").Select
Application.CutCopyMode = False
Next
Kaynak_Dosya.Close True
Next
Application.ScreenUpdating = True
MsgBox "İşleminiz tamamlanmıştır.", vbInformation
Exit Sub
Son:
Application.ScreenUpdating = True
MsgBox "Dosya bulunamamıştır !", vbCritical, "Dikkat !"
End Sub
