Experimente o código abaixo.
1. eu perguntei "quais" colunas, no entanto você respondeu "quantas" colunas, então considerei que haverá dados da coluna A até a coluna U; não importa se houver colunas vazias; considerei que a coluna A sempre conterá dados e essa coluna terá a maior quantidade de linhas preenchidas
2. o comando
ActiveWorkbook.SaveAs ... irá salvar cada novo arquivo na mesma pasta em que estiver salvo o arquivo que contiver a macro, altere se desejar; para desativar esse comando basta excluí-lo ou colocar um apóstrofo no início do comando; o nome de cada arquivo será
Desmembrado diamês 001, sendo
diamês o dia e o mês correntes, mais um número sequencial a partir de
001, altere se desejar, no entanto se você for desmembrar mais de um arquivo em bruto (com 200 mil linhas) em um mesmo dia então haverá duplicação de nome de arquivo, e nesse caso você precisa informar um novo critério para nomear os arquivos
3. o comando
ActiveWorkbook.Close irá fechar cada novo arquivo após salvá-lo; para desativar esse comando basta excluí-lo ou colocar um apóstrofo no início do comando
4. se você não quiser salvar e fechar cada arquivo então poderá abrir a caixa de diálogo
Salvar Como, para isto basta remover o apóstrofo inicial desta linha de comando ~~~>
'Application.Dialogs(xlDialogSaveAs).Show
Código: Selecionar todosSub GeraPlanilhas()
Dim k As Long, ws As Worksheet, m As Long
Application.ScreenUpdating = False
With ActiveSheet
For k = 2 To Cells(Rows.Count, 1).End(3).Row Step 4999
Workbooks.Add
Range("A1:U1").Value = .Range("A1:U1").Value
.Cells(k, 1).Resize(4999, 21).Copy [A2]
'Application.Dialogs(xlDialogSaveAs).Show
m = m + 1
ActiveWorkbook.SaveAs ThisWorkbook.Path & "\Desmembrado " & Format(Date, "ddmmm") & " " & Format(m, "000") & ".xlsx"
ActiveWorkbook.Close
Next k
End With
End Sub
Osvaldo
Quatro coisas que odeio: preguiçosos, políticos, Google planilhas e Outlook

Anexe arquivos diretamente no fórum:
+ Resposta / Adicionar um anexo / Selecione o arquivo
CÉLULAS MESCLADAS PODEM AFETAR FÓRMULAS E MACROS.