baydeniro
Altın Üye
- Katılım
- 26 Ocak 2007
- Mesajlar
- 4,625
- Excel Vers. ve Dili
- Ofis 2016
- Altın Üyelik Bitiş Tarihi
- 20-02-2025
DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
Altın Üyelik Hakkında Bilgi
Sub dosyalara_aktar()
Dim wb As Workbook, i As Long, sonsat As Long, sh As Worksheet, j As Byte, k As Range
Dim sonsat2 As Long, adr As String
sonsat = Cells(Rows.Count, "A").End(xlUp).Row
Application.ScreenUpdating = False
For j = 2 To 5
If Dir(ThisWorkbook.Path & "\" & ThisWorkbook.Sheets("DATA").Cells(j, "N").Value & ".xlsx") = "" Then
Set wb = Workbooks.Add
wb.SaveAs ThisWorkbook.Path & "\" & ThisWorkbook.Sheets("Data").Cells(j, "N").Value & ".xlsx"
wb.Close
End If
Next j
For j = 2 To 5
Workbooks.Open ThisWorkbook.Path & "\" & ThisWorkbook.Sheets("DATA").Cells(j, "N").Value & ".xlsx"
Set wb = ActiveWorkbook
sonsat2 = wb.Sheets("Sayfa1").Cells(Rows.Count, "A").End(xlUp).Row + 1
Set k = ThisWorkbook.Sheets("DATA").Range("A2:A" & sonsat).Find(ThisWorkbook.Sheets("DATA").Cells(j, "N").Value, , xlValues, xlWhole)
If Not k Is Nothing Then
adr = k.Address
Do
wb.Sheets("Sayfa1").Cells(sonsat2, "A").Value = k.Value
wb.Sheets("Sayfa1").Cells(sonsat2, "B").Value = k.Offset(0, 1).Value
Set k = ThisWorkbook.Sheets("DATA").Range("A2:A" & sonsat).FindNext(k)
sonsat2 = sonsat2 + 1
Loop While Not k Is Nothing And k.Address <> adr
End If
sonsat2 = 0
wb.Close True
Next
Application.ScreenUpdating = True
MsgBox "işlem tamamlandı"
End Sub
Orion1 üstadım mükemmel olmuş. Elinize aklınıza sağlık. çok teşekkür ederim, sağlıcakla kalınBuyurun.
Dosyalar dosyanızın bulunduğu klasöre çıkarılıyor.
Kod:Sub dosyalara_aktar() Dim wb As Workbook, i As Long, sonsat As Long, sh As Worksheet, j As Byte, k As Range Dim sonsat2 As Long, adr As String sonsat = Cells(Rows.Count, "A").End(xlUp).Row Application.ScreenUpdating = False For j = 2 To 5 If Dir(ThisWorkbook.Path & "\" & ThisWorkbook.Sheets("DATA").Cells(j, "N").Value & ".xlsx") = "" Then Set wb = Workbooks.Add wb.SaveAs ThisWorkbook.Path & "\" & ThisWorkbook.Sheets("Data").Cells(j, "N").Value & ".xlsx" wb.Close End If Next j For j = 2 To 5 Workbooks.Open ThisWorkbook.Path & "\" & ThisWorkbook.Sheets("DATA").Cells(j, "N").Value & ".xlsx" Set wb = ActiveWorkbook sonsat2 = wb.Sheets("Sayfa1").Cells(Rows.Count, "A").End(xlUp).Row + 1 Set k = ThisWorkbook.Sheets("DATA").Range("A2:A" & sonsat).Find(ThisWorkbook.Sheets("DATA").Cells(j, "N").Value, , xlValues, xlWhole) If Not k Is Nothing Then adr = k.Address Do wb.Sheets("Sayfa1").Cells(sonsat2, "A").Value = k.Value wb.Sheets("Sayfa1").Cells(sonsat2, "B").Value = k.Offset(0, 1).Value Set k = ThisWorkbook.Sheets("DATA").Range("A2:A" & sonsat).FindNext(k) sonsat2 = sonsat2 + 1 Loop While Not k Is Nothing And k.Address <> adr End If sonsat2 = 0 wb.Close True Next Application.ScreenUpdating = True MsgBox "işlem tamamlandı" End Sub
Buyurun.
Dosyalar dosyanızın bulunduğu klasöre çıkarılıyor.
Kod:Sub dosyalara_aktar() Dim wb As Workbook, i As Long, sonsat As Long, sh As Worksheet, j As Byte, k As Range Dim sonsat2 As Long, adr As String sonsat = Cells(Rows.Count, "A").End(xlUp).Row Application.ScreenUpdating = False For j = 2 To 5 If Dir(ThisWorkbook.Path & "\" & ThisWorkbook.Sheets("DATA").Cells(j, "N").Value & ".xlsx") = "" Then Set wb = Workbooks.Add wb.SaveAs ThisWorkbook.Path & "\" & ThisWorkbook.Sheets("Data").Cells(j, "N").Value & ".xlsx" wb.Close End If Next j For j = 2 To 5 Workbooks.Open ThisWorkbook.Path & "\" & ThisWorkbook.Sheets("DATA").Cells(j, "N").Value & ".xlsx" Set wb = ActiveWorkbook sonsat2 = wb.Sheets("Sayfa1").Cells(Rows.Count, "A").End(xlUp).Row + 1 Set k = ThisWorkbook.Sheets("DATA").Range("A2:A" & sonsat).Find(ThisWorkbook.Sheets("DATA").Cells(j, "N").Value, , xlValues, xlWhole) If Not k Is Nothing Then adr = k.Address Do wb.Sheets("Sayfa1").Cells(sonsat2, "A").Value = k.Value wb.Sheets("Sayfa1").Cells(sonsat2, "B").Value = k.Offset(0, 1).Value Set k = ThisWorkbook.Sheets("DATA").Range("A2:A" & sonsat).FindNext(k) sonsat2 = sonsat2 + 1 Loop While Not k Is Nothing And k.Address <> adr End If sonsat2 = 0 wb.Close True Next Application.ScreenUpdating = True MsgBox "işlem tamamlandı" End Sub
Do
wb.Sheets("Sayfa1").Cells(sonsat2, "A").Value = k.Value
wb.Sheets("Sayfa1").Cells(sonsat2, "B").Value = k.Offset(0, 1).Value
wb.Sheets("Sayfa1").Cells(sonsat2, "C").Value = k.Offset(0, 2).Value
Set k = ThisWorkbook.Sheets("DATA").Range("A2:A" & sonsat).FindNext(k)
sonsat2 = sonsat2 + 1
Loop While Not k Is Nothing And k.Address <> adr
Sy. Orion1 ;Hata olmaması lazım.
Dosyanızı yollayın bakayım.
email adresim aşağıdaki imzamdadır.
Sy. Orion1 ;Yolladığınız dosyadaki kodlar bana ait değil.
Kodları yazana yaptırmanız daha doğru olacaktır.
Sy. Orion1 ;Ben kim yaptıysa o daha iyi bilir ne yaptığını demek istemiştim.
Ben size kod yazmıştım ve doğru çalışıyordu.
O dosyada bir şey yapamadım maalesef.Sy. Orion1 ;
size göndermiş olduğum mail' e cevap gelmedi orada düzeltme yapmışmıydınız.
Farklı derken neyi kastettiniz?Sy. Orion1 ;
Size zahmet olmazsa sadece size ait olan kodu düzelte bilir misiniz . Ama sayfa1 de şart aramadan B,C,D,F,G,H,I,J,K,L,M Sütunlarını farklı kayıt etsin.
Sub dosyalara_aktar()
Dim wb As Workbook, i As Long, sonsat As Long, sh As Worksheet, j As Byte, k As Range
Dim sonsat2 As Long, adr As String, ad As String
sonsat = Sheets("Sayfa1").Cells(Rows.Count, "A").End(xlUp).Row
Application.ScreenUpdating = False
ad = Format(Now, "dd_mm_yyyy_hh_mm_ss")
If Dir(ThisWorkbook.Path & "\" & Format(ad, "dd_mm_yyyy_hh_mm_ss") & ".xlsx") = "" Then
Set wb = Workbooks.Add
wb.SaveAs ThisWorkbook.Path & "\" & Format(ad, "dd_mm_yyyy_hh_mm_ss") & ".xlsx"
wb.Close
End If
Workbooks.Open ThisWorkbook.Path & "\" & Format(ad, "dd_mm_yyyy_hh_mm_ss") & ".xlsx"
Set wb = ActiveWorkbook
sonsat2 = wb.Sheets("Sayfa1").Cells(Rows.Count, "A").End(xlUp).Row + 1
ThisWorkbook.Sheets("Sayfa1").Range("A1:D" & sonsat).Copy
wb.Sheets("Sayfa1").Range("B" & sonsat2).PasteSpecial
ThisWorkbook.Sheets("Sayfa1").Range("F1:F" & sonsat).Copy
wb.Sheets("Sayfa1").Range("E" & sonsat2).PasteSpecial
ThisWorkbook.Sheets("Sayfa1").Range("B1:F" & sonsat).Copy
wb.Sheets("Sayfa1").Range("F" & sonsat2).PasteSpecial
ThisWorkbook.Sheets("Sayfa1").Range("B1:C" & sonsat).Copy
wb.Sheets("Sayfa1").Range("L" & sonsat2).PasteSpecial
Application.CutCopyMode = False
sonsat2 = sonsat2 + 1
sonsat2 = 0
wb.Close True
Application.ScreenUpdating = True
MsgBox "işlem tamamlandı"
End Sub
Buyurun.
Kod:Sub dosyalara_aktar() Dim wb As Workbook, i As Long, sonsat As Long, sh As Worksheet, j As Byte, k As Range Dim sonsat2 As Long, adr As String, ad As String sonsat = Sheets("Sayfa1").Cells(Rows.Count, "A").End(xlUp).Row Application.ScreenUpdating = False ad = Format(Now, "dd_mm_yyyy_hh_mm_ss") If Dir(ThisWorkbook.Path & "\" & Format(ad, "dd_mm_yyyy_hh_mm_ss") & ".xlsx") = "" Then Set wb = Workbooks.Add wb.SaveAs ThisWorkbook.Path & "\" & Format(ad, "dd_mm_yyyy_hh_mm_ss") & ".xlsx" wb.Close End If Workbooks.Open ThisWorkbook.Path & "\" & Format(ad, "dd_mm_yyyy_hh_mm_ss") & ".xlsx" Set wb = ActiveWorkbook sonsat2 = wb.Sheets("Sayfa1").Cells(Rows.Count, "A").End(xlUp).Row + 1 ThisWorkbook.Sheets("Sayfa1").Range("A1:D" & sonsat).Copy wb.Sheets("Sayfa1").Range("B" & sonsat2).PasteSpecial ThisWorkbook.Sheets("Sayfa1").Range("F1:F" & sonsat).Copy wb.Sheets("Sayfa1").Range("E" & sonsat2).PasteSpecial ThisWorkbook.Sheets("Sayfa1").Range("B1:F" & sonsat).Copy wb.Sheets("Sayfa1").Range("F" & sonsat2).PasteSpecial ThisWorkbook.Sheets("Sayfa1").Range("B1:C" & sonsat).Copy wb.Sheets("Sayfa1").Range("L" & sonsat2).PasteSpecial Application.CutCopyMode = False sonsat2 = sonsat2 + 1 sonsat2 = 0 wb.Close True Application.ScreenUpdating = True MsgBox "işlem tamamlandı" End Sub