- Katılım
- 30 Mart 2008
- Mesajlar
- 405
- Excel Vers. ve Dili
- 2003 Türkçe
Aynı klasör içerisinde, birden fazla (yaklaşık30) dosyalardaki PRD1 ve PRD2 sayfalarındaki A100:Z113 aralığındaki bilgileri kopyalayıp
DEPO isimli dosyadaki Veri sayfasına alt alta özel yapıştır, değerleri, işlemi tersine çevir şeklinde olmak kaydı ile bir kod'a ihtiyacım var.
Sayın Halit ÖZDEMİR'İN bir çalışmasından esinlenerek yapmaya çalıştığım ancak kodda işlemi tersine çevirme olayını ve dosya içindeki birden fazla sayfadan aldırmayı yapamadım. Vakit ayırıp ilgilenebilecek arkadaşlara teşekkür ederim.
örnek dosya eklenmiştir.
DEPO isimli dosyadaki Veri sayfasına alt alta özel yapıştır, değerleri, işlemi tersine çevir şeklinde olmak kaydı ile bir kod'a ihtiyacım var.
Sayın Halit ÖZDEMİR'İN bir çalışmasından esinlenerek yapmaya çalıştığım ancak kodda işlemi tersine çevirme olayını ve dosya içindeki birden fazla sayfadan aldırmayı yapamadım. Vakit ayırıp ilgilenebilecek arkadaşlara teşekkür ederim.
örnek dosya eklenmiştir.
Kod:
Dim Klasor As Object
Dim Obj As Object
Dim Kaynak As String
Dim sat As String
Sub aktar()
a = MsgBox("DOSYALARINDAN VERİ ALMAK İSTİYORMUSUNUZ.?", vbYesNo)
If a = vbNo Then
Exit Sub
End If
sat = 2
Range(Cells(3, 1), Cells(Rows.Count, Columns.Count)).Value = ""
Liste (ThisWorkbook.Path)
MsgBox "İŞLEM TAMAM"
End Sub
Private Sub Liste(Kalasor As String)
Dim fL As Object, f As Object, Dosya As String, j As Long
Set fL = CreateObject("Scripting.FileSystemObject").getfolder(Kalasor).SubFolders
Dim wb As Workbook
Dosya = Dir(Kalasor & "\*.xls")
'Application.ScreenUpdating = False
While Dosya <> ""
DoEvents
If ThisWorkbook.Name <> Dosya Then
On Error Resume Next
Application.DisplayAlerts = False
deg = "'" & Kalasor & "\" & "[" & Dosya & "]" & "PRD1" & "'!R" '//Veri alınacak dosyalardaki sayfa isimi
For r = 100 To 113
For i = 1 To 30
Cells(sat, i) = ExecuteExcel4Macro(deg & r & "C" & i)
If Cells(sat, i) = 0 Then
Cells(sat, i) = ""
End If
Next i
sat = Cells(Rows.Count, "A").End(3).Row + 1
Next r
End If
Dosya = Dir
Wend
On Error GoTo sonraki
For Each f In fL
Kalasor = f.Path
Liste (f.Path)
sonraki:
Next
Set fL = Nothing
Application.ScreenUpdating = True
End Sub
