DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
Altın Üyelik Hakkında Bilgi
Sub SplitDataByRows()
Dim ws As Worksheet
Dim lastRow As Long
Dim batchSize As Long
Dim startRow As Long
Dim endRow As Long
Dim newWs As Worksheet
Dim newWorkbook As Workbook
Dim fileName As String
Dim i As Long
' Veri sayfasını seçin
Set ws = ThisWorkbook.Sheets(1) ' 1. sayfa olarak varsayalım
' Toplam satır sayısını alın
lastRow = ws.Cells(ws.Rows.Count, 1).End(xlUp).Row
' Her dosyada olacak satır sayısı
batchSize = 100000
' Veriyi bölerek yeni dosyalar oluşturun
startRow = 1
Do While startRow <= lastRow
' Bitirilecek satır
endRow = startRow + batchSize - 1
If endRow > lastRow Then endRow = lastRow
' Yeni dosya oluşturun
Set newWorkbook = Workbooks.Add
Set newWs = newWorkbook.Sheets(1)
' Veriyi yeni dosyaya kopyalayın
ws.Rows(startRow & ":" & endRow).Copy Destination:=newWs.Rows(1)
' Yeni dosyaya ad verin ve kaydedin
fileName = "Data_Part_" & startRow & "_to_" & endRow & ".xlsx"
newWorkbook.SaveAs ThisWorkbook.Path & "\" & fileName
' Yeni dosyayı kapatın
newWorkbook.Close False
' Sonraki bölüm için başlangıç satırını ayarlayın
startRow = endRow + 1
Loop
MsgBox "Veri bölme işlemi tamamlandı!", vbInformation
End Sub
Sub SplitDataByRows()
Dim ws As Worksheet
Dim lastRow As Long
Dim batchSize As Long
Dim startRow As Long
Dim endRow As Long
Dim newWs As Worksheet
Dim newWorkbook As Workbook
Dim fileName As String
Dim i As Long
Dim baseFileName As String
' Veri sayfasını seçin
Set ws = ThisWorkbook.Sheets(1) ' 1. sayfa olarak varsayalım
' Mevcut dosyanın adını al (uzantı olmadan)
baseFileName = Left(ThisWorkbook.Name, Len(ThisWorkbook.Name) - 4) ' .xlsm uzantısını çıkar
' Toplam satır sayısını alın
lastRow = ws.Cells(ws.Rows.Count, 1).End(xlUp).Row
' Her dosyada olacak satır sayısı
batchSize = 100000
' Veriyi bölerek yeni dosyalar oluşturun
startRow = 1
Do While startRow <= lastRow
' Bitirilecek satır
endRow = startRow + batchSize - 1
If endRow > lastRow Then endRow = lastRow
' Yeni dosya oluşturun
Set newWorkbook = Workbooks.Add
Set newWs = newWorkbook.Sheets(1)
' Veriyi yeni dosyaya kopyalayın
ws.Rows(startRow & ":" & endRow).Copy Destination:=newWs.Rows(1)
' Yeni dosyaya ad verin ve kaydedin
fileName = baseFileName & "_Part_" & startRow & "_to_" & endRow & ".xlsx"
newWorkbook.SaveAs ThisWorkbook.Path & "\" & fileName
' Yeni dosyayı kapatın
newWorkbook.Close False
' Sonraki bölüm için başlangıç satırını ayarlayın
startRow = endRow + 1
Loop
MsgBox "Veri bölme işlemi tamamlandı!", vbInformation
End Sub