Sure. There are some assumptions I had to make but this should get you close.
I recommend making a short test file and test folder and put it there. Be sure to set the reference as I commented for the clipboard function. Change the value of nSet from 10 to your 7000 in your production version.
Sub RowSetsToTextFiles() Dim rng As Range, r As Range, lRow As Long
Dim sSeparator As String
Dim sEncoding As String
Dim ado As Object
Dim bRow As Integer, sRow As Long, nSet As Integer
Dim nCols As Integer, lv As Long
Dim tFolder As String, s As String
'-------------------------------------------------------------------------------------
'CHANGE THESE PARAMETERS TO SUIT
Set rng = ActiveSheet.UsedRange 'this is the range which will be written to text files less the first row.
sSeparator = "," 'vbTab 'e.g. for pipe seperated value, change this to "|"
sEncoding = "ASCII" 'e.g., ASCII, "UTF-8"
bRow = 2 'beginning row
nSet = 10 'number of rows per set
tFolder = ThisWorkbook.Path & "\" 'Target folder to write text files to.
'-------------------------------------------------------------------------------------
nCols = rng.Columns.Count
Set ado = CreateObject("ADODB.Stream")
For lv = nSet To WorksheetFunction.Floor(rng.Rows.Count / nSet, 1) * nSet Step nSet
With ado
.Type = 2
.Charset = sEncoding
.Open
Set r = Range(Cells(lv - nSet + bRow, 1), Cells(lv + bRow - 1, nCols))
r.Copy
s = Replace(getClipboard(), vbTab, sSeparator)
.WriteText s
.SaveToFile tFolder & lv / nSet & ".txt", 2
.Close
End With
Next lv
' Write the last remaining rows for a partial set to the last text file.
With ado
.Type = 2
.Charset = sEncoding
.Open
Set r = Range(Cells(lv - nSet + bRow, 1), Cells(rng.Rows.Count, nCols))
r.Copy
s = Replace(getClipboard(), vbTab, sSeparator)
.WriteText s
.SaveToFile tFolder & lv / nSet & ".txt", 2
.Close
End With
Set ado = Nothing
End Sub
Function getClipboard()
'Add Reference: 'Reference: Microsoft Forms 2.0 Object Library
Dim MyData As DataObject
On Error Resume Next
Set MyData = New DataObject
MyData.GetFromClipboard
getClipboard = MyData.GetText
End Function